JTS的com.vividsolutions.jts.algorithm包提供了拓扑服务中的常用算法。其包含类的功能如下:
CentroidArea |
CentroidLine | | |||||| 对应计算Area、Line、Point的质心
CentroidPoint |
InteriorPointArea |
InteriorPointLIne | | ||||| 对应计算Point与Area、Line、point的关系
InteriorPointPoint |
ConvexHull ||||||||| 计算Geometry的凸包,采用Graham Scan算法
HCoordinate ||||||||| 对两个Line Segment进行快速求交,采用近似算法
MinimumDiamater ||||||||| 计算Geometry的最小直径,最小直径的概念是:包含所有点最小圆的直径
CGAlgorithm 〈基类〉 |
RobustCGAlgorithm | 定义Geom常用的一些算法
NonRobustCGAlgorithm |
PointInRing 〈接口〉 | 定义了IsInside()方法
MCPointInRing | 采用Monotone Chains方法实现PointInRing接口
SimplePointInRing |简单实现
SIRtreePointInRing |采用SIR树的方法实现PointInRing接口
LineIntersector 〈基类〉 |对线的相交进行判断,如相交则返回交点
RobustLineIntersector |健壮实现
NonRobustLineIntersector |非健壮实现
此外还有几个比较零散的类,作用不是很大,在此不写了。
CentroidArea |
CentroidLine | | |||||| 对应计算Area、Line、Point的质心
CentroidPoint |
InteriorPointArea |
InteriorPointLIne | | ||||| 对应计算Point与Area、Line、point的关系
InteriorPointPoint |
ConvexHull ||||||||| 计算Geometry的凸包,采用Graham Scan算法
HCoordinate ||||||||| 对两个Line Segment进行快速求交,采用近似算法
MinimumDiamater ||||||||| 计算Geometry的最小直径,最小直径的概念是:包含所有点最小圆的直径
CGAlgorithm 〈基类〉 |
RobustCGAlgorithm | 定义Geom常用的一些算法
NonRobustCGAlgorithm |
PointInRing 〈接口〉 | 定义了IsInside()方法
MCPointInRing | 采用Monotone Chains方法实现PointInRing接口
SimplePointInRing |简单实现
SIRtreePointInRing |采用SIR树的方法实现PointInRing接口
LineIntersector 〈基类〉 |对线的相交进行判断,如相交则返回交点
RobustLineIntersector |健壮实现
NonRobustLineIntersector |非健壮实现
此外还有几个比较零散的类,作用不是很大,在此不写了。