首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用geotools实现WGS84中线段与点的最短距离

用geotools实现WGS84中线段与点的最短距离
EN

Stack Overflow用户
提问于 2014-07-17 17:05:20
回答 2查看 2.4K关注 0票数 4

在几何工具中,可以使用几何类中的距离函数来找到两个几何图形之间的距离。几何有一个点子类,但没有几何的线段子类。然而,LineSegment类是从LineString派生出来的,它不是几何类的子类。我试过使用JTS,但似乎JTS只适用于笛卡尔坐标系。

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

请注意:我知道有答案,所以这样做,而不使用地理工具。由于我们在项目中使用geotools,并且代码可维护性非常重要,所以我想在geotools中这样做。

EN

回答 2

Stack Overflow用户

发布于 2014-07-18 11:46:36

简单的解决方案(假设你的点靠近这条线)是使用JTS来找到最近的点(暂时忽略地球的曲率),然后使用GeodeticCalculator来找到这两个点之间的距离。对于短距离,这应该是好的。

如果您需要更高的精度,您需要重新规划您的线和指向一个平面投影,并在该投影中的所有计算直接使用JTS。

PS LineString扩展了几何学(检查你有哪种几何)。

票数 0
EN

Stack Overflow用户

发布于 2017-05-03 01:44:28

在我看来,您必须使用geotools将WGS84和弦转换为TM,linestring..Here是我的博客中关于CRS类geotools的一些示例代码。

http://blog.naver.com/tommybee/50154157186

..。然后计算线串上点到点的距离。您最终可以通过将原始的协调参考系统转换为来自TM的WGS84 (Transverse)来获得结果。

https://github.com/geotools/geotools/blob/master/docs/src/main/java/org/geotools/jts/SnapToLine.java

还有更多关于距离的讨论,您可以查看下面的geotools用户站点。

http://osgeo-org.1560.x6.nabble.com/position-on-LineString-that-is-closest-to-Point-td4322083.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24809534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档