如何解决使用Python从KML BatchGeo文件中提取坐标
from pykml import parser
root = parser.fromstring(open('BatchGeo.kml', 'r').read())
print root.Document.Placemark.Point.coordinates
参见pykml文档
希望有帮助!
解决方法
我已将一些地址上传到BatchGeo,并下载了要从中提取坐标的结果KML文件。我设法在这里在线整理了混乱的文本文件,但是我不知道如何解析它以提取坐标。
<?xml version="1.0" ?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<Placemark>
<name>...</name>
<description>....</description>
<Point>
<coordinates>-3.1034345755337,57.144817425039,0</coordinates>
</Point><address>...</address>
<styleUrl>#0</styleUrl>
</Placemark>
</Document>
</kml>
似乎有几个适用于python的kml库,但在文档方面却没有太多(例如pyKML)。通过本教程,我已经了解了这一点,并创建了一个’lxml.etree._ElementTree’对象,但不确定其属性:
from pykml import parser
kml_file = "BatchGeo.kml"
with open(kml_file) as f:
doc = parser.parse(f)
coordinate = doc.Element("coordinates")
print coordinate
这给出了错误:
AttributeError: 'lxml.etree._ElementTree' object has no attribute 'Element'
那么如何获取坐标列表?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。