Czytam plik danych obserwacji [RINEX-3.02] (strona 60), aby wykonać filtrowanie identyfikatorów satelitarnych według czasu i ostatecznie zrekonstruuję je. To dałoby mi większą kontrolę nad doborem satelitów, które pozwolą mi wnieść wkład w rozwiązanie pozycji w czasie z przetwarzaniem końcowym RTK.Czytanie danych GPS RINEX z Pandami
specjalnie dla tej części chociaż, po prostu na podstawie:
- [pyton-3.3]
- [pandy]
- [numpy]
Oto przykład z pierwsze trzy znaczące obserwacje.
Uwaga: Nie ma potrzeby analizowania danych z nagłówka.
3.02 OBSERVATION DATA M: Mixed RINEX VERSION/TYPE
CONVBIN 2.4.2 20130731 223656 UTC PGM/RUN BY/DATE
log: /home/ruffin/Documents/Data/in/FlagStaff_center/FlagStaCOMMENT
format: u-blox COMMENT
MARKER NAME
MARKER NUMBER
MARKER TYPE
OBSERVER/AGENCY
REC#/TYPE/VERS
ANT #/TYPE
808673.9171 -4086658.5368 4115497.9775 APPROX POSITION XYZ
0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N
G 4 C1C L1C D1C S1C SYS/#/OBS TYPES
R 4 C1C L1C D1C S1C SYS/#/OBS TYPES
S 4 C1C L1C D1C S1C SYS/#/OBS TYPES
2013 7 28 0 27 28.8000000 GPS TIME OF FIRST OBS
2013 7 28 0 43 43.4010000 GPS TIME OF LAST OBS
G SYS/PHASE SHIFT
R SYS/PHASE SHIFT
S SYS/PHASE SHIFT
0 GLONASS SLOT/FRQ #
C1C 0.000 C1P 0.000 C2C 0.000 C2P 0.000 GLONASS COD/PHS/BIS
END OF HEADER
> 2013 7 28 0 27 28.8000000 0 10
G10 20230413.601 76808.847 -1340.996 44.000
G 4 20838211.591 171263.904 -2966.336 41.000
G12 21468211.719 105537.443 -1832.417 43.000
S38 38213212.070 69599.2942 -1212.899 45.000
G 5 22123924.655 -106102.481 1822.942 46.000
G25 23134484.916 -38928.221 656.698 40.000
G17 23229864.981 232399.788 -4048.368 41.000
G13 23968536.158 6424.1143 -123.907 28.000
G23 24779333.279 103307.5703 -1805.165 29.000
S35 39723655.125 69125.5242 -1209.970 44.000
> 2013 7 28 0 27 29.0000000 0 10
G10 20230464.937 77077.031 -1341.254 44.000
G 2 20684692.905 35114.399 -598.536 44.000
G12 21468280.880 105903.885 -1832.592 43.000
S38 38213258.255 69841.8772 -1212.593 45.000
G 5 22123855.354 -106467.087 1823.084 46.000
G25 23134460.075 -39059.618 657.331 40.000
G17 23230018.654 233209.408 -4048.572 41.000
G13 23968535.044 6449.0633 -123.060 28.000
G23 24779402.809 103668.5933 -1804.973 29.000
S35 39723700.845 69367.3942 -1208.954 44.000
> 2013 7 28 0 27 29.2000000 0 9
G10 20230515.955 77345.295 -1341.436 44.000
G12 21468350.548 106270.372 -1832.637 43.000
S38 38213304.199 70084.4922 -1212.840 45.000
G 5 22123786.091 -106831.642 1822.784 46.000
G25 23134435.278 -39190.987 657.344 40.000
G17 23230172.406 234019.092 -4048.079 41.000
G13 23968534.775 6473.9923 -125.373 28.000
G23 24779471.004 104029.6643 -1805.983 29.000
S35 39723747.025 69609.2902 -1209.259 44.000
Jeśli muszę dokonać niestandardowego parsera,
Druga trudna rzeczą jest identyfikatory satelitarne przychodzą i odchodzą z biegiem czasu,
(jak pokazano z satelitów „G 2” i „G 4”)
(plus mają również spacje w identyfikatorach)
Czytając je w DataFrame,
muszę utworzyć nowe etykiety kolumn (lub etykiety wierszy dla MultiIndex?), Gdy je znajduję.
I początkowo myślałem, że to może być uznane za problem MultiIndex,
ale nie jestem tego taki pewien pandy read_csv może zrobić wszystko
Jump to Reading DataFrame objects with MultiIndex
sugestie?
odpowiednich źródeł przypadku zainteresowania:
- [pyton, 3,3]: http://www.python.org/download/releases/3.3.0/
- [numpy] http://www.numpy.org/
- [pandy] http://pandas.pydata.org/
- [RINEX-3,02]: http://igscb.jpl.nasa.gov/igscb/data/format/rinex302.pdf
- [ephem]: https://pypi.python.org/pypi/ephem/
- [RTKLIB]: http://www.rtklib.com/
- [NOAA CORS]: http://geodesy.noaa.gov/CORS/
można dodać kilka linii danych fikcyjnych, trudnych do przypuszczenia bez. :) –
Niestety, wystąpił błąd w formatowaniu i musiałem kontynuować publikowanie, aby debugować format. – ruffsl