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

Mos*_*she 16 iphone location geocoding

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

我需要能够将全球(或至少在美国)城市的街道地址划分为纬度和经度,用于日出和日落计算.

信息必须采用适用于iPhone OS的格式.(数据库文件或用C/Objective-C编写)

yon*_*nel 29

我会推荐什么:

  • 从Open Street Maps获取数据,许可证只是暗示您提到源.某些国家/地区有一些OSM摘录,我不知道是否已经为某些城市制作了一些,但我认为这可以在您身边实现.

[编辑]例如,您可以从http://www.openstreetmap.org下载数据,只需单击导出选项卡,选择打开街道地图XML数据格式,然后导出数据:您将获得OSM数据对于选定的边界框.可以从cloudmade下载更多数据:http://downloads.cloudmade.com/

  • 然后将此数据导入sqlite DB.然后从这个带有地理信息的sqlite DB创建一个空间索引:这样的事情可以使用spatialite实现(spatialite是一个非常好的GIS扩展到Sqlite)

[编辑] Spatialite提供了一个GUI工具,用于从各种数据源格式创建空间数据库.该工具可以从这里下载为二进制文件:http://www.gaia-gis.it/spatialite-2.4.0-4/binaries.html(spatialite_gui)我正在链接到2.4.0 beta,因为那是一个最好支持.osm文件.

另一个好的资源是QGis可视化OSM数据/创建spaceite DB.它是免费/开源的,非常成熟:http: //www.qgis.org/

  • 一旦你完成了这个,你将能够实现一个基本的地理编码器,因为spatialite实现了诸如"给我最近的这条GPS坐标线"这样的功能(基本的GIS功能).

这些是非常粗糙的线条.如果你对这种方法感兴趣,我可以进一步深入细节:我已经实现了这一点.我知道如何为iOS编译spatialite(这花了我一些时间......)以及如何导入OSM数据并为其创建空间索引.