有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java几何库

是否有适用于Java的几何图形库?我正在寻找解决方案,以获得两个几何体对象之间的交点


共 (5) 个答案

  1. # 3 楼答案

    对于非GIS目的,我可以建议javaGeom库。它使用了大多数人从学校学到的欧几里德几何抽象。最近没有关于这个项目的活动,但我发现它结构良好,易于使用。他们说它支持布尔运算,但从未测试过它们的性能。有一个功能丰富的测试应用程序Euclid,它是由同一位作者开发的。 你可以尝试使用它,但前提是你确定它对你有用

    http://sourceforge.net/projects/geom-java/

  2. # 4 楼答案

    您应该查看它的包java.awt.geom,它是JDK的一部分

    特别是检查^{}类,它允许您在两个Shape之间执行交集操作

    编辑

    据我所知,找到交点是非常重要的,因为根据所分析的形状,需要应用不同的算法。例如,给出了两个圆相交的算法here,而计算两条贝塞尔曲线之间相交的算法则完全不同(here

    编辑2

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

  3. # 5 楼答案

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

    至于商业选项,您有ESRI's Java JNI version的ArcObjects库,该库具有非常强大的几何体库。ESRI库上的接口称为ITopologicalOperator

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