1

我想将从 GPX 文件中提取的 GPS 轨迹表示为 Numpy 数组。为此,每个元素都是“trackpoint”类型,包含一个日期时间和三个浮点数。

我正在尝试这样做(实际上,在使用一些 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

我做错了什么,我应该如何以有效的方式从某个列表中创建一个更大的数组?

4

1 回答 1

1

如此处所述,您必须至少使用datetime64[m](分钟)而不是datetime64,然后您的代码才能工作。您还可以使用下降到秒或毫秒的日期时间,例如datetime64[s]or datetime64[ms]

trkptType = np.dtype([('time', 'datetime64[m]'),
                      ('lat', 'float32'),
                      ('lon', 'float32'),
                      ('elev', 'float32')])
于 2014-10-14T19:50:35.607 回答