JTS-Geometry 使用说明(五)

article/2025/8/15 3:02:23

org.locationtech.jts.geom.Geometry 使用说明

示例代码库

Geometry 经纬度操作类

Geometry类继承关系

在这里插入图片描述

说明

平面、线性几何操作抽象类

提供的相关方法:

1.基础方法

1.1 getLength:获取长度,线几何返回点与点之间的长度之和;闭合几何返回周长;其它返回0

1.2 getSRID:获取srid

1.3 isEmpty:判读几何是否是空,判断几何的 point.size == 0 ; 或者几何包含 empty: reader.read(“POINT EMPTY”)

1.4 isRectangle:判断几何是否是Polygon

1.5 isValid:判断几何是否符合OGC SFS规格(OGC SFS specification),例如:Polygon是否自相交等

1.6 getCentroid: 获取中心点

1.7 getCoordinates:获取coordinate数据

1.8 getEnvelope:获取边界

1.9 toText:返回WKT格式数据

2.查询比较方法:

2.1 equals(Geometry g): 判断两个几何是否相等,不用于GeometryCollection,图引用来自sfs标准

在这里插入图片描述


2.2 disjoint(Geometry g): 判断几何是否是不相交(脱节)的

在这里插入图片描述


2.3 intersects(Geometry g): 判断几何是否相交:

在这里插入图片描述


2.4 touches(Geometry g): 判断几何是否接触:

在这里插入图片描述


2.5 crosses(Geometry g): 判断几何是否交叉:

在这里插入图片描述


2.6 within(Geometry g): 判断当前几何是否在指定的几何内部:

在这里插入图片描述


2.7 contains(Geometry g): 判断当前几何包含g几何:

在这里插入图片描述


2.8 overlaps(Geometry g): 判断当前几何与参数g几何是否部分重叠:

在这里插入图片描述


2.9 relate(Geometry g, String intersectionPattern): 判断当前几何与参数几何是否符合输入的 DE-9IM(例如:intersectionPattern=0*01T12F2)

2.10 covers(Geometry g): 判断当前几何是否覆盖参数g几何:例如黄色的几何覆盖内层几何

在这里插入图片描述


2.11 coveredBy(Geometry g): 判断当前几何是否被参数g几何掩盖:例如内层几何被外层黄色几何掩盖

在这里插入图片描述


3.计算方法:

3.1 intersection(Geometry other): 返回当前几何与输入几何相交的几何数据

在这里插入图片描述


3.2 difference(Geometry other): 计算差异几何,差异分析,返回other与当前几何不同的几何数据

在这里插入图片描述


3.3 union(Geometry other): 合并几何

在这里插入图片描述


3.4 symDifference(Geometry other): 对称差异分析,排除一样(重叠)的几何,将当前与other不一样的几何合集返回

在这里插入图片描述


3.5 buffer(double distance): 加buffer

在这里插入图片描述


3.6 buffer(double distance, int quadrantSegments): 加buffer,边界样式

在这里插入图片描述


3.7 convexHull(): 凸包分析,返回当前的几何的覆盖面

在这里插入图片描述


在这里插入图片描述

直接子类

GeometryCollection, LineString, Point, Polygon

操作示例

