找到最接近地理坐标的地块

时间:2014-03-03 21:05:58

标签: geolocation geospatial reverse-geocoding

作为开发人员挑战的一部分,我正在尝试确定最接近给定坐标的陆块。显然,如果该点在陆地上,我使用反向地理编码并可以获得详细信息。问题在于,如果这个点位于水体中,特别是海洋中,它通常不会返回任何东西(Google,Nokia,Bing)。我想知道距离加利福尼亚海岸3英里的地方距离美国3英里,距离日本x英里,距离韩国约70英里,当时一个点远远超过一个国家。有没有提供此信息的服务?

2 个答案:

答案 0 :(得分:2)

  • 获取世界Maine Regions
  • 的KML文件
  • 将其简化为最小数量的粗糙多边形。
  • 抓住你的位置,它是within一个多边形吗?
    • 如果您的位置位于多边形,则它位于海上,通过内边界和外边界上的点迭代以使用Haversine Formula找到最近的点。这将是陆地上最近的点。
    • 如果您的位置不在于多边形,那么您已经在陆地上,请执行直接反向地理编码。

想象世界有点像游戏外交的董事会

enter image description here

现在将海域合并成更大的多边形,其中有岛屿洞。 如果你不在海上,你必须在陆地上吗?

答案 1 :(得分:0)

检查此处Verify if a point is Land or Water in Google Maps中的旧帖子,查看 Koordinates Vector JSON查询服务的答案