J'ai téléchargé quelques adresses vers BatchGeo et téléchargé le fichier KML résultant dont je veux extraire les coordonnées. Je suis parvenu à simuler le fichier texte en ligne here, mais je ne sais pas comment l'analyser pour extraire les coordonnées.Extrait des coordonnées du fichier KML BatchGeo avec Python
<?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>
Il semble y avoir plusieurs bibliothèques kml pour python, mais pas beaucoup de la manière de la documentation (par exemple pyKML). En utilisant le tutoriel, j'ai loin et a créé un objet « lxml.etree._ElementTree » mais je ne suis pas sûr de ses attributs:
from pykml import parser
kml_file = "BatchGeo.kml"
with open(kml_file) as f:
doc = parser.parse(f)
coordinate = doc.Element("coordinates")
print coordinate
Cela donne à l'erreur:
AttributeError: 'lxml.etree._ElementTree' object has no attribute 'Element'
Alors comment puis-je obtenir une liste de coordonnées? Merci.