JTS Topology Suite
Java Transaction Service(Java事务服务)拓扑套件,是一种能够利用清楚精确的模型和强大的几何算法来实现一套核心空间数据操作的JAVA 应用编程接口(API)。它提供一种详细说明2-D线性几何图形(Geometry)的完善模式。许多在计算几何学的普通操作(Operation)和空间数据处理在一个清晰的,一致的,完整的应用程序接口(API)是无掩蔽的。Java事务服务(JTS)是为了致力于能够支持确定性,清洁性,完整性和对空间数据进行查询的应用软件的发展。
JTS拓扑套件是开源的,可以下载。
关于多边形空间关系和空间操作,网上介绍最多的是这个:
JTS一个重要的应用是计算几何图形(Geometry)之间的空间关系,它提供了多种多样的用于处理空间关系的办法。JTS遵循OGC详细说明的维扩展九交集模型(the Dimensionally-Extended 9 Intersection Matrix model)。为计算两个几何图形的维扩展九交集模型,利用相关的办法去计算:
大多数重要关系可以详细说明成为一种匹配一组交叉矩阵的模式。JTS同样提供了一套布尔数学体系(boolean)的能够直接计算普通空间关系的谓项(predicates谓项,阐述)。它们包括:
相等(Equals): |
几何形状拓扑上相等。 |
脱节(Disjoint): |
几何形状没有共有的点。 |
相交(Intersects): |
几何形状至少有一个共有点(区别于脱节) |
接触(Touches): |
几何形状有至少一个公共的边界点,但是没有内部点。 |
交叉(Crosses) |