Skip to content

Commit e21075e

Browse files
committed
Added jupyter notebook versions of tutorials, created sinex tutorials
1 parent a5aea74 commit e21075e

22 files changed

+2464
-46
lines changed

docs/tutorials/STR1AUSPOS.SNX

Lines changed: 650 additions & 0 deletions
Large diffs are not rendered by default.

docs/tutorials/STR1AUSPOS_new.SNX

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
['*-------------------------------------------------------------------------------', '+FILE/REFERENCE', '*INFO_TYPE_________ INFO________________________________________________________', ' DESCRIPTION My agency/institute', ' OUTPUT One-session solution generated by RNX2SNX BPE', ' CONTACT My e-mail address', ' SOFTWARE Bernese GNSS Software Version 5.2', ' HARDWARE My computer', ' INPUT IGS/IGLOS GNSS tracking data', '-FILE/REFERENCE', '*-------------------------------------------------------------------------------', '+INPUT/ACKNOWLEDGMENTS', '*AGY DESCRIPTION________________________________________________________________', ' XYZ My agency/institute and its address', ' IGS International GNSS Service', '-INPUT/ACKNOWLEDGMENTS', '*-------------------------------------------------------------------------------', '+SOLUTION/STATISTICS', '*_STATISTICAL PARAMETER________ __VALUE(S)____________', ' NUMBER OF OBSERVATIONS 54963', ' NUMBER OF UNKNOWNS 460', ' NUMBER OF DEGREES OF FREEDOM 54503', ' PHASE MEASUREMENTS SIGMA 0.00100', ' SAMPLING INTERVAL (SECONDS) 180', ' VARIANCE FACTOR 2.542769992487420', '-SOLUTION/STATISTICS', '*-------------------------------------------------------------------------------']*-------------------------------------------------------------------------------
2+
+SITE/ID
3+
*CODE PT __DOMES__ T _STATION DESCRIPTION__ APPROX_LON_ APPROX_LAT_ _APP_H_
4+
ALIC A 50137M001 P ALIC 50137M001 133 53 7.9 -23 40 12.4 603.2
5+
BRDW A AUM000200 P BRDW AUM000200 149 47 6.7 -35 26 47.3 679.5
6+
CEDU A 50138M001 P CEDU 50138M001 133 48 35.4 -31 51 60.0 144.7
7+
CNWD A AUM000464 P CNWD AUM000464 149 1 58.0 -35 12 23.0 593.5
8+
GNGN A AUM000415 P GNGN AUM000415 149 7 49.9 -35 11 5.8 645.1
9+
HOB2 A 50116M004 P HOB2 50116M004 147 26 19.5 -42 48 16.9 41.0
10+
MCHL A 59905M001 P MCHL 59905M001 148 8 41.9 -26 21 32.0 534.6
11+
MOBS A 50182M001 P MOBS 50182M001 144 58 31.2 -37 49 45.8 40.6
12+
PRCE A AUM000318 P PRCE AUM000318 149 5 20.4 -35 21 48.8 639.7
13+
STR1 A 50119M002 P STR1 50119M002 149 0 36.2 -35 18 55.9 799.9
14+
STR2 A 50119M001 P STR2 50119M001 149 0 36.6 -35 18 58.1 802.5
15+
SYM1 A 59899M001 P SYM1 59899M001 149 9 39.8 -35 20 33.0 592.2
16+
TID1 A 50103M108 P TID1 50103M108 148 58 48.0 -35 23 57.1 665.3
17+
TOW2 A 50140M001 P TOW2 50140M001 147 3 20.5 -19 16 9.4 88.1
18+
WLMD A AUM000483 P WLMD AUM000483 149 8 15.8 -35 35 40.3 850.2
19+
-SITE/ID
20+
*-------------------------------------------------------------------------------
21+
+SOLUTION/EPOCHS
22+
*CODE PT SOLN T _DATA_START_ __DATA_END__ _MEAN_EPOCH_
23+
ALIC A 1 P 25:333:00000 25:333:86370 25:333:43185
24+
BRDW A 1 P 25:333:00000 25:333:86370 25:333:43185
25+
CEDU A 1 P 25:333:00000 25:333:86370 25:333:43185
26+
CNWD A 1 P 25:333:00000 25:333:86370 25:333:43185
27+
GNGN A 1 P 25:333:00000 25:333:86370 25:333:43185
28+
HOB2 A 1 P 25:333:00000 25:333:86370 25:333:43185
29+
MCHL A 1 P 25:333:00000 25:333:86370 25:333:43185
30+
MOBS A 1 P 25:333:00000 25:333:86370 25:333:43185
31+
PRCE A 1 P 25:333:00000 25:333:86370 25:333:43185
32+
STR1 A 1 P 25:333:00000 25:333:86370 25:333:43185
33+
STR2 A 1 P 25:333:00000 25:333:86370 25:333:43185
34+
SYM1 A 1 P 25:333:00000 25:333:86370 25:333:43185
35+
TID1 A 1 P 25:333:00000 25:333:86370 25:333:43185
36+
TOW2 A 1 P 25:333:00000 25:333:86370 25:333:43185
37+
WLMD A 1 P 25:333:00000 25:333:86370 25:333:43185
38+
-SOLUTION/EPOCHS
39+
*-------------------------------------------------------------------------------
40+
%ENDSNX

