首页 > 数据库 > 国内数据库 > YashanDB ST_GEOMETRY类型
YashanDB中的ST_GEOMETRY类型是数据库内置的一种自定义类型,用于存储和访问符合开放地理空间信息联盟(Open Geospatial Consortium,简称OGC)制定的SFA SQL标准的几何对象。
此数据类型仅支持在单机HEAP表上使用。
| 类型 | 字节长度 |
|---|---|
| ST_GEOMETRY | 4GB |
| 类型 | 格式 | 规则 |
|---|---|---|
| ST_GEOMETRY | ST_GEOMETRY | 自定义对象类型,无需指定size |
| 属性名称 | 类型 | 长度 |
|---|---|---|
| HEAD | RAW | 40字节 |
| GEOM | BLOB | < 4G |
POINT
点代表坐标系空间中的单个坐标。
LINESTRING
线是由连续的线段组成,且一条线段由两点定义,点之间需要使用逗号隔开。
POLYGON
多边形是由外环(闭合的LINESTRING)及0条或多条内环(闭环的LINESTRING)组成,外环与内环之间需要使用逗号隔开。
MULTIPOINT
表示点的集合,点之间需要使用逗号隔开。
MULTILINESTRING
表示线的集合,线之间需要使用逗号隔开。
MULTIPOLYGON
表示多边形的集合,多边形之间需要使用逗号隔开。
GEOMETRYCOLLECTION
GEOMETRYCOLLECTION可由不同的ST_GEOMETRY子类型组成一个集合,且子类型之间需要使用逗号隔开。
对于ST_GEOMETRY类型数据的使用限制如下:
ST_GEOMETRY类型可通过符合OGC规范的交换格式(如WKT、WKB)输入,也可以将其转换成WKT、WKB等交换格式。
WKT(Well-Known Text)格式为描述空间数据的标准格式,格式样例如下:
WKB(Well-Known Binary)格式为描述空间数据的二进制格式,本格式与对应的WKT格式如下:
示例(单机HEAP表)
坐标
每个坐标都有一个X和Y坐标值,以确定其在平面中的位置。形状由点或线段构造,其中点由单个坐标指定,线段由两个坐标指定。
坐标可以包含可选的Z和M坐标值。Z常被用来表示高度。M是一个测量值,可以表示时间或距离。如果Z或M值出现在ST_GEOMETRY值中,则必须为ST_GEOMETRY值的每个点定义它们。如果ST_GEOMETRY类型数据有Z或M坐标,则坐标维度为3D;如果它既有Z又有M,那么坐标维度就是4D。
坐标参考系
对ST_GEOMETRY类型数据的所有空间操作都使用该数据所在的坐标参考系的单位。坐标参考系由SRID编号标识。X轴和Y轴的单位由坐标参照系确定。在平面参考系统中,X和Y坐标通常代表东方和北方,而在大地测量系统中,它们代表经度和纬度。SRID=0表示一个无限的笛卡尔平面,它的轴上没有单位。
维度
维度是ST_GEOMETRY类型的属性。点类型的维度为0,线性类型的维度为1,多边形类型的维度为2。集合的维度为最大元素维度。
YashanDB目前最高仅支持到三维坐标,如输入四维坐标则会忽略第四个坐标。
外包框
包含ST_GEOMETRY坐标的二维或三维方框,它是表示ST_GEOMETRY类型数据在坐标空间中的范围以及检验两个ST_GEOMETRY类型数据是否相互作用的一种有效方法。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3079382/ ,如需转载,请注明出处,否则将追究法律责任。