如何解决Google Earth KMZ重组
我从我公司收到了一个文件,它的坐标超过7.000。它们的排序方式很糟糕,我无法轻松访问所需的内容。例如:
- 我们有跟踪线: L75
- 我们有一个交叉点: OW 34
- 我们有一个公里点: 45
他们按交叉点对坐标进行排序。这意味着在该国家/地区中的每一行,交叉点都在文件中彼此堆叠。没有其他指示(因为该点的名称是交叉点)。
我想要实现的是一种通过轨迹线然后交叉点对其进行重组的方法。我目前正在手动进行此操作,但这是一项无聊的工作。
我尝试拖放,但一次似乎有点可笑。
欢迎任何想法
令人惊讶:-3票,没有人投票告诉我为什么?
解决方法
如果您愿意尝试进行一些编码,则可以编写一个简单的脚本来解析您的KML / KMZ文件,以所需的方式对地标进行排序,然后完全按照需要输出新的KML或KMZ文件。
python pykml模块是最简单的入门方法之一,这里是tutorial。
在stackoverflow上发布了一些使用pykml的示例。您可以在开始时将pykml问题发布到stackoverflow中。只需在问题中添加“ pykml”标签即可。
这是一个简单的示例,用于使用doc.kml文件解析KMZ,该文件由<Document>
构建,并带有子<Placemark>
元素集合。代码将打开KMZ文件,并在地标上进行迭代,并打印每个地标的名称字段及其点坐标。
from os import path
from pykml import parser
from zipfile import ZipFile
kml_file = "test.kmz"
kmz = ZipFile(kml_file,'r')
with kmz.open('doc.kml','r') as f:
doc = parser.parse(f)
for pm in doc.getroot().Document.Placemark:
print(pm.name,pm.Point.coordinates)
您可以同样地将每个地标添加到集合(列表或字典对象)中,然后对其进行排序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。