我有一个包含所有国家/地区和多边形的KML文件。我正在尝试创建一个可以获得Lat& amp; Lon并使用此KML检测哪个国家/地区所属。我试过SimpleKML和KMLViewer没有运气。 kml结构是:
<Document>
<Folder>
<Folder>
<name>A -</name>
<Placemark>
<name>Afghanistan</name>
<description></description>
<Style>
<PolyStyle>
<color>aaffffff</color>
<colorMode>random</colorMode>
</PolyStyle>
</Style>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
65.62729644775391,37.33319854736328,0 65.64692687988283,37.45888137817383,0
...
...
coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Albania</name>
..
..
..
1)最好使用xml解析器并将数据保存在本地数据库中? 2)是否有任何函数可以确定哪个多边形是给定的纬度/经度?
谢谢
答案 0 :(得分:0)
使用NSXMLParser解析应该非常简单,查找名称并将它们与坐标相关联。更有趣的部分是测试多边形以包含一个点。
Here's a highly regarded SO article,看起来有点偏离了this wikipedia article。你要做的是建立一个多边形集合,并枚举它们测试每个多边形以包含一些给定的坐标。
要考虑的另一件事是完全跳过解析和多边形测试并使用谷歌地理编码API。 This section talks specifically关于从纬度和经度获取地址信息(包括国家/地区)。