docs/tutorials/coordtut.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ GeodePy has 3 coordinate classes that can be used to store coordinates and conve
77

88
The three different classes are:
99

10-
- :ref:`CoordCart - Cartesian Coordinates <tut/cart>`
11-
- :ref:`CoordGeo - Geographic Coordinates <tut/geo>`
12-
- :ref:`CoordTM - Transverse Mercator Coordinates <tut/tm>`
10+
- :ref:`CoordCart - Cartesian Coordinates (x, y, z) <tut/cart>`
11+
- :ref:`CoordGeo - Geographic Coordinates (lat, long, H) <tut/geo>`
12+
- :ref:`CoordTM - Transverse Mercator Coordinates (e, n, H) <tut/tm>`
13+
14+
To learn more about these corrdinate types refer to the `GDA2020 technical manual <https://www.anzlic.gov.au/sites/default/files/files/GDA2020%20Technical%20Manual%20V1.8_published.pdf>`_.
1315

1416
Classes
1517
--------

docs/tutorials/edmcorrectiontut.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ This gives a more accurate result but requires the co2 ppm and the wavelength.
8383
>>0.0020756
8484
>>145.2670756
8585
86-
Now the horizontal distacne can be found. The first correctedditance will be used for this.
86+
Now the horizontal distance can be found using the zenith angle and corrected distance.
8787

8888
.. code:: python
8989

docs/tutorials/errortut.rst

Lines changed: 0 additions & 4 deletions
This file was deleted.

