2012-12-05 33 views
3

我已經將一些地址和幾列數據一起上傳到batchgeo。我已經下載了具有coordiantes的kml文件。數據結構如下:使用pykml將擴展數據添加到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> 

「說明」標籤是當你點擊在谷歌地圖/地球(網址,地址等)的點具有擴展數據一個混亂的爛攤子。我現在想在當前的擴展數據下添加一些細節。我目前的做法是使用pykml,但我找不到pykml對象的擴展數據屬性,並且我沒有看到它在文檔中列出。當我點擊在谷歌地球地標我想這顯示:

<Description> 
item 1 
item 2 
item 3 
</Description> 
New data 

你可以建議如何實現這一目標?謝謝。 (順便說一下,pylibkml有這個功能,但它已經停產了,我找不到下載鏈接!)

+0

我也有同樣的問題,但我想了''標籤中使用'CDATA' ...任何想法?下面是一個關於如何使用CDATA的示例https://developers.google.com/kml/documentation/kml_tut#descriptive_html – otmezger

回答

3

我已經實現了你說的使用KML.description()方法。

代碼:

 placemark = KML.Placemark(
      KML.name('poi'), 
      KML.description('blabla'), 
      KML.LookAt(
       KML.longitude(lat), 
       KML.latitude(lon), 
       KML.altitude(alt), 
       KML.heading('0'), 
       KML.tilt(0), 
       KML.range('0'), 
      ), 
      KML.Point(
       KML.coordinates(string) 
      ) 
     ) 
+0

?謝謝。 https://developers.google.com/kml/documentation/kml_tut#descriptive_html – otmezger

3

好吧,我會在這裏玩了一下巫術,並留下一些東西,幫助我有類似的問題。這裏是爲我工作

pm = KML.Placemark(
       KML.name("My extended data point somewhere in sahara!"), 
       KML.Point(KML.coordinates("10, 15")), 
       KML.ExtendedData( 
        KML.Data(KML.value('someValueGadzilion'),name='Your value name here') 
       ) 
    ) 
相關問題