找出一个点(纬度,经度)是否在OpenStreetMaps" way" (区域)

时间:2018-04-23 15:56:50

标签: geolocation openstreetmap latitude-longitude

我有各种房屋,办公室等的经度和纬度点列表。我试图将它们分开以确定它们是否在某个Way内。我不想使用旧的"中心点"一个区域,然后半径值,因为它不够准确。

所以,例如,如果我有一个像#34; Richmond Upon Thames"看起来像这样:enter image description here

它应该只返回B​​点和C点。这是否可以使用Open Street Maps API?

1 个答案:

答案 0 :(得分:2)

如果你喜欢Java,你可以加载Polygon的方式并使用JTS(Java拓扑套件)库或AWT库来计算你的点是否在里面。

HereAtlas库在特定情况下如何使用两者的组合的示例。对你而言,它看起来像这样:

  1. 将Way的每个纬度/经度对转换为Location对象
  2. 将每个Location添加到列表中并使用它创建新的多边形
  3. 使用您感兴趣的每个点,在Polygon.fullyGeometricallyEncloses(Location)上调用Polygon方法
  4. Atlas库available in Maven Central供您下载。