需要一个独立的 Java 库来对 lat/lon 数据执行空间计算 [已关闭]

我正在寻找一个能够对纬度/经度数据集执行空间计算的Java库。以下是我正在寻找的一些功能:

  • 计算两点之间的大圆距离
  • 确定点是否位于简单的闭合面内,其中面由点的有序列表定义
  • 确定点“A”和点“B”之间的线是否与简单的闭合多边形相交,其中多边形由点的有序列表定义
  • 确定点“A”是否在点“B”的一定半径内

我不是在寻找什么:

  • 我不希望库依赖于数据库地理空间组件(如 Oracle Spatial),并且无法独立运行。
  • 我不想要一个旨在生成图形/地图/等的库。我正在为现有应用程序构建一个分析模块,最终目标不是创建漂亮的图片。
  • 我不想要一个用于搜索大量空间数据的库。如果它碰巧也这样做,那没关系,但我不打算使用该功能。

该组织计划最终获得 Oracle Spatial 的许可证(因此此时将涵盖空间搜索),但现在我需要在小型数据集上实现我上面提到的分析功能,而无需依赖数据库提供的空间支持。


答案 1

我相信GeoTools会满足您的要求。请注意,它确实具有用于制作图形/地图的功能,但是它们可以很容易地未使用。


答案 2

有一个新的库Spatial4J似乎可以满足您的需求,它支持各种空间和形状

Spatial4j是一个通用的空间/地理空间ASL许可的开源Java库(...)

到目前为止我还没有使用它,但它是完整的,存储库相当流行,并且在maven存储库上可用,当我最终在存储库和这个问题上结束时,我一直在寻找这样的空间库。README


推荐