【问题标题】:Offline reverse geocoding on iOSiOS 上的离线反向地理编码
【发布时间】:2013-01-13 08:52:56
【问题描述】:

有很多与这个问题相关的现有问题,但我已经尽可能多地查看了这些问题,但没有得到答案。

我正在尝试根据纬度和经度在 iOS 上执行离线反向地理编码查找。我希望能够提供纬度和经度,并提供该点所在的国家/地区。我可以使用 Geonames(例如:http://api.geonames.org/countryCode?lat=45.03&lng=8.2&username=demo)来做到这一点,但我需要一个类似的离线功能,设备上没有 Internet 功能。

CLLocation 没有提供足够可靠的离线服务来完成我正在做的事情,它依赖于您之前在线时制作的缓存等等。混乱。

我试过这个:https://github.com/drodriguez/reversegeocoding,但没有任何运气,它需要使用我从未听说过的名为 Thor 的东西进行一些稍微复杂/令人困惑的终端安装,并且引发了各种错误,所以我放弃了。

我找到了一些可下载的地图,但这些地图似乎更加复杂,而且令人担忧的是,它们的大小达到了数百兆字节甚至千兆字节——远远超出了 iOS 应用程序的范围。我只需要国家,没有比这更小的(城市、街道、位置等),所以我想我应该能够得到一个小得多的文件。

所以我的关键问题是:是否有一些预先存在的数据库或工具,最好是支持 iOS,我可以提供纬度/经度,并获得一个国家?如果没有,我应该采取哪些步骤才能让这些功能自行运行?

提前致谢。

【问题讨论】:

标签: ios objective-c mapkit geocoding reverse-geocoding


【解决方案1】:

ReverseGeocodeCountry 是适用于 iOS 的简单轻量级离线国家反向地理编码器,它有一个包含国家多边形数据的静态 JSON 文件,用于对任何 lat/lng 进行反向地理编码:

https://github.com/krisrak/ios-offline-reverse-geocode-country

【讨论】:

  • 这看起来很有希望——这是我正在从事的一个旧项目,但您可能刚刚给了我一个重新访问它的理由! :)
  • 你知道离线“城市”反向地理编码器,或者你是否有城市多边形数据
  • 您已经在 json 文件中找到数据并替换,我在 google 搜索中找到了美国城市,我确定它们都在那里
【解决方案2】:

Countries of the World”是一个.csv 文本文件,其中包含国家、坐标、本地化国家名称、首都和其他信息。它似乎可以免费使用。您只需将其导入 SQLite 数据库即可。

编辑刚刚注意到您想要反向地理编码。该数据库仅适用于 forward 地理编码。

您可以在http://www.gadm.org/download 下载所有国家/地区的 shapefile。如果您下载.kmz,您可以将其解压缩到边界坐标列表中。您可能会每隔 5 或 10 个坐标获取一个较小的尺寸(精度较低)。

【讨论】:

  • 如果它具有所有国家/地区的最大和最小纬度和经度,它应该做我需要的,不是吗?我只是将这些值放入某种数据结构中,然后当用户在我的应用程序中点击地图时查询它?
  • 对于边境地区来说不够准确。想想法国的边界。您将在东北部分看到比利时、德国和荷兰的大部分地区。您将不得不处理国家边界的 shapefile。
  • 哦,所以这基本上会在该国最北、最南、最西和最东的点周围画一个矩形?这可能并不可怕,人们没有太多理由点击边界,他们正在从全世界选择一个国家。关于 shapefile,我该如何进行呢?我真的从来没有做过这样的事情。
  • 我在答案中添加了一些细节。我从未真正使用过 shapefile,但您会得到一个沿边界的坐标列表。从那里我恐怕你自己一个人。
  • 如果你不想费尽心机,从“世界各国”中找到每个国家的中心坐标,然后向用户展示 5-10 个国家的选择,按距离排序。大多数情况下,他们的国家/地区将排在前 3 位。
【解决方案3】:

以防万一我可以推荐另一个好的书面离线地理编码库。 https://github.com/Alterplay/APOfflineReverseGeocoding

【讨论】:

  • 这里发布的替代方案中最好的 API。
猜你喜欢
  • 2013-09-19
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多