本文介绍Lindorm GanosBase服务的空间数据类型和数据格式。
Geometry类型及其子类
Lindorm GanosBase支持的空间数据类型如下表:
数据类型 | 描述 | 使用示例 |
Geometry | 表示通用的空间对象,是Point、LineString、Polygon、MultiPoint、MultiPolygon、MultiLineString和GeometryCollection的父类型。不建议直接将空间列定义为Geometry。 说明
| 创建时空数据表时指定空间列的数据类型。 |
Point | 表示点类型数据,由坐标经度x和纬度y组成。 说明 不支持三维点坐标的计算,存储的三维点在计算时会被转为二维点。 | 车辆、船舶接收到的GPS坐标信息。 |
LineString | 表示线类型数据,由两个或多个点组成。前一条线段的终点是下一条线段的起点。 说明 一条线段必须有两个及以上的点,连续顶点可以相等。 |
|
Polygon | 表示面类型数据,面的外边界是一个闭合的环,即起点和终点的坐标x、y是相等的。 说明 一个面至少需要三个点才能组成。 |
|
MultiPoint | 表示零个或多个Point的集合。 | 游乐园所有售票处。 |
MultiLineString | 表示零条或多条LineString的集合。 | 一条由多个LineString组成的街道。 |
MultiPolygon | 表示零个或多个Polygon的集合。 | 一个由多个县或区组成的市。每个县或区都是一个Polygon。 |
GeometryCollection | 表示零个或多个Geometry的集合。 | 多种图形的集合。 |
Geometry类型的构造
将点坐标格式构造为Geometry对象
使用时空函数ST_MakePoint
将数值类型的点坐标数据构造为Geometry Point对象,或使用时空函数ST_LineFromMultiPoint
数值类型的点坐标数据构造为Geometry LineString对象,详细介绍,请参见构造函数 。
将WKT格式构造为Geometry对象
WKT格式说明
WKT是开放地理空间信息联盟(Open Geospatial Consortium,简称OGC)定义的一种用文本来描述空间对象的格式,有关WKT的介绍请参见Well-know Text。Lindorm GanosBase支持通过WKT文本格式来表达点(Point)、线(LineString)、面(Polygon)、多点(MultiPoint)、多线(MultiLineString)、多面(MultiPolygon)、几何对象集合(GeometryCollection)七种空间数据类型,不支持WKT信息中带有SRID(Spatial Reference IDentifier)。
Lindorm GanosBase支持的WKT数据类型如下表:
数据类型 | 语法 | WKT示例 |
Point |
|
|
LineString |
|
|
Polygon |
|
|
MultiPoint |
|
|
MultiLineString |
|
|
MultiPolygon |
|
|
GeometryCollection | GeometryCollection (Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) |
|
构造方法
使用时空函数ST_GeomFromText
将WKT构造为Geometry对象。详细介绍,请参见构造函数。
Geometry类型的输出
将Geometry对象输出为WKB字符串
WKB是OGC定义的一种通过序列化字节来描述几何对象的格式,有关WKB的介绍请参见Well-known Binary。Lindorm GanosBase支持通过WKB来表达点(Point)、线(LineString)、面(Polygon)、多点(MultiPoint)、多线(MultiLineString)、多面(MultiPolygon)、几何对象集合(GeometryCollection)七种空间数据类型。
Geometry类型直接输出时,显示的是Geometry对象WKB格式的16进制字符串。示例如下:
SELECT ST_GeomFromText('POINT(-10.1 3.3)') as p;
返回结果:
+--------------------------------+
| p |
+--------------------------------+
| 0020000001000010E6C02433333333 |
| 3333400A666666666666 |
+--------------------------------+
将Geometry对象输出为WKT
使用时空函数ST_AsText
将Geometry对象输出为WKT格式。详细介绍,请参见输出函数。