2012-08-01 356 views
1

在我的iOS應用程序中,我有一個包含數千個位置數據的xml文件。我需要將其轉換爲kml格式以在我的地圖視圖中顯示熱圖。我如何轉換它?請給我指引了這個轉換...如何將我的xml文件轉換爲kml文件

<?xml version="1.0"?> 
    <row id="1"> 
     <id>101</id> 
      <name>Sharon Appartments</name> 
      <longitude>115.23412</longitude> 
      <latitude>34.734121</latitude> 
      <city>Dallas</city> 
      <state>California</state> 
      <country>USA</country> 
    </row> 
    <row id="2"> 
    . 
    . 
    . 
    . 
    <row id="20000"> 
    . 
    . 
    </row> 
</xml> 
+0

任何轉換器將其轉換? – smily 2012-08-01 13:22:56

回答

3

既然你問了指導方針,一個例子KML文件看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document> 
<Placemark> 
    <name>New York City</name> 
    <description>New York City</description> 
    <Point> 
    <coordinates>-74.006393,40.714172,0</coordinates> 
    </Point> 
</Placemark> 
</Document> 
</kml> 

看來你可以保持<name>場一樣,你可以將xml字段<city,<state>,<country>中的項目合併到klm字段<address>city,state,country</address>或將其作爲kml <description>標記(用戶提供的內容出現在描述氣球中),因爲kml將使用long和lat來確定提供的點,而不是使用一個地址。轉換XML <longitute>,<latitudite>需要變成一個KML <point><cordinates>longitute,latatude</cordinates></point>

所以,你需要你的荷航文檔轉換爲這樣的事情:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document> 
<Placemark> 
    <name>Sharon Appartments</name> 
    <description>Dallas, California, USA</description> 
    <Point> 
    <coordinates>115.23412,34.734121</coordinates> 
    </Point> 
</Placemark> 
<Placement> 
Put item 2 details here 
</Placement> 
. 
. 
. 
<Placement> 
Put item 20000 details here 
</Placement> 
</Document> 
</kml> 

我得到這個從https://developers.google.com/kml/documentation/kmlreference

現在的熱圖部分,如果你可以將你的文件轉換成經緯度列表,你可以把它放到這個網頁上的python程序:http://jjguy.com/heatmap/,它會根據這些數據爲谷歌地圖產生一個kml覆蓋圖,你需要合併與你的城市的kml文件覆蓋d ata來獲得完整的地圖。

+0

我手動轉換整個數據,因爲我有成千上萬的記錄嗎?我嘗試尋找轉換器,但是我沒有找到任何... – smily 2012-08-01 13:48:16

+0

編程方式上,您可以使用一個小型python腳本讀取幾個標籤,然後將其保存爲新格式,或者您可以編寫一個http:// en .wikipedia.org/wiki/XML_transformation_language文件,將它轉換。如果你想手動完成,這不會很難,可以使用像Geany這樣的文本編輯器,並使用找到替換和複選框「使用轉義序列」。找到''並替換爲'',找到' \ r \ n '並用逗號替換,\ r \ n是您的操作系統的換行符(可能是\ r,\ n,取決於關於什麼文件正在使用「等, – gmlime 2012-08-01 14:05:12

+0

這個問題將來自領域,你需要使用正則表達式的gege。當然這只是一個公會,我個人只是修改heatmap.py文件從該網站jiguy.com/heatmap讀取我的xml文件並吐出正確的kml – gmlime 2012-08-01 14:06:27