使用geotools api的WGS84 crs中线段和点之间的最短距离



在geotools中,您可以使用Geometry类中的距离函数找到两个几何图形之间的距离。几何中有一个点子类,但没有线段子类。然而,linesegement类派生自LineString,它不是Geometry类的子类。我尝试使用JTS,但它显示为JTS只适用于笛卡尔坐标系。

问题:如何在WGS84 crs中找到LineSegment与点之间的最短距离(以米为单位)

请注意:我知道在不使用geotools的情况下,SO上有可用的答案。由于我们在项目中使用geotools,并且代码的可维护性非常重要,所以我想在geotools中完成。

简单的解决方案(假设您的点接近线)是使用JTS找到最近的点(现在忽略地球的曲率),然后使用GeodeticCalculator找到两点之间的距离。对于短距离,这应该没问题。

如果你需要更高的精度,你需要重新投影你的线(s),并指向一个平面投影,并在该投影中使用JTS直接做所有的计算。

PS LineString扩展Geometry(检查您拥有的几何类型)。

相关内容

  • 没有找到相关文章

最新更新