# 1 楼答案 我发现JTS已经易手,或者改变了主页,或者其他什么。可以在此处找到更新的版本:http://maven.geotoolkit.org/com/vividsolutions/jts/1.10/ 编辑:这可能是它的新主页:http://tsusiatsoftware.net/jts/main.html
# 3 楼答案 对于非GIS目的,我可以建议javaGeom库。它使用了大多数人从学校学到的欧几里德几何抽象。最近没有关于这个项目的活动,但我发现它结构良好,易于使用。他们说它支持布尔运算,但从未测试过它们的性能。有一个功能丰富的测试应用程序Euclid,它是由同一位作者开发的。 你可以尝试使用它,但前提是你确定它对你有用 http://sourceforge.net/projects/geom-java/
# 4 楼答案 您应该查看它的包java.awt.geom,它是JDK的一部分 特别是检查^{}类,它允许您在两个Shape之间执行交集操作 编辑 据我所知,找到交点是非常重要的,因为根据所分析的形状,需要应用不同的算法。例如,给出了两个圆相交的算法here,而计算两条贝塞尔曲线之间相交的算法则完全不同(here) 编辑2 一个建议是:您可以查看PathIterator类,该类将形状路径的描述作为一系列段返回。特别是检查FlatteningPathIterator,它会将任何曲线折叠成多条直线。一旦你的路径被简化为直线,计算交点将变得简单。。。虽然很明显,在形状包含曲线的情况下,这是一个近似值
# 5 楼答案 JTS是您最好的免费开源选项。您在JTS中寻找的方法是here 至于商业选项,您有ESRI's Java JNI version的ArcObjects库,该库具有非常强大的几何体库。ESRI库上的接口称为ITopologicalOperator 如果你只想做几何运算,那么JTS是你最好的选择——它是一个优秀的库,有许多不同语言的端口。另一方面,如果您正在寻找一个具有复杂符号、支持GIS工作流和多用户编辑、打印等功能的完整GIS系统,那么我将开始研究ESRI库
# 1 楼答案
我发现JTS已经易手,或者改变了主页,或者其他什么。可以在此处找到更新的版本:http://maven.geotoolkit.org/com/vividsolutions/jts/1.10/
编辑:这可能是它的新主页:http://tsusiatsoftware.net/jts/main.html
# 2 楼答案
JTS——Java拓扑套件——是最好的
http://www.vividsolutions.com/jts/jtshome.htm
它自由、快速、健壮,并且可以处理退化交点
# 3 楼答案
对于非GIS目的,我可以建议javaGeom库。它使用了大多数人从学校学到的欧几里德几何抽象。最近没有关于这个项目的活动,但我发现它结构良好,易于使用。他们说它支持布尔运算,但从未测试过它们的性能。有一个功能丰富的测试应用程序Euclid,它是由同一位作者开发的。 你可以尝试使用它,但前提是你确定它对你有用
http://sourceforge.net/projects/geom-java/
# 4 楼答案
您应该查看它的包
java.awt.geom
,它是JDK的一部分特别是检查^{} 类,它允许您在两个
Shape
之间执行交集操作编辑
据我所知,找到交点是非常重要的,因为根据所分析的形状,需要应用不同的算法。例如,给出了两个圆相交的算法here,而计算两条贝塞尔曲线之间相交的算法则完全不同(here)
编辑2
一个建议是:您可以查看
PathIterator
类,该类将形状路径的描述作为一系列段返回。特别是检查FlatteningPathIterator
,它会将任何曲线折叠成多条直线。一旦你的路径被简化为直线,计算交点将变得简单。。。虽然很明显,在形状包含曲线的情况下,这是一个近似值# 5 楼答案
JTS是您最好的免费开源选项。您在JTS中寻找的方法是here
至于商业选项,您有ESRI's Java JNI version的ArcObjects库,该库具有非常强大的几何体库。ESRI库上的接口称为ITopologicalOperator
如果你只想做几何运算,那么JTS是你最好的选择——它是一个优秀的库,有许多不同语言的端口。另一方面,如果您正在寻找一个具有复杂符号、支持GIS工作流和多用户编辑、打印等功能的完整GIS系统,那么我将开始研究ESRI库