2012-12-04 20 views
5

いくつかのアドレスをBatchGeoにアップロードし、座標を抽出するKMLファイルをダウンロードしました。私は混乱したテキストファイルをオンラインでhereのように誇示することができましたが、私はそれを解析して座標を抽出する方法を知らない。KMLから座標を抽出するBatchGeoファイルを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> 

には、いくつかのkml Python用のライブラリが、ドキュメント(例えばpyKML)の方法ではあまりないことがあるようです。チュートリアルを使用して、私はここまでだと「lxml.etree._ElementTree」オブジェクトを作成したが、私はその属性のわからないています

from pykml import parser 

kml_file = "BatchGeo.kml" 

with open(kml_file) as f: 

    doc = parser.parse(f) 

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

これはエラーを与える:だから

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

どのように座標のリストを取得できますか?ありがとう。

答えて

10
from pykml import parser 

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

は役立ちますthe pykml docs

希望を参照してください!

関連する問題