我正在尝试使用django解析kml文件。我正在使用pyKML Parser Module。我已完成以下步骤。
root = parser.fromstring(open('myfile.kml').read())
该文件的内容是:
<document>
<Placemark>
<name>t1</name>
<Point><coordinates>v1</coordinates>
</Point>
</Placemark>
<Placemark>
<name>t2</name>
<Polygon>
<outerBoundaryIs>
<LinearRing><coordinates>v2</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polgon>
</Placemark>
</document>
我可以使用以下方法检索名称:
name = []
for ele in root.Document.Placemark:
name.append(ele.name)
但我不知道如何从不同的地标检索坐标值。 请帮帮我。
答案 0 :(得分:1)
试试这个:
for pm in root.Document.Placemark:
point = [p for p in pm.getchildren() if p.tag.endswith('Point')]
if point:
coords = point[0].coordinates.text
else:
poly = [p for p in pm.getchildren() if p.tag.endswith('Polygon')]
if poly:
coords = poly[0].outerBoundaryIs.LinearRing.coordinates.text
print pm.name, coords