Iphone 使用KML文件检测国家(Xcode)
我有一个包含所有国家和多边形的KML文件。我正在尝试创建一个应用程序,使用这个KML获取Lat&Lon并检测哪个国家属于哪个国家。我尝试了SimpleXML和KMLViewer,但没有成功。 kml结构为:Iphone 使用KML文件检测国家(Xcode),iphone,xml,xcode,parsing,kml,Iphone,Xml,Xcode,Parsing,Kml,我有一个包含所有国家和多边形的KML文件。我正在尝试创建一个应用程序,使用这个KML获取Lat&Lon并检测哪个国家属于哪个国家。我尝试了SimpleXML和KMLViewer,但没有成功。 kml结构为: <Document> <Folder> <Folder> <name>A -</name> <Placemark> <name>Afgha
<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>
..
..
..
A-
阿富汗
阿芙芙芙
随机的
65.62729644775391,37.33319854736328,0 65.64692687988283,37.45888137817383,0
...
...
坐标>
阿尔巴尼亚
..
..
..
1) 使用xml解析器并将数据保存在本地数据库上会更好吗?
2) 是否有任何函数确定给定lat/lon的多边形
谢谢使用NSXMLParser解析应该非常简单,查找名称并将它们与坐标关联起来。更有趣的部分是测试多边形是否包含一个点 ,这看起来有点像是借用了。您要做的是构建一个多边形集合,并枚举它们,测试每个多边形是否包含某些给定坐标
另一件需要考虑的事情是完全跳过解析和多边形测试,使用谷歌地理编码api。关于从纬度和经度获取地址信息(包括国家)。必须是脱机应用程序。因此,没有针对lat/lon和多边形的算法?不是来自apple(afaik),而是大量的网络代码。使用光线跟踪测试进行自己的测试看起来并不可怕。听起来挺有趣的,你有什么建议?解析kml(作为xml)并将其保存为本地数据库,还是每次都进行解析?(我需要最快的方法)。关于算法我应该使用光线跟踪还是光线投射?保存解析会更快。使用文件还是数据库取决于多边形计数。我不知道哪个多边形测试更快。我认为,要让它工作起来,你已经面临了足够大的挑战,只有在你有了经验数据后才能做出性能决策是明智的。此外,如果这是一个离线应用程序,你想要快速,你为什么要解析它呢?在编译时之前进行解析,并将多边形作为浮点的文本数组发送。