如何将我的xml文件转换为kml文件

时间:2012-08-01 13:13:50

标签: ios mkmapview kml heatmap

在我的iOS应用程序中,我有一个包含数千个位置数据的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>

1 个答案:

答案 0 :(得分: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> tag(用户提供的内容,显示在描述气球中),因为kml将使用long和lat来确定是否提供了一个点而不是使用地址。转换xml <longitute>,<latitudite>需要转换为kml <point><cordinates>longitute,latatude</cordinates></point>

所以你需要将你的klm文档转换成这样的东西:

<?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文件相结合,以获得完整的地图。