Android的离线地理编码和反向地理编码

时间:2014-11-27 16:38:05

标签: android geocoding openstreetmap offline reverse-geocoding

我开发的Android应用程序无法使用互联网,需要处理地图和定位。

下载OpenStreetMaps数据搜索是离线访问地图信息的好方法。但是,我需要一些在手机本地运行的基本算法,如地理编码和反向地理编码。

有没有人知道Android的库可以使用离线openstreetmap数据并在手机上提供地理编码和反向地理编码?

1 个答案:

答案 0 :(得分:1)

对于地理编码,您可以使用此方法:

  1. 创建地址索引为sqlite / spatialite数据库,我知道它可以在Android应用程序中使用。
  2. 使用全文搜索扩展程序在此索引中搜索或不使用,我不能说哪一个会更好。您还可以使用spatialite扩展来为坐标创建人类可读的文本。
  3. 您可以通过以下方式之一创建索引:

    • 使用OSM Nominatim的本地实例。它将在您的本地PostGIS数据库中创建自己的索引版本,之后,您可以将其转储到sqlite中。
    • 您可以使用https://github.com/kiselev-dv/gazetteer它可以在json或csv中生成这样的索引,因此您可以将其转换为sqlite db。

    如果您想要更强大的SDK,请查看此http://developer.skobbler.com/?source=scout#tour