JTS Topology Suite 空间数据处理

Posted Hepburn Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JTS Topology Suite 空间数据处理相关的知识,希望对你有一定的参考价值。

JTS Topology Suite

基本概念了解

几何计算

所有几何数据运算都依托于相应的精度格式,精度格式主要分为:Fixed,Floaing, Exact;

  • Fixed: 坐标相当于由N个正方形构成的离散固定矩阵上;
  • Floating: 计算坐标值必须依靠参数来形成一个正方形构成的矩阵然后进行计算,所以坐标值这个时候并不是一个固定的值,而且会出现小数点四舍五入的误差。
  • Exact: 要求坐标点是一个分子式(相当精确)

目前JTS支持Fixed和Floating两种基本类型

空间数据:

通过WKT来了解空间数据Geometry大概长什么样?

WKT,是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-known binary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制定。

WKT可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多面体。可以通过几何集合的方式来表示不同维度的几何对象。
几何物体的坐标可以是2D(x,y),3D(x,y,z),4D(x,y,z,m),加上一个属于线性参照系统的m值。
以下为几何WKT字串样例:

POINT(6 10)
LINESTRING(3 4,10 50,20 25)
POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))
MULTIPOINT(3.5 5.6, 4.8 10.5)
MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4))
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3)))
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))
POINT ZM (1 1 5 60)
POINT M (1 1 80)
POINT EMPTY
MULTIPOLYGON EMPTY

空间数据模型:

空间关系:

两个几何图形之间存在的空间关系:

相等(equals)、分离(disjoint)、相交(intersect)、相接(touches)、交叉(crosses)、包含于(within)、包含(contains)、覆盖/覆盖于(overlaps)。同时,也支持一般的关系(relate)操作符。

是什么?

JTS 主要完成了java对几何对象(点,线,面等),空间拓扑的核心操作算法。 它尽可能实现了OpenGIS Simple Features Specification规范,所以在GIS相关的开源世界里,如Geotools, Uidg等,JTS都得到了大量应用。

api博客:

https://blog.csdn.net/liukang0618/article/details/8600789

以上是关于JTS Topology Suite 空间数据处理的主要内容,如果未能解决你的问题,请参考以下文章

JTS 空间数据关系判定

JTS 空间数据关系判定

JTS 空间数据关系分析

JTS -- 空间数据处理--计算两个几何图形的关系

JTS -- 空间数据处理--计算两个几何图形的关系

JTS 空间数据关系分析