无法使用Python / Simplekml为KML对象正确设置时间跨度

时间:2018-09-24 16:44:09

标签: python gis kml google-earth simplekml

我正在尝试使用Python和Simplekml库创建动画地面叠加层。

我能够手动创建此类图像,但是我试图使用该库来加快编写函数的过程。我的问题是,当我为多边形提供时间跨度时,simplekml会以Google Earth无法读取的方式写入字符串。这样的问题太过刺眼,无法解决和报告,我相信我一定会忽略一些东西,但是到目前为止,阅读文档并没有得到任何帮助。

这是一个重新创建问题的简单脚本:

import simplekml
import datetime

kml = simplekml.Kml()
begin = datetime.datetime(2018, 1, 1, 12, 30, 0)
end = begin + datetime.timedelta(hours=3.0)
tspan = simplekml.TimeSpan(begin=begin, end=end)

kml.newpolygon(name="a polygon", timespan=tspan)
kml.save("poly_ex.kml")

生成的文件将包含以下几行:

<begin>2018-01-01 12:30:00</begin>
<end>2018-01-01 15:30:00</end>

如果您在Google Earth中打开文件,它将仅放大到赤道并完全空白。但是,如果将这些行更改为:

<begin>2018-01-01T12:30:00Z</begin>
<end>2018-01-01T15:30:00Z</end>

并在Google Earth中打开它,然后动画滑块就会出现在角落。

Simplekml也可以使用字符串代替日期时间对象,但是如果您将其传递为“ 2018-01-01T12:30:00Z”,它将仍显示为文件“ 2018-01-01 12:30”: 00“

我该如何解决?谢谢

0 个答案:

没有答案