如何在Python中将KML转换为字符串?
我想下载一个KML文件,并在Python中把里面的某个元素打印出来,显示为字符串。
有没有人能给我一个具体的例子,教我怎么做?
谢谢!
3 个回答
0
谷歌的新库pyKML非常适合这个用途。比如,你可以查看一下pyKML的示例。
这里有一个非常简单的例子,来自http://packages.python.org/pykml/tutorial.html。
import urllib2
from pykml import parser
url = 'http://code.google.com/apis/kml/documentation/KML_Samples.kml'
fileobject = urllib2.urlopen(url)
root = parser.parse(fileobject).getroot()
print root.Document.name
0
你可以用urllib这个库在Python中下载KML文件。要读取KML文件,你可以使用一个解析器(可以搜索一下“kml python parser”)。
1
下载和解析的部分我就不说了,下面是我如何从KML文件中获取每个标记的描述和坐标。
namespace = {'ns' : 'http://www.opengis.net/kml/2.2'}
placemarks = doc.xpath('//ns:Placemark', namespaces=namespace)
for placemark in placemarks :
for description in placemark.xpath('.//ns:description', namespaces=namespace):
descriptionText = description.text.strip()
for coords in placemark.xpath('.//ns:coordinates', namespaces=namespace):
coordinates = coords.text.strip()
# Here you have the description and coordinates
关于描述和坐标的循环部分,可能可以改写得更好,但我还没找到具体的方法。