2012-12-04 15 views
5

Bazı adresleri BatchGeo'ya yükledim ve koordinatları ayıklamak istediğim sonuçtaki KML dosyasını indirdim. Karıştırılmış metin dosyasını çevrimiçi olarak here'u güzelleştirmeyi başardım, ancak koordinatları çıkarmak için nasıl ayrıştırılacağını bilmiyorum.KML BatchGeo Dosyası'ndan Koordinatlar Ayıkla Python ile

<?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> 

birkaç kml piton için kütüphaneler ama dokümantasyon (örneğin pyKML) yolunda pek yok gibi. öğretici kullanarak, bu kadar ilerleme ve 'lxml.etree._ElementTree' nesnesini oluşturan ama onun niteliklerin emin değilim adres: Yani

AttributeError: 'lxml.etree._ElementTree' object has no attribute 'Element' 

:

from pykml import parser 

kml_file = "BatchGeo.kml" 

with open(kml_file) as f: 

    doc = parser.parse(f) 

coordinate = doc.Element("coordinates") 
print coordinate 

Bu hata veriyor Koordinatların listesini nasıl alabilirim? Teşekkürler.

cevap

10
from pykml import parser 

root = parser.fromstring(open('BatchGeo.kml', 'r').read()) 
print root.Document.Placemark.Point.coordinates 

yardımcı the pykml docs

umut bakın!

İlgili konular