Geometry理解

WKT含义

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

以下为几何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)


1.Point

点对象, 有一个坐标值,没有长度、面积、边界。
数据格式为『经度(longitude)在前,维度(latitude)在后,用空格分隔』

例: POINT(121.213342 31.234532)

2.LineString

线对象, 由一系列点连接而成。
如果线从头至尾没有交叉,那就是简单的(simple)
如果起点和终点重叠,那就是封闭的(closed)
数据格式为『点与点之间用逗号分隔;一个点中的经纬度用空格分隔,与POINT格式一致』

例:LINESTRING(121.342423 31.542423,121.345664 31.246790,121.453178 31.456862)

3.Polygon

多边形对象。可以是一个实心平面形,即没有内部边界,也可以有空洞,类似纽扣
数据格式为
『实心型: 一个表示外部边界的LineString和0个表示内部边界的LineString组成』

例:
 POLYGON((121.342423 31.542423,121.345664 31.246790,121.453178 31.456862),(121.563633 31.566652,121.233565 31.234565,121.568756 31.454367))
 『纽扣型: 一个表示外部边界的LineString和多个表示内部边界的LineString组成』例: POLYGON((0 0,10 0, 10 10, 0 10))

Geometry对象

Geometry是一种空间几何数据类型,常用于描述空间几何信息,例如坐标点、线、面、三维信息等。也就是说,GIS管理系统一般使用Geometry数据类型来存储及展示地理信息。JAVA开源库建使用locationtech/**jts**操作Geometry对象。

最后

使用java-jts包中Geometry对象转换成数据库中的Geometry对象,将Geometry对象以十六进制的形式持久化到数据库。

请求数据拿到的数据是标准的WKT数据格式,如

         "geom": "LINESTRING (113.452177716 23.452428643, ****, 113.453261328 23.453485433, 113.454189372 23.454333011, 113.457090235 23.456884543, 113.457433558 23.457249216)",

你可能感兴趣的:(java,java)