Iphone iOS是否有离线地理编码框架、库或数据库?

Iphone iOS是否有离线地理编码框架、库或数据库?,iphone,location,geocoding,Iphone,Location,Geocoding,是否有用于iOS的(离线)地理编码框架、库或数据库?从哪里获取数据 我需要能够将世界各地(或至少在美国)城市的街道地址地理编码为纬度和经度,以便计算日出和日落 这些信息的格式必须适用于iPhone操作系统。(要么是数据库文件,要么是用C/Objective-C编写的)我认为目前还没有可用的框架。但是,您可能会比联系此副本的作者更糟糕:我不知道如何做您想做的事情,但以下是一些框架: (在线) (我想它是离线的) 此链接还可以帮助您: 希望这有帮助:) 编辑: 这也可能对您有所帮助:) 在寻找答案

是否有用于iOS的(离线)地理编码框架、库或数据库?从哪里获取数据

我需要能够将世界各地(或至少在美国)城市的街道地址地理编码为纬度和经度,以便计算日出和日落


这些信息的格式必须适用于iPhone操作系统。(要么是数据库文件,要么是用C/Objective-C编写的)

我认为目前还没有可用的框架。但是,您可能会比联系此副本的作者更糟糕:

我不知道如何做您想做的事情,但以下是一些框架:

(在线) (我想它是离线的)

此链接还可以帮助您:

希望这有帮助:)

编辑:

这也可能对您有所帮助:)


在寻找答案时,我发现有些人声称这是资源密集型的,我认为它们可能是正确的:所以,在创建应用程序时,请考虑:p> 这个答案可能会有所帮助:


您可能需要做一些额外的工作。

我建议:

  • 从开放式街道地图获取数据,许可证只是暗示您提到了来源。有一些OSM摘录适用于某些国家,我不知道是否有一些已经为某些城市制作,但我认为这可以在你们这方面实现
[编辑] 例如,您可以从下载数据,只需单击导出选项卡,选择开放街道地图XML数据格式,然后导出数据:您将获得所选边界框的OSM数据。 可以从CloudMake下载更多数据:

  • 然后将该数据导入sqlite数据库。然后从这个sqlite数据库中创建一个包含地理信息的空间索引:可以使用(spatialite是sqlite的一个非常好的GIS扩展)
[EDIT]Spatialite提供了一个GUI工具,用于从各种数据源格式创建空间数据库。该工具可以从这里以二进制文件的形式下载:(spatialite_gui)我正在链接到2.4.0测试版,因为它最支持.osm文件

另一个好的资源是QGis,用于可视化OSM数据/创建空间数据库。它是免费/开源的,非常成熟:

  • 完成此操作后,您将能够实现基本的地理编码器,因为spatialite实现了诸如“给我到该GPS坐标最近的线”(基本GIS功能)之类的功能

这些是非常粗糙的线条。如果您对这种方法感兴趣,我可以深入了解更多的细节:我已经做到了这一点。我知道如何为iOS编译spatialite(这花了我一些时间……),也知道如何导入OSM数据并为其创建空间索引。

世界上每个地方(或美国)的所有地址。。。这占用了大量的空间,超过了普通iOS设备的处理能力。所以,绝对不是离线版本


但是,您可以简单地使用开放式街道地图,它可以帮助您获取一些数据,将这些数据存储在某种缓存中(例如,仅存储半径为5英里的所有数据),并在您离开该区域时刷新此缓存。

如果开发人员正在搜索OpenStreetMaps路径的教程,我强烈推荐此教程:

这是一个简单的教程,可以让您开始使用Open Street Maps,它使用Route me github存储库。下面是github上的一个示例应用程序:


希望这有帮助

是否至少可以从任何地方获取数据?如何将数据获取为sql或sqlite文件?我认为您必须自己构建该文件或转到另一个线程。这是我想做的,但我需要脱机完成。请详细解释,我将不胜感激。具体而言,如何/从何处下载开放式街道地图数据?另外,请解释如何进行数据库导入和spacialite操作。非常感谢。我添加了更多的细节。如果你觉得我的答案有趣,请投赞成票增加了对QGis的参考。我刚刚下载并试用了1.6.0版本,对OSM的支持得到了改进,对spatialite的支持也得到了改进。您是否已将spatialite与GEOS和Proj.4一起构建?我现在已经在iOS上构建了Spatialite,但当我查看GEOS源代码时,它变得可怕了。:)对于所有感兴趣的人,以下是我最后两条评论的答案: