Java 的几何库 [已关闭]

2022-09-01 07:38:18

是否有任何可用于 Java 的几何库?我正在寻找解决方案来获得两个几何对象之间的交点。


答案 1

JTS是你最好的免费开源选项。您在JTS中寻找的方法在这里

就商业选项而言,您有ESRI的Java JNI版本的ArcObjects库,它具有非常强大的几何库。ESRI 库上的接口称为 ITopologicalOperator

如果您要做的只是几何操作,那么JTS是您最好的选择 - 它是一个出色的库,具有许多不同语言的端口。另一方面,如果您正在寻找一个具有复杂符号系统、支持 GIS 工作流和多用户编辑、打印等功能的整个 GIS 系统,那么我将开始查看 ESRI 库。


答案 2

你应该看看的软件包,这是JDK的一部分。java.awt.geom

特别是查看java.awt.geom.Area类,它允许您在两个s之间执行交集操作。Shape

编辑

据我所知,找到交点并非易事,因为您需要根据要分析的形状应用不同的算法。例如,这里给出了两个圆之间相交的算法,而计算两条贝塞尔曲线之间切口的算法是完全不同的(这里)。

编辑 2

一个建议:您可以查看该类,该类将形状路径的描述作为一系列段返回。特别是检出 ,它会将任何曲线折叠成多条直线。一旦您的路径被简化为直线,计算交点将很简单......尽管很明显,这是在形状包含曲线的情况下的近似值。PathIteratorFlatteningPathIterator


推荐