Verwenden von pyKML zum Analysieren von KML-Dokumenten
Ich verwende das pyKML-Modul zum Extrahieren von Koordinaten aus einer bestimmten KML-Datei.
Mein Python-Code lautet wie folgt:
from pykml import parser
fileobject = parser.fromstring(open('MapSource.kml', 'r').read())
root = parser.parse(fileobject).getroot()
print(xml.Document.Placemark.Point.coordinates)
eim Ausführen dieses Befehls wird jedoch die folgende Fehlermeldung angezeigt:
ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.
uf der Suche nach Lösungen bin ich auf diese Lösung gestoßehttp: //twigstechtips.blogspot.in/2013/06/python-lxml-strings-with-encoding.htm von wo ich das ausprobiert habe (was ich nicht sicher bin, ist die richtige Methode):
from pykml import parser
from lxml import etree
from os import path
kml_file = open('MapSource.kml', 'r')
parser = etree.XMLParser(recover=True)
xml = etree.fromstring(kml_file, parser)
print(xml.Document.Placemark.Point.coordinates)
Das gibt mirValueError: can only parse strings
. Wie kann ich die KML richtig analysieren und die Koordinaten für diese Struktur ermitteln?