查找点(纬度、经度)是否在 OpenStreetMaps "way"(区域)内
Find if a point (latitude, longitude) is within OpenStreetMaps "way" (area)
我有各种房屋、办公室等的经度和纬度点列表。我试图将它们拆分以确定它们是否在某个 Way 内。我不想使用区域的旧 "centre point" 然后使用半径值,因为它不够准确。
例如,如果我在 "Richmond Upon Thames" 这样的方式中有 4 个位置,看起来像这样:
它应该 return 只是点 B 和 C。这可以使用 Open Street Maps API 吗?
如果您喜欢 Java,您可以将道路作为多边形加载并使用 JTS(Java 拓扑套件)库或 AWT 库来计算您的点是否在内部.
Here is an example of how the Atlas 库在特定情况下使用两者的组合。对你来说它看起来像这样:
- 将每个 latitude/longitude 对 Way 转换为
Location
对象
- 将每个
Location
添加到一个列表中并用它创建一个新的多边形
- 对
Polygon
上的每个兴趣点调用 Polygon.fullyGeometricallyEncloses(Location)
方法
图集库 available in Maven Central 供您下载。
我有各种房屋、办公室等的经度和纬度点列表。我试图将它们拆分以确定它们是否在某个 Way 内。我不想使用区域的旧 "centre point" 然后使用半径值,因为它不够准确。
例如,如果我在 "Richmond Upon Thames" 这样的方式中有 4 个位置,看起来像这样:
它应该 return 只是点 B 和 C。这可以使用 Open Street Maps API 吗?
如果您喜欢 Java,您可以将道路作为多边形加载并使用 JTS(Java 拓扑套件)库或 AWT 库来计算您的点是否在内部.
Here is an example of how the Atlas 库在特定情况下使用两者的组合。对你来说它看起来像这样:
- 将每个 latitude/longitude 对 Way 转换为
Location
对象 - 将每个
Location
添加到一个列表中并用它创建一个新的多边形 - 对
Polygon
上的每个兴趣点调用Polygon.fullyGeometricallyEncloses(Location)
方法
图集库 available in Maven Central 供您下载。