【问题标题】:Is it possible to get cities polygonal boundaries like in Google Maps?是否可以像在谷歌地图中那样获得城市的多边形边界?
【发布时间】:2013-01-01 08:43:51
【问题描述】:

我想知道 GPS 位置是在有人居住还是无人居住 区域。

我已经尝试了一些反向地理编码服务,但所有这些服务都被证明是无用的,因为它们选择了最近的地址。 (我明白为什么会这样,它对反向地理编码很有用)

我注意到在 Google 地图中,当我搜索一个城市时,它们的边界被选择为 红色 虚线 定义明确线。我很乐意使用它或类似的东西。

有没有什么方法可以让谷歌地图提供这样的服务,或者可以解决我的问题。

您知道有没有其他网络解决方案或数据库可以为我提供这些信息?

或者我可以使用任何带有一些参数(例如限制搜索大小)的反向地理编码解决方案来确定该位置是否在人口稠密的区域?

【问题讨论】:

    标签: google-maps gps location reverse-geocoding


    【解决方案1】:

    如果您找不到公共服务,那么它会变得有趣,并且在开发工作方面成本很高。

    公共数据(全球)只能从 OpenStreetMap 获得,我认为他们有这样一个图层(可以命名为 Land_use(农村等))这个图层通常用于为地图着色,查看 openstreet 地图网页如果您找到合适的颜色,则与您的任务相对应。 (例如看绿色或灰色)。

    这些数据存储在多边形中,您可以从顶部提取这些多边形(我假设它们有数百万个)。十你需要一个快速搜索的空间索引,比如区域四叉树。

    然后您执行“point(lat, lon) in polygon”调用,并获取与您的位置相关的多边形。

    可能并非所有多边形都适合主内存,因此您必须按需加载它们(例如按国家/地区)。

    此方法的一种变体是使用诸如 postgres 之类的地理空间数据库来存储该多边形,并进行数据库查询。

    使用这种方法,大部分工作将从 OpenStreetMap DB 文件中提取多边形。

    更准确的是来自 TomTom 的数据,但这些数据可能非常昂贵。

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 1970-01-01
      • 2012-06-03
      • 2017-04-30
      • 2011-08-12
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多