我正在使用一个库(georinex),它读取GPS-RINEX数据并返回xarray
。你知道吗
从一个GPS接收站解析rinex文件得到的典型数据如下:
<xarray.Dataset>Users\eballes\Desktop\share\226_day\225_highrate\00\abpo225a00.14n
Dimensions: (sv: 12, time: 2)
Coordinates:
* time (time) datetime64[ns] 2014-08-13 2014-08-13T02:00:00
* sv (sv) <U3 'G01' 'G03' 'G07' 'G08' ... 'G27' 'G28' 'G32'
Data variables:
SVclockBias (time, sv) float64 nan nan nan ... 0.0003767 -0.0003641
SVclockDrift (time, sv) float64 nan nan nan ... 2.728e-12 8.413e-12
SVclockDriftRate (time, sv) float64 nan nan nan nan nan ... 0.0 0.0 0.0 0.0
IODE (time, sv) float64 nan nan nan nan ... 89.0 60.0 85.0 64.0
Crs (time, sv) float64 nan nan nan nan ... -29.56 100.2 78.56
DeltaN (time, sv) float64 nan nan nan ... 3.904e-09 5.106e-09
M0 (time, sv) float64 nan nan nan nan ... 0.6369 1.585 -1.493
Cuc (time, sv) float64 nan nan nan ... 4.929e-06 4.02e-06
Eccentricity (time, sv) float64 nan nan nan ... 0.01919 0.01139
Cus (time, sv) float64 nan nan nan ... 9.466e-06 8.697e-06
sqrtA (time, sv) float64 nan nan nan ... 5.154e+03 5.154e+03
Toe (time, sv) float64 nan nan nan ... 2.664e+05 2.664e+05
Cic (time, sv) float64 nan nan nan ... -7.078e-08 -1.863e-08
Omega0 (time, sv) float64 nan nan nan nan ... 2.154 1.175 -1.948
Cis (time, sv) float64 nan nan nan ... -4.619e-07 -1.434e-07
Io (time, sv) float64 nan nan nan ... 0.9641 0.9871 0.9473
Crc (time, sv) float64 nan nan nan nan ... 338.2 208.2 206.5
omega (time, sv) float64 nan nan nan ... 0.3215 -1.71 -0.1162
OmegaDot (time, sv) float64 nan nan nan ... -7.925e-09 -8.374e-09
IDOT (time, sv) float64 nan nan nan ... 5.997e-10 6.879e-10
CodesL2 (time, sv) float64 nan nan nan nan nan ... 0.0 0.0 0.0 0.0
GPSWeek (time, sv) float64 nan nan nan ... 1.805e+03 1.805e+03
L2Pflag (time, sv) float64 nan nan nan nan nan ... 0.0 0.0 0.0 0.0
SVacc (time, sv) float64 nan nan nan nan nan ... 2.0 2.0 2.0 2.0
health (time, sv) float64 nan nan nan nan nan ... 0.0 0.0 0.0 0.0
TGD (time, sv) float64 nan nan nan ... -1.071e-08 -3.26e-09
IODC (time, sv) float64 nan nan nan nan ... 89.0 60.0 85.0 64.0
TransTime (time, sv) float64 nan nan nan ... 2.592e+05 2.592e+05
FitIntvl (time, sv) float64 nan nan nan nan nan ... 4.0 4.0 4.0 4.0
Attributes:
version: 2.1
svtype: ['G']
rinextype: nav
filename: abpo225a00.14n
如你所见,坐标是time
和sv
。但是对于我的特殊问题,我需要添加数据变量TransTime
作为坐标。你知道吗
不幸的是,我不能让任何东西工作,我还没有发现任何对修改已经存在的xarray
的结构有用的例子,因为我假设最正常的方法是用正确的坐标直接创建它。你知道吗
到目前为止,在uncompress
之后使用this data代码非常简单:
import georinex as gr
nav = gr.load('abpo225a00.14n')
在这一点上,我应该把它转换成类似的东西:
<xarray.Dataset>Users\eballes\Desktop\share\226_day\225_highrate\00\abpo225a00.14n
Dimensions: (sv: 12, time: 2)
Coordinates:
* time (time) datetime64[ns] 2014-08-13 2014-08-13T02:00:00
* sv (sv) <U3 'G01' 'G03' 'G07' 'G08' ... 'G27' 'G28' 'G32'
* TransTime (TransTime) <values from TransTime variable>
从技术上讲,我的问题的答案是正确的。不幸的是,这对我的问题来说还不够,因为我不能正确地表述。你知道吗
用接受的答案指定坐标时,生成的Xarray具有以下形状:
这不是我真正想要的(或者至少对我来说不是什么有用的东西),因为新的坐标依赖于其他两个索引,而不是索引本身。你知道吗
我意识到我真正想要的不是一个新的坐标,而是一个索引的改变。最终实现这个目标的方法是转到
DataFrame
级别,删除当前索引,创建新索引并返回到xarray
我希望这对那些从XArray/Pandas起步的人来说是有用的,因为他们不知道自己想要什么。你知道吗
试试看
相关问题 更多 >
编程相关推荐