添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

通过JTS可以实现多边形求面积以及多个多边形求重合度,本文章只列举几个简单的使用例子。
详细的文档使用链接: http://www.tsusiatsoftware.net/jts/main.html

<dependency>
	<groupId>com.vividsolutions</groupId>
	<artifactId>jts-core</artifactId>
	<version>1.14.0</version>
</dependency>

2.求单个多边形面积

public static void main(String[] args) throws ParseException {
    GeometryFactory geometryFactory = new GeometryFactory();
    WKTReader reader = new WKTReader(geometryFactory);
    Polygon geometry = (Polygon) reader.read("POLYGON((0 0, 10 0, 9 9.5, 0 10,0 0))");
    System.out.println(geometry.getArea());

3.求两个多边形合并面积

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.UNION);
    System.out.println(g.getArea());

4.求两个多边形相交面积

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.依赖&lt;dependency&gt;	&lt;groupId&gt;com.vividsolutions&lt;/groupId&gt;	&lt;artifactId&gt;jts-core&lt;/artifactId&gt;	&lt;version&gt;1.14.0&lt;/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