import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.PrecisionModel;
import org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory;
import org.locationtech.jts.io.ParseException;
import org.locationtech.jts.io.WKTReader;
import java.io.*;public class GeometryTest {public static void main(String[] args) throws FileNotFoundException, ParseException {PrecisionModel precisionModel = new PrecisionModel();GeometryFactory geometryFactory = new GeometryFactory(precisionModel, 0 ,PackedCoordinateSequenceFactory.DOUBLE_FACTORY);//通过geometryFactory 或者 Geometry子类创建 Geometry 实例//通过wktReader读取飞机形状wkt数据 (见图一)WKTReader wktReader = new WKTReader(geometryFactory);InputStream is = GeometryTest.class.getResourceAsStream("/wkt/plane.wkt");Geometry geometry = wktReader.read(new InputStreamReader(is));System.out.printf("WKT几何形状%s \r\n",geometry.toText());//Geometry常用方法示例 (见图一) 红色框代表边界Geometry envelopeGeo =  geometry.getEnvelope();System.out.printf("WKT边界 geometry.getEnvelope %s", envelopeGeo.toText());}
}

操作示例截图(图一)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/CKWlX8cI.shtml

相关文章

JAVA使用JTS 判断坐标点是否在坐标多边形内部

JAVA使用JTS 判断坐标点是否在坐标多边形内部 思路Geometry之间的关系API及参考博客代码依赖工具类测试类 思路 判断坐标点是否在坐标多边形内部,首先不能直接计算坐标点,是需要字符串坐标点转化为地理空间数据Geometry,然后使用JTS包中提供…

JTS学习笔记

JTS学习笔记 基础的类 Geometry geom对象Coordinate坐标类Point Point对象MultiPoint 基本对象MultiPoint等等GeometryFactory工厂对象PreparedGeometryFactoryPreparedGeometry 几何对象Geometry public abstract class Geometry implements Cloneable, Comparable, Seria…

JTS-Angle GIS几何角度计算使用说明(十八)

org.locationtech.jts.algorithm.Angle 角度计算使用说明 示例代码库 Angle 角度计算 1.Angle.angle(p0,p1) public static double angle(Coordinate p0, Coordinate p1) {double dx p1.x - p0.x;double dy p1.y - p0.y;return Math.atan2(dy, dx); }返回与x轴正方向的夹…

java jts_Java Topology Suite (JTS)与空间数据模型

JTS是Java的处理地理数据的API,它提供以下功能: 实现了OGC关于简单要素SQL查询规范定义的空间数据模型 一个完整的、一致的、基本的二维空间算法的实现,包括二元运算(例如touch和overlap)和空间分析方法(例如intersection和buffer) 一个显示的…

java jts点到面的距离_jts-空间索引

前言: 如果您对JTS这三个词还是没有一个概念,那么推荐您关注一下sinoly的博客。这个我能够找到为数不多的关于jts的中文资料。 http://www.blogjava.net/sinoly/archive/2007/02/09/99042.html 下面这段话就是摘抄自sinoly老兄的博客: ......…

JTS Geometry关系判断和分析

关系判断 Geometry之间的关系有如下几种: 相等(Equals): 几何形状拓扑上相等。 脱节(Disjoint): 几何形状没有共有的点。 相交(Intersects): 几何形状至少有一个共有点(区别于脱节) 接触(Touches)&a…

JTS Geometry用例分析

微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路 拓扑关系 GeometryTest import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.GeometryCollection; import…

JTS 笔记

简介 JTS由加拿大的VividSolutions公司开发,是一个用Java语言描述的几何拓扑套件,遵循OpenGIS的Simple Feature Specification,封装了2D几何类型和非常多的空间分析操作,而且包含了不少常见的计算几何算法实现。     JTS被广泛…

jts 简介、中文文档、中英对照文档 下载

jts 文档 下载链接(含jar包、源码、pom) 组件名称中文-文档-下载链接中英对照-文档-下载链接jts-1.13.jarjts-1.13-API文档-中文版.zipjts-1.13-API文档-中英对照版.zip jts 简介 JTS拓扑套件 JTS拓扑套件是一个用于建模和操作二维线性几何的API。它…

GeoTools——JTS的相关介绍和操作

GeoTools——JTS的相关介绍&#xff08;一&#xff09; JTS拓扑套件是GeoTools用于提供Geometry数据结构的实现&#xff0c;Geometry主要是指几何形状。 想要使用geoTools——JTS相关的操作可以导入以下的依赖<properties><geotools.version>17.1</geotools.ver…

java topo: 开源jtopo框架

java web 非本人研究方向&#xff0c;只是作为拓展知识涉猎范围 原文链接&#xff1a;http://www.jtopo.com/index.html jTopo是什么? jTopo&#xff08;Javascript Topology library)是一款完全基于HTML5 Canvas的关系、拓扑图形化界面开发工具包。 jTopo关注于数据的图形展…

JTopo踩坑记 -- React项目中使用JTopo

JTopo踩坑记 – React项目中使用JTopo JTopo-in-node & JTopo 最近实习公司一个项目需要绘制电网的拓扑图&#xff0c;大致要求的效果如下&#xff1a; 首先想到的是Echarts和d3&#xff0c;因为这个项目其他图表都是使用的Echarts&#xff0c; 但是在Echarts的官方示例…

jtopo的项目实战(七)

话接上回&#xff0c;继续实现jtopo本身不具有的一些功能&#xff0c;有讲的不对的地方&#xff0c;欢迎大家在评论区留言提出&#xff0c;博主基本每天在线&#xff0c;看到都会及时回复的&#xff0c;我们一起进步&#xff0c;奥利给&#xff0c;还有&#xff0c;码字不易&am…

关于vue3.0项目引入jtopo出现的各种问题汇总

jtopo官网demo网址&#xff1a;http://www.jtopo.com/demo.html 最近的项目需要用到jtopo&#xff0c;关于jtopo的引入&#xff0c;之前自己也都尝试过&#xff0c;没想到这次引入会出现这么多问题&#xff0c;所以大概总结一下 1、借用同事以前的经验来引入 npm install jto…

JTopo 框架教程之一:初始JTopo 框架

JTopo 是什么&#xff1f; JTopo&#xff08;Javascript Topology library)是一款完全基于HTML5 Canvas的关系、拓扑图形化界面开发工具包。jTopo关注于数据的图形展示&#xff0c;它是面向开发人员的&#xff0c;需要进行二次开发。使用jTopo很简单&#xff0c;可以快速创建一…

jtopo的项目实战(一)

前言 初识jtopo是因为项目中需要一个能够动态绘制网络拓扑图的插件&#xff0c;不但能画出基本的网络拓扑结构&#xff0c;还要能够标识出网络设备的类型以及端口设置&#xff0c;甚至是网络连线的流量信息等&#xff0c;基于这个需求查找了很多资料&#xff0c;初步选中了几款…

jtopo的项目实战(二)

话接上回&#xff0c;继续实现jtopo本身不具有的一些功能&#xff0c;有讲的不对的地方&#xff0c;欢迎大家留言提出&#xff0c;我们一起进步&#xff0c;奥利给&#xff0c;还有&#xff0c;码字不易&#xff0c;如果觉得博主写的不错的欢迎打赏哈&#xff01; 2.美化节点之…

vue、jtopo绘制鱼骨图

效果如下图所示&#xff1a; 一、文件目录结构&#xff1a; 二、绘制png的鱼头、鱼尾图片 fish_head.png&#xff1a; fish_tail.png&#xff1a; 三、下载js文件 jquery、jtopo请到官网下载。 四、编写鱼骨图核心文件&#xff1a;MakFishBone.js let MakFishBo…

通过JTopo.js在网页绘制网络拓扑图

项目中遇到要在网页中绘制网络拓扑图的需求&#xff0c;要求节点具备点击、拖拽、缩放等交互功能&#xff0c;并且可以显示/隐藏详细信息&#xff0c;数据是设备实时上报来的。 综上&#xff0c;用画拓扑图的工具画一张固定的图片偷懒显然是不行的&#xff0c;最好是找到一个封…

JTopo添加动态连线

效果如下 先在 JTopo 的 link 原型上定义一个方法 window.requestAnimationFrame window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame JTopo.Link.prototype.drawanimepic functi…