public static void main(String[] args) throws ParseException {
GeometryFactory geometryFactory = new GeometryFactory();
WKTReader reader = new WKTReader(geometryFactory);
Polygon geometry1 = (Polygon) reader.read("POLYGON((0 0, 2 0 ,2 2, 0 2,0 0))");
Polygon geometry2 = (Polygon) reader.read("POLYGON((0 0, 4 0 , 4 1, 0 1, 0 0))");
OverlayOp op = new OverlayOp(geometry1,geometry2);
Geometry g = op.getResultGeometry(OverlayOp.INTERSECTION);
System.out.println(g.getArea());
前言通过JTS可以实现多边形求面积以及多个多边形求重合度,本文章只列举几个简单的使用例子。详细的文档使用链接:http://www.tsusiatsoftware.net/jts/main.htmlJTS1.依赖<dependency> <groupId>com.vividsolutions</groupId> <artifactId>jts-core</artifactId> <version>1.14.0</v
JTS拓扑套件
JTS拓扑套件是一个用于创建和处理矢量几何的Java库。 它还提供了一套全面的几何测试用例,以及用于处理和可视化几何和JTS功能的TestBuilder GUI应用程序。
JTS是Eclipse Foundation的工作组的一个项目。
当前,JTS针对Java 1.8及更高版本。
JTS是开源软件。 它在以下情况下具有双重许可:
(BSD样式许可证)
也可以看看:
最新版本的JTS的
-常见问题
-安装和使用JTS
-JTS随附的指南
-如何为JTS进行构建和开发
-如何从以前的JTS版本迁移
先前的JTS SourceForge存储库中的位于分支中
可以在SourceForge上找到旧版本的JTS
有老版本的发行版的存档
如果您有兴趣为JTS做出贡献,请阅读。
衍生物(其他语言的端
文章目录1 前言2 JSTS3 turf4 安装使用4.1 jsts4.1.1 直接引入4.1.2 NPM4.2 turf4.1.1 直接引入4.1.2 NPM5 空间分析5.1 判断是否包含5.2 判断是否交叉5.3 判断是否重叠5.4 缓冲6 体积和性能6.1 体积6.2 性能6.2.1 jsts在node端6.2.2 jsts和turf对比
通常,提到GIS的空间分析,我们会联系到ArcGIS,QGIS等这些GIS软件。这些工具软件,在空间处理能力方面,非常强大,是我们处理空间数据的非常有力
做图形处理的时候,经常遇到面的边线有自相交的交点,当进行面面合并、拆分时就会报错:
com.vividsolutions.jts.geom.TopologyException: side location conflict [ (1.3808092156632675E7, 4827228.3856722275, NaN) ]
这里使用面的边线进行自相交,获取线的所有点(包含相交点),然后在重新生成多边形面。
处理前的图形:
处理代码:
public static voi