Sto leggendo un file di dati di osservazione [RINEX-3.02] (pagina 60) per eseguire il filtraggio di ID satellitare a tempo e alla fine lo ricostruirò. Ciò mi darebbe un maggiore controllo sulla selezione dei satelliti che consentirò di contribuire a una soluzione di posizione nel tempo con la post-elaborazione di RTK.Lettura dati GPS RINEX con Pandas
In particolare per questa parte, però, sto solo usando:
- [python-3.3]
- [panda]
- [NumPy]
Ecco un campione con le prime tre osservazioni timbriche.
Nota: non è necessario per me analizzare i dati dall'intestazione.
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
Se devo fare un parser personalizzato,
L'altra cosa difficile è IDs satellitari vanno e vengono nel corso del tempo,
(come mostrato con i satelliti "G 2" e "G 4")
(in più hanno anche gli spazi negli ID)
Così come li ho letti in un DataFrame,
Ho bisogno di creare nuove etichette di colonna (o etichette di riga per MultiIndex?) Come le trovo.
Inizialmente ero pensando che questo potrebbe essere considerato un problema MultiIndex,
ma io non sono così sicuro panda read_csv potrebbe fare tutto
Jump to Reading DataFrame objects with MultiIndex
Qualche suggerimento?
fonti rilevanti, se interessati:
- [python-3.3]: http://www.python.org/download/releases/3.3.0/
- [NumPy]: http://www.numpy.org/
- [panda]: 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/
potresti aggiungere alcune righe di dati fittizi, difficili da congetturare senza. :) –
Siamo spiacenti, ha avuto qualche errore nella formattazione e ha dovuto continuare a pubblicare per eseguire il debug del formato. – ruffsl