@@ -9,25 +9,31 @@ gnss_lib_py
9
9
` gnss_lib_py ` is a modular Python tool for parsing, analyzing, and
10
10
visualizing Global Navigation Satellite Systems (GNSS) data and state
11
11
estimates.
12
- It also provides an intuitive and modular framework allowing users to
12
+ It also provides an intuitive and modular framework which allows users to
13
13
quickly prototype, implement, and visualize GNSS algorithms.
14
14
` gnss_lib_py ` is modular in the sense that multiple types of
15
- algorithms can be easily exchanged for each other and extendable in
16
- facilitating user-specific extensions of existing implementations.
15
+ algorithms or datasets can be easily exchanged for each other.
16
+ It is extendable in facilitating user-specific extensions of existing
17
+ implementations.
17
18
18
- <img src =" https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/main/docs/source/img/skyplot.png " alt =" satellite skyplot " width =" 600 " />
19
+ <img src =" https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/main/docs/source/img/glp_architecture.svg " alt =" Architecture of gnss-lib-py library " width =" 800 " />
19
20
20
21
` gnss_lib_py ` contains parsers for common file types used for
21
22
storing GNSS measurements, benchmark algorithms for processing
22
23
measurements into state estimates and visualization tools for measurements
23
24
and state estimates.
24
25
The modularity of ` gnss_lib_py ` is made possibly by the unifying
25
- ` NavData ` class, which contains methods to add, remove and modify
26
- numeric and string data consistently.
27
- We provide standard row names for ` NavData ` elements on the
26
+ ` NavData ` class, with accompanying standard nomenclature, which can be
27
+ found in the
28
28
[ reference page] ( https://gnss-lib-py.readthedocs.io/en/latest/reference/reference.html ) .
29
- These names ensure cross compatibility between different datasets and
30
- algorithms.
29
+ The standard nomenclature ensures cross compatibility between different
30
+ datasets and algorithms.
31
+
32
+ ` NavData ` combines the readability of ` pandas.DataFrame ` with ` numpy.ndarray `
33
+ allowing for easy and fast access of numbers or strings.
34
+ We also provide functionality to add, remove and modify numeric and
35
+ string data consistently along with commonly needed supporting
36
+ functionality.
31
37
32
38
Documentation
33
39
-------------
@@ -51,7 +57,7 @@ Code Organization
51
57
├── parsers/ # Data parsers
52
58
├── utils/ # GNSS and common utilities
53
59
├── visualizations/ # plotting functions
54
- └── __init__.py
60
+ └── __init__.py # Initialize gnss_lib_py
55
61
├── notebooks/ # Interactive Jupyter notebooks
56
62
├── tutorials/ # Notebooks with tutorial code
57
63
├── results/ # Location for result images/files
@@ -61,7 +67,7 @@ Code Organization
61
67
├── parsers/ # Tests for files in parsers
62
68
├── utils/ # Tests for files in utils
63
69
├── visualizations/ # Tests for files in visualizations
64
- └── test_gnss_lib_py .py # High level checks for repository
70
+ └── conftest .py # Common methods for tests
65
71
├── CONTRIBUTORS.md # List of contributors
66
72
├── build_docs.sh # Bash script to build docs
67
73
├── poetry.lock # Poetry specific Lock file
@@ -70,14 +76,19 @@ Code Organization
70
76
```
71
77
In the directory organization above:
72
78
73
- * The ` algorithms ` directory contains localization algorithms that
79
+ * The ` algorithms ` directory contains algorithms that
74
80
work by passing in a ` NavData ` class. Currently, the following
75
81
algorithms are implemented in the ` algorithms ` :
76
82
77
83
* Weighted Least Squares
78
84
* Extended Kalman Filter
79
85
* Calculating pseudorange residuals
80
86
* Fault detection and exclusion
87
+
88
+ * The ` navdata ` directory defines the ` NavData ` class, its methods, and
89
+ functions that operate on ` NavData ` instances, like ` sort ` , ` concat ` ,
90
+ and others.
91
+
81
92
* The data parsers in the ` parsers ` directory allow for either loading
82
93
GNSS data into ` gnss_lib_py ` 's unifying ` NavData ` class or parsing
83
94
precise ephemerides data.
@@ -96,6 +107,10 @@ In the directory organization above:
96
107
visualizations, calculating multi-GNSS satellite PVT information,
97
108
satellite simulation, file operations, etc.
98
109
110
+ * The ` visualizations ` directory contains methods for plotting quantities
111
+ in ` NavData ` . It includes methods to plot metrics, positions on maps,
112
+ and skyplots of satellites visible from the receiver position.
113
+
99
114
Installation
100
115
------------
101
116
0 commit comments