docs/tutorials/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ Tutorials
1010
coordtut
1111
vincentytut
1212
edmcorrectiontut
13-
errortut
1413
sinextut
1514
transformtut
1615
timedeptranstut
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# Angle Classes and Conversions"
8+
]
9+
},
10+
{
11+
"cell_type": "markdown",
12+
"metadata": {},
13+
"source": [
14+
"GeodePy has five main angle classes to represent angles in different formats. We will explore them here along with conversions between types.\n",
15+
"\n",
16+
"**Classes:**\n",
17+
"- Degrees, Minutes and Seconds (**DMS**)\n",
18+
"- Degrees and Decimal Minutes (**DDM**)\n",
19+
"- Decimal Degrees (**DEC**)\n",
20+
"- HP notation (**HPA**)\n",
21+
"- Gradians (**GON**)"
22+
]
23+
},
24+
{
25+
"cell_type": "markdown",
26+
"metadata": {},
27+
"source": [
28+
"## Degrees, Minutes and Seconds (DMS)\n",
29+
"Angles expressed in degrees, minutes, and seconds.\n",
30+
"\n",
31+
"- **Format:** `ddd° mm' ss.s\"`\n",
32+
"- **Conversion:** 1° = 60′, 1′ = 60\"\n",
33+
"- **Example:** `123° 34' 56.2\"`\n"
34+
]
35+
},
36+
{
37+
"cell_type": "code",
38+
"execution_count": null,
39+
"metadata": {},
40+
"outputs": [],
41+
"source": [
42+
"# To initialise a DMS angle:\n",
43+
"import geodepy.angles as angles\n",
44+
"angle1 = angles.DMSAngle(30, 5, 42)\n",
45+
"print(angle1) # Expected: 30 5 42"
46+
]
47+
},
48+
{
49+
"cell_type": "markdown",
50+
"metadata": {},
51+
"source": [
52+
"## Degrees and Decimal Minutes (DDM)\n",
53+
"Angles expressed in degrees and minutes, with minutes shown as a decimal fraction.\n",
54+
"\n",
55+
"- **Format:** `ddd° mm.mm'`\n",
56+
"- **Example:** `123° 34.933'`\n"
57+
]
58+
},
59+
{
60+
"cell_type": "code",
61+
"execution_count": null,
62+
"metadata": {},
63+
"outputs": [],
64+
"source": [
65+
"# Initialise a DDM angle:\n",
66+
"import geodepy.angles as angles\n",
67+
"angle_ddm = angles.DDMAngle(40, 10.52)\n",
68+
"print(angle_ddm)"
69+
]
70+
},
71+
{
72+
"cell_type": "markdown",
73+
"metadata": {},
74+
"source": [
75+
"## Decimal Degrees (DEC)\n",
76+
"Angles expressed entirely in decimal degrees.\n",
77+
"\n",
78+
"- **Format:** `ddd.ddd°`\n",
79+
"- **Example:** `123.5823°`\n"
80+
]
81+
},
82+
{
83+
"cell_type": "code",
84+
"execution_count": null,
85+
"metadata": {},
86+
"outputs": [],
87+
"source": [
88+
"# Initialise a DEC angle:\n",
89+
"import geodepy.angles as angles\n",
90+
"angle_dec = angles.DECAngle(30.095)\n",
91+
"print(angle_dec)"
92+
]
93+
},
94+
{
95+
"cell_type": "markdown",
96+
"metadata": {},
97+
"source": [
98+
"## HP Notation (HPA)\n",
99+
"Hemispheric Positive notation expresses latitude/longitude as positive values with hemisphere indicators.\n",
100+
"\n",
101+
"- **Format:** `ddd.mmssss`\n",
102+
"- **Example:** `123.231524°`\n"
103+
]
104+
},
105+
{
106+
"cell_type": "code",
107+
"execution_count": null,
108+
"metadata": {},
109+
"outputs": [],
110+
"source": [
111+
"# Initialise an HPA angle:\n",
112+
"import geodepy.angles as angles\n",
113+
"angle_hpa = angles.HPAngle(30.0542)\n",
114+
"print(angle_hpa)"
115+
]
116+
},
117+
{
118+
"cell_type": "markdown",
119+
"metadata": {},
120+
"source": [
121+
"## Gradians (GON)\n",
122+
"A metric-based angle unit where a full circle equals 400 gradians.\n",
123+
"\n",
124+
"- **Format:** `ggg.ggg`\n",
125+
"- **Conversion:** 1 grad = 0.9°\n",
126+
"- **Example:** `137.5`\n"
127+
]
128+
},
129+
{
130+
"cell_type": "code",
131+
"execution_count": null,
132+
"metadata": {},
133+
"outputs": [],
134+
"source": [
135+
"# Initialise a GON angle:\n",
136+
"import geodepy.angles as angles\n",
137+
"angle_gon = angles.GONAngle(33.4388888889)\n",
138+
"print(angle_gon)"
139+
]
140+
},
141+
{
142+
"cell_type": "markdown",
143+
"metadata": {},
144+
"source": [
145+
"## Using Angle Classes\n",
146+
"Angle classes can be used in a few different ways. In the example below the class is used to access individual components and perform conversions."
147+
]
148+
},
149+
{
150+
"cell_type": "code",
151+
"execution_count": null,
152+
"metadata": {},
153+
"outputs": [],
154+
"source": [
155+
"import geodepy.angles as angles\n",
156+
"angle1 = angles.DMSAngle(30, 5, 42)\n",
157+
"print('DMS:', angle1)\n",
158+
"print('degree:', angle1.degree)\n",
159+
"print('minute:', angle1.minute)\n",
160+
"print('second:', angle1.second)\n",
161+
"\n",
162+
"# Conversions\n",
163+
"print('DDM:', angle1.ddm())\n",
164+
"print('DEC:', angle1.dec())\n",
165+
"print('GON:', angle1.gona())\n",
166+
"print('HPA:', angle1.hpa())\n",
167+
"print('RAD:', angle1.rad())"
168+
]
169+
},
170+
{
171+
"cell_type": "markdown",
172+
"metadata": {},
173+
"source": [
174+
"## Arithmetic with Angle Classes\n",
175+
"You can add/subtract/multiply/divide angle objects. The result takes the class of the **left operand**."
176+
]
177+
},
178+
{
179+
"cell_type": "code",
180+
"execution_count": null,
181+
"metadata": {},
182+
"outputs": [],
183+
"source": [
184+
"angle2 = angles.DDMAngle(40, 10.52)\n",
185+
"angle3 = angle1 + angle2\n",
186+
"angle4 = angle2 - angle1\n",
187+
"print('angle3:', angle3, type(angle3))\n",
188+
"print('angle4:', angle4, type(angle4))"
189+
]
190+
},
191+
{
192+
"cell_type": "markdown",
193+
"metadata": {},
194+
"source": [
195+
"### Supported operations\n",
196+
"- Addition: `+`\n",
197+
"- Subtraction: `-`\n",
198+
"- Multiplication: `*`\n",
199+
"- Division: `/`\n",
200+
"- Equality: `==`\n",
201+
"- Not equal: `!=`\n",
202+
"- Less than: `<`\n",
203+
"- Greater than: `>`\n",
204+
"- Modulo: `%`\n",
205+
"- Round: `round()`\n",
206+
"\n",
207+
"> **Note:** Basic arithmetic should not be performed on HPA angles. Convert to decimal degrees first."
208+
]
209+
}
210+
],
211+
"metadata": {
212+
"kernelspec": {
213+
"display_name": "Python 3",
214+
"language": "python",
215+
"name": "python3"
216+
},
217+
"language_info": {
218+
"codemirror_mode": {
219+
"name": "ipython",
220+
"version": 3
221+
},
222+
"file_extension": ".py",
223+
"mimetype": "text/x-python",
224+
"name": "python",
225+
"nbconvert_exporter": "python",
226+
"pygments_lexer": "ipython3",
227+
"version": "3.12.3"
228+
}
229+
},
230+
"nbformat": 4,
231+
"nbformat_minor": 5
232+
}

0 commit comments

Comments
 (0)