指定numpy.datype类型读取GPX轨迹点

2024-10-03 09:18:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把从GPX文件中提取的GPS轨迹表示为Numpy数组。为此,每个元素都将是“trackpoint”类型,包含一个datetime和三个float。你知道吗

我正在尝试这样做(实际上,在用一些XML库解析GPX文件之后):

import numpy

trkptType = numpy.dtype([('time', 'datetime64'),
                         ('lat', 'float32'),
                         ('lon', 'float32'),
                         ('elev', 'float32')])

a = numpy.array([('2014-08-08T03:03Z', '30', '51', '40'),
                 ('2014-08-08T03:03Z', '30', '51', '40')], dtype=trkptType)

但我有个错误:

ValueError: Cannot create a NumPy datetime other than NaT with generic units

我做错了什么?我应该如何高效地从某个列表中创建一个更大的数组?你知道吗


Tags: 文件numpy元素类型datetime轨迹数组gpx
1条回答
网友
1楼 · 发布于 2024-10-03 09:18:01

As explained here,您必须至少使用datetime64[m](分钟),而不是datetime64,然后您的代码才能工作。您还可以使用可以降到秒或毫秒的datetime,例如datetime64[s]datetime64[ms]。你知道吗

trkptType = np.dtype([('time', 'datetime64[m]'),
                      ('lat', 'float32'),
                      ('lon', 'float32'),
                      ('elev', 'float32')])

相关问题 更多 >