三行Java代码实现计算多边形的几何中心点_第1页
三行Java代码实现计算多边形的几何中心点_第2页
三行Java代码实现计算多边形的几何中心点_第3页
三行Java代码实现计算多边形的几何中心点_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三行Java代码实现计算多边形的几何中心点目录前言示例代码

前言

因为工作设计到gis相关的内容,需要计算采煤机工作面的中心点。如果套用数学的计算公式,用java去实现,太多麻烦还费时比较久,于是我找到java几何计算的工具包,几行代码就能求出多变形的中心,简直yyds!!!

废话不多说直接上代码,然后再慢慢讲解

示例代码

首先再maven项目的pom文件中引入依赖

properties

java.version1.8/java.version

maven.plugin.version3.8.1/maven.plugin.version

spring.boot.version2.1.16.RELEASE/spring.boot.version

ject.version2.6.0.RELEASE/ject.version

spring.platform.versionCairo-SR8/spring.platform.version

project.build.sourceEncodingUTF-8/project.build.sourceEncoding

maven.build.timestamp.formatyyyyMMddHHmmss/maven.build.timestamp.format

geotools.version28-SNAPSHOT/geotools.version

/properties

dependency

groupIdorg.geotools/groupId

artifactIdgt-main/artifactId

version${geotools.version}/version

/dependency

下面代码以四边形为例,计算面积和中心点

demo1

publicstaticvoidmain(String[]args){

GeometryFactorygeometryFactory=JTSFactoryFinder.getGeometryFactory();

CoordinateListcoords=newCoordinateList();

coords.add(newCoordinate(3630789.1856605336,3.943998533907477E7));

coords.add(newCoordinate(3630480.3613995733,3.944116440724006E7));

coords.add(newCoordinate(3630128.8984496593,3.944109300504929E7));

coords.add(newCoordinate(3630408.0016770884,3.943992775038134E7));

//闭合

coords.closeRing();

Polygonpolygon=geometryFactory.createPolygon(coords.toCoordinateArray());

//输出中心点

System.out.println(polygon.getCentroid());

//输出多边形面积

System.out.println(polygon.getArea());

demo2

publicstaticvoidmain(String[]args){

GeometryFactorygeometryFactory=JTSFactoryFinder.getGeometryFactory();

//最后一个点和第一个相同完成多边形的线段闭合

Coordinate[]coords=newCoordinate[]{newCoordinate(1,5),newCoordinate(1,1),newCoordinate(5,1),newCoordinate(5,5),newCoordinate(1,5)};

Polygonpolygon=geometryFactory.createPolygon(coords);

//输出中心点

System.out.println(polygon.getCentroid());

//输出多边形面积

System.out.println(polygon.getArea());

以上代码值得注意的有两点:

1.坐标点的顺序必须保证是几何图形的相邻点,顺时针相连或者逆时针都可以。

2.最后要完成闭合,闭合的方式即最后一个点必须和第一个点相同。

如图所示,顺序按照A-B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论