python – 在pykml中读取带有多个地标的kml文件
发布时间:2020-12-20 12:32:48 所属栏目:Python 来源:网络整理
导读:在 pykml中,我可以使用以下代码读取文件中的第一个地标: with open(filename) as f: pm = parser.parse(f).getroot().Document.Folder print "got :" print pm.Placemark.LineString.coordinates 如何在同一个文件中读取多个地标到python? 解决方法 编辑:
在
pykml中,我可以使用以下代码读取文件中的第一个地标:
with open(filename) as f: pm = parser.parse(f).getroot().Document.Folder print "got :" print pm.Placemark.LineString.coordinates 如何在同一个文件中读取多个地标到python? 解决方法
编辑:一个更简单的解决方案,假设所有地标都在一个文件夹中:
from pykml import parser with open(filename) as f: folder = parser.parse(f).getroot().Document.Folder for pm in folder.Placemark: print(pm.name) 您还可以使用基础xml库lxml的功能来搜索地标元素. from pykml import parser from pykml.factory import nsmap namespace = {"ns": nsmap[None]} with open(filename) as f: root = parser.parse(f).getroot() pms = root.findall(".//ns:Placemark",namespaces=namespace) for pm in pms: print(pm.name) 如果您专门搜索具有Linestring子项的地标,您还可以使用xpath进行更复杂的搜索. pms = root.xpath(".//ns:Placemark[.//ns:LineString]",namespaces=namespace) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |