概要
GPSを理解したい。
RINEXから、現在地を算出したい。
RINEXをパースして見た。
OBSのパース
サンプルコード
from pathlib import Path
import pyrinex as pr
fn = Path('gisa116x.18o')
obs, nav = pr.readrinex(fn, use = 'G')
print (obs.isel(sv=2).isel(time=1))
結果
<xarray.Dataset>
Dimensions: ()
Coordinates:
sv <U3 'G24'
time datetime64[ns] 2018-04-26T23:01:00
Data variables:
C1 float64 2.182e+07
C1ssi float64 8.0
L1 float64 1.147e+08
L1lli float64 nan
L1ssi float64 8.0
S1 float64 46.9
P1 float64 nan
P1ssi float64 nan
C2 float64 2.182e+07
C2ssi float64 8.0
L2 float64 8.935e+07
L2lli float64 4.0
L2ssi float64 9.0
S2 float64 34.6
P2 float64 2.182e+07
P2ssi float64 9.0
C5 float64 2.182e+07
C5ssi float64 9.0
L5 float64 8.562e+07
L5ssi float64 9.0
S5 float64 52.0
S5ssi float64 nan
Attributes:
toffset: -.000000002
filename: gisa116x.18o
version: 2.11
NAVのパース
サンプルコード
from pathlib import Path
import pyrinex as pr
fn = Path('gisa116x.18n')
obs, nav = pr.readrinex(fn, use = 'G')
print (nav.isel(sv=2).isel(time=1))
結果
<xarray.Dataset>
Dimensions: ()
Coordinates:
sv <U3 'G12'
time datetime64[ns] 2018-04-27
Data variables:
SVclockBias float64 0.0003372
SVclockDrift float64 -2.274e-12
SVclockDriftRate float64 0.0
IODE float64 31.0
Crs float64 -71.69
DeltaN float64 4.055e-09
M0 float64 0.4623
Cuc float64 -3.941e-06
Eccentricity float64 0.007202
Cus float64 8.57e-06
sqrtA float64 5.154e+03
Toe float64 4.32e+05
Cic float64 -1.118e-07
Omega0 float64 2.123
Cis float64 6.892e-08
Io float64 0.9867
Crc float64 231.8
omega float64 0.9658
OmegaDot float64 -7.936e-09
IDOT float64 -3.879e-10
CodesL2 float64 1.0
GPSWeek float64 1.998e+03
L2Pflag float64 0.0
SVacc float64 2.4
health float64 0.0
TGD float64 -1.257e-08
IODC float64 31.0
TransTime float64 4.269e+05
FitIntvl float64 4.0
Attributes:
version: 2.11
filename: gisa116x.18n
以上。