Skip to content

Commit fc7e32f

Browse files
committed
android tutorial
1 parent db79072 commit fc7e32f

4 files changed

Lines changed: 187 additions & 0 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ results/*
2525
!data/unit_test/google_decimeter_2023/2023-09-07-18-59-us-ca/pixel7pro/device_gnss.csv
2626
!data/unit_test/google_decimeter_2023/2023-09-07-18-59-us-ca/pixel7pro/ground_truth.csv
2727

28+
# ignore txt files in notebook tutorials
29+
notebooks/tutorials/*.txt
30+
2831
# Ignore downloaded precise ephimerides files by default
2932
*.sp3
3033
*.SP3

docs/source/tutorials/tutorials.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ a new parser if necessary.
3131
.. toctree::
3232
:maxdepth: 1
3333

34+
tutorials_android_notebook
3435
tutorials_parsers_notebook
3536

3637
Algorithm Tutorials
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"path": "../../../notebooks/tutorials/android.ipynb"
3+
}

notebooks/tutorials/android.ipynb

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "61a6fa8a-1182-4f5f-91b1-f6722ec4c426",
6+
"metadata": {},
7+
"source": [
8+
"# GnssLogger Android App"
9+
]
10+
},
11+
{
12+
"cell_type": "markdown",
13+
"id": "7954f8b9-22f3-44ba-bf04-8dfedb40250b",
14+
"metadata": {},
15+
"source": [
16+
"This tutorial walks through how to parse the files obtained from [Google's GNSSLogger Android App](https://play.google.com/store/apps/details?id=com.google.android.apps.location.gps.gnsslogger&pcampaignid=web_share)."
17+
]
18+
},
19+
{
20+
"cell_type": "markdown",
21+
"id": "2f86b121-14d4-479a-bf94-d6a79fe9cd7c",
22+
"metadata": {},
23+
"source": [
24+
"Load `gnss_lib_py` into the Python workspace"
25+
]
26+
},
27+
{
28+
"cell_type": "code",
29+
"execution_count": null,
30+
"id": "0e012295-6e36-4c5a-8375-67c61e8f7688",
31+
"metadata": {},
32+
"outputs": [],
33+
"source": [
34+
"import gnss_lib_py as glp"
35+
]
36+
},
37+
{
38+
"cell_type": "markdown",
39+
"id": "76ed5864-6e06-4c74-bb04-da2f8cd5ed3f",
40+
"metadata": {},
41+
"source": [
42+
"## Fix Measurements from gnss_log*.txt"
43+
]
44+
},
45+
{
46+
"cell_type": "markdown",
47+
"id": "fe35ffb0-a43e-4419-aa36-6d91123911b6",
48+
"metadata": {},
49+
"source": [
50+
"Explain the three types of measurements."
51+
]
52+
},
53+
{
54+
"cell_type": "markdown",
55+
"id": "92644095-2f36-4fbf-af07-b9e1b95ae32c",
56+
"metadata": {},
57+
"source": [
58+
"Download example measurement file from the GNSSLogger Android App."
59+
]
60+
},
61+
{
62+
"cell_type": "code",
63+
"execution_count": null,
64+
"id": "382fab9f-16b9-4943-a243-52b580cf9ae8",
65+
"metadata": {},
66+
"outputs": [],
67+
"source": [
68+
"!wget https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/derek/android_raw/data/unit_test/android/measurements/pixel6.txt --quiet -O \"gnss_log.txt\""
69+
]
70+
},
71+
{
72+
"cell_type": "markdown",
73+
"id": "c22ee775-9edf-454c-ac73-11030af8404a",
74+
"metadata": {},
75+
"source": [
76+
"Load fix data into the existing `glp.AndroidRawFixes` class."
77+
]
78+
},
79+
{
80+
"cell_type": "code",
81+
"execution_count": null,
82+
"id": "d53e6149-124e-4333-9a99-e8a6e8802d92",
83+
"metadata": {},
84+
"outputs": [],
85+
"source": [
86+
"fix_data = glp.AndroidRawFixes(\"gnss_log.txt\")"
87+
]
88+
},
89+
{
90+
"cell_type": "code",
91+
"execution_count": null,
92+
"id": "5ebd2026-1dbf-4250-947e-3af324bc59ee",
93+
"metadata": {},
94+
"outputs": [],
95+
"source": [
96+
"fix_data.shape"
97+
]
98+
},
99+
{
100+
"cell_type": "markdown",
101+
"id": "3433bf17-b0cb-4d14-9c41-66334645205f",
102+
"metadata": {},
103+
"source": [
104+
"## Raw Measurements from gnss_log*.txt"
105+
]
106+
},
107+
{
108+
"cell_type": "markdown",
109+
"id": "7add0b60-fbbf-4510-9d32-87993e4f9e35",
110+
"metadata": {},
111+
"source": [
112+
"Download example measurement file from the GNSSLogger Android App."
113+
]
114+
},
115+
{
116+
"cell_type": "code",
117+
"execution_count": null,
118+
"id": "7814ff2f-e21b-4065-a03d-35323a8e4074",
119+
"metadata": {},
120+
"outputs": [],
121+
"source": [
122+
"# load Android Google Challenge data\n",
123+
"raw_data = glp.AndroidRawGnss(\"gnss_log.txt\")"
124+
]
125+
},
126+
{
127+
"cell_type": "markdown",
128+
"id": "e8d89a65-e239-4dac-893a-189c3a6b4f7c",
129+
"metadata": {},
130+
"source": [
131+
"## NMEA from gnss_log*.nmea"
132+
]
133+
},
134+
{
135+
"cell_type": "markdown",
136+
"id": "8a5be50c-9a29-4327-aa92-51e56f05474c",
137+
"metadata": {},
138+
"source": [
139+
"This is section about the application"
140+
]
141+
},
142+
{
143+
"cell_type": "markdown",
144+
"id": "1702933f-2fc5-433b-8e97-7d3b5093f004",
145+
"metadata": {},
146+
"source": [
147+
"## Rinex Observations"
148+
]
149+
},
150+
{
151+
"cell_type": "markdown",
152+
"id": "9ad404b8-388c-46a2-a00a-bcb764ab8994",
153+
"metadata": {},
154+
"source": [
155+
"This is section about the application"
156+
]
157+
}
158+
],
159+
"metadata": {
160+
"kernelspec": {
161+
"display_name": "Python 3 (ipykernel)",
162+
"language": "python",
163+
"name": "python3"
164+
},
165+
"language_info": {
166+
"codemirror_mode": {
167+
"name": "ipython",
168+
"version": 3
169+
},
170+
"file_extension": ".py",
171+
"mimetype": "text/x-python",
172+
"name": "python",
173+
"nbconvert_exporter": "python",
174+
"pygments_lexer": "ipython3",
175+
"version": "3.8.9"
176+
}
177+
},
178+
"nbformat": 4,
179+
"nbformat_minor": 5
180+
}

0 commit comments

Comments
 (0)