1

在我的 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>
4

1 回答 1

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>

因此,您需要将您的 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 文件结合起来以获得完整的地图。

于 2012-08-01T13:41:46.737 回答