我工作上的一个应用程序的要求之一是,我能够执行的实时反地理编码的操作基础上的GPS数据。特别是,我必须能够确定的州/省一纬度、经度对地图和检测时,我们已经从一个州/省到另一个。

我有一些想法,迄今为止,但想知道如果任何人有任何想法,无论如下:

  • 什么是最好的方法解决这一问题在一个高效率的方式?
  • 那是一个很好的地方找到和什么是适当的格式对于北美州/省边界

作为一个启动器了,这里有两个主要想法我有:

  1. 打破北美成一个网格,与每一个长方形网格映一个特定国家的省份。查找对此表(其中增长迅速的更精确的你会喜欢被)的基础上的经度和随后的纬度(或者反之亦然)。
  2. 定义面对的每个国家和做某种形式的计算,以确定在多边一纬度/经度对的谎言。我不知道该如何去关于这一点。HTML图像地图来考虑作为一种方式确定的边界对于一个州/省。

我正在蟒蛇的感兴趣,或者那些可能会有一个很好的图书馆他们会喜欢的建议。

到是清楚的...我没有网页的访问提供给我的,所以使用现有的反地理编码的服务是不是一种选择在运行时

有帮助吗?

解决方案

我建议使用一个变你的第一个想法:使用 空间索引.空间索引的数据结构建造的矩形,映射纬度/经度的有效载荷。在这种情况下,你可能会图矩形态省对。一个 R-树 可能是一个好的选择。这里有一个 R-树python包.你可以检测漫游的比较结果的连续搜索。

其他提示

我创造了一个离线反地理编码模块,用于国家: https://bitbucket.org/richardpenman/reverse_geocode

>>> import reverse_geocode 
>>> coordinates = (-37.81, 144.96), (31.76, 35.21)
>>> reverse_geocode.search(coordinates)
[{'city': 'Melbourne', 'code': 'AU', 'country': 'Australia'},
 {'city': 'Jerusalem', 'code': 'IL', 'country': 'Israel'}]

我会看看我是否可以增加数据的国家。

我将远离实现自己的解决方案,从头开始。这是一个相当大的承诺,并已经有具有做到这一点。如果你是在寻找一个开放源办法(阅读:免费的),看看这篇文章: 使用PostGIS逆转地理编码.

如果你可以得到保持国家边界面(例如,通过地),确定目前的状态只是点面测试。

如果你需要地址的数据,脱机的解决方案将使用微软Mappoint.

你可以得到的数据为整个美国 开放街道的地图 然后您可以提取你需要的数据,例如城市或国家的地点成什么的格式最适合你的应用程序。注意到尽管数据的质量是良好的,它并不保证完全准确的,所以如果你需要完全准确,你可能要看别的地方。

我有一个数据库,与所有这些数据和一些访问的工具。我做了我从虎人口普查数据。我想它会基本上是一个出口我的数据库来源码和代码翻译。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top