1 vertica支持的空间对象
vertica支持OGC标准中定义的多个对象:
1.1 Point
使用以下方法之一标识的二维空间中的位置:
X 和 Y 坐标
经度和纬度值
点的维度为 0, 并且没有边界。
1.2 Multipoint
一个或多个点的集合。多点对象的维度为 0, 并且没有边界。
1.3 Linestring
由连续点对标识的一个或多个连接的线。线串的维度为 1。线串边界是包含其起点和终点的多点对象。
1.4 Multilinestring
零个或多个线串的集合。线串集合没有维度。线串集合的边界是包含所有线串起点和终点的多点对象。
1.5 Polygon
由一组封闭的线串标识的对象。多边形可能包含一个或多个由内部边界定义的孔, 但所有点都必须保持连接状态。
1.6 Multipolygon
零个或多个未重叠的多边形的集合。
2 vertica支持的空间函数
2.1 ST_AsText
I/O函数
空间对象的熟知文本 (WKT) 表示。当需要指定 ASCII 形式的空间对象时可使用此函数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 是 | 否 | 否 |
2.2 ST_Area
测量函数
计算空间对象的面积。
单位为:
GEOMETRY 对象: 空间参照系标识符 (SRID) 单位
GEOGRAPHY 对象: 平方米
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.3 ST_AsBinary
I/O函数
创建空间对象的熟知二进制 (WKB) 表示。当需要将对象转换为二进制格式以便与其他应用程序移植空间数据时, 可使用此函数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 是 | 否 | 否 |
2.4 ST_Boundary
运算符函数
计算指定 GEOMETRY 对象的边界。对象边界是指定义对象限制的点集。对于线串, 边界是起点和终点。对于多边形, 边界是在同一点开始和结束的线串。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 否 |
2.5 ST_Buffer
运算符函数
创建与某个空间对象边界的距离大于或等于指定距离的 GEOMETRY 对象。该距离使用笛卡尔坐标单位测量。ST_Buffer 不接受大于 +1e15 或小于 –1e15 的距离大小。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.6 ST_Centroid
运算符函数
计算空间对象的几何中心(即质心)。如果几何图形除多边形外还存在点 、 线串或同时存在此二者, 则质心计算仅考虑多边形。类似地, 如果除线串外还存在点, 则质心计算不考虑点。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.7 ST_Contains
断言函数
确定空间对象是否完全在另一个空间对象内部, 并且不仅仅在其边界上存在。两个参数必须是相同的空间数据类型。要么指定两个 GEOMETRY 对象, 要么指定两个 GEOGRAPHY 对象。
如果某个对象(例如点或线串)仅沿空间对象的边界存在, 则 ST_Contains 将返回False。线串的内部是线串上除起点和终点以外的所有点。
ST_Contains(g1, g2) 在功能上等同于 ST_Within(g2, g1)。
不支持顶点或边界位于国际日期变更线 (IDL) 或南 、 北极的 GEOGRAPHY 多边形。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 否 | 否 |
Linestring | 是 | 是 | 否 |
Multilinestring | 是 | 否 | 否 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 否 |
GeometryCollection | 是 | 否 | 否 |
2.8 ST_ConvexHull
运算符函数
计算包含 GEOMETRY 对象的最小凸 GEOMETRY 对象。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.9 ST_Crosses
断言函数
确定一个 GEOMETRY 对象是否与另一个 GEOMETRY 对象在空间上交叉。如果两个对象仅在边界上接触, 则 ST_Crosses 将返回 FALSE。
如果以下两项均成立, 则表示两个对象在空间上交叉:
两个对象具有部分但非全部的公共内点。
它们的相交结果的尺寸小于两个对象的最大尺寸。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.10 ST_Difference
运算符函数
计算空间对象没有与另一个空间对象相交的部分。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.11 ST_Disjoint
断言函数
确定两个 GEOMETRY 对象是否未相交也未接触。
如果 ST_Disjoint 针对一对 GEOMETRY 对象返回 TRUE, 则 ST_Intersects 将针对这两个相同的对象返回 FALSE。
不支持顶点或边界位于国际日期变更线 (IDL) 或南 、 北极的 GEOGRAPHY 多边形。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (WGS84) |
Point | 是 | 是 |
Multipoint | 是 | 否 |
Linestring | 是 | 否 |
Multilinestring | 是 | 否 |
Polygon | 是 | 是 |
Multipolygon | 是 | 否 |
GeometryCollection | 是 | 否 |
2.12 ST_Distance
测量函数
计算两个空间对象之间的最短距离。对于 GEOMETRY 对象, 距离使用笛卡尔坐标单位测量。对于 GEOGRAPHY 对象, 距离以米为单位测量。
g1 和 g2 参数必须都是 GEOMETRY 对象或都是 GEOGRAPHY 对象。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 否 |
Linestring | 是 | 是 | 否 |
Multilinestring | 是 | 是 | 否 |
Polygon | 是 | 是 | 否 |
Multipolygon | 是 | 是 | 否 |
GeometryCollection | 是 | 否 | 否 |
2.13 ST_Envelope
运算符函数
计算包含指定的 GEOMETRY 对象的最小边界矩形。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.14 ST_Equals
断言函数
确定两个空间对象在空间上是否等效。ST_Equals 的两个对象的坐标及其WKT/WKB 表示必须完全匹配才能返回 TRUE。
在确定空间等价关系时点的顺序不重要
坐标存储为 FLOAT 类型。因此, 在导入熟知文本 (WKT) 值时, 由于浮点数表示的限制, 预期会出现舍入误差。
g1 和 g2 必须都是 GEOMETRY 对象或都是 GEOGRAPHY 对象。此外, g1 和 g2不能都是 GeometryCollection 类型。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.15 ST_GeographyFromText
I/O函数
将已知文本 (WKT) 字符串转换为其对应的 GEOGRAPHY 对象。使用此函数可将WKT 字符串转换为 Vertica Place 函数所需的格式。
GEOGRAPHY 对象是在地球表面使用坐标 (longitude, latitude) 定义的空间对象。坐标使用划分地球的参考平面的度数(经度 、 纬度)表示。
GEOGRAPHY 对象的最大大小为 10 MB。如果将 WKT 传递给 ST_GeographyFromText 并且生成大小超过 10 MB 的空间对象, ST_GeographyFromText 将会返回错误。
支持的数据类型
数据类型 | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 否 | 否 |
2.16 ST_GeographyFromWKB
I/O函数
将熟知二进制 (WKB) 值转换为其对应的 GEOGRAPHY 对象。使用此函数可将WKB 转换为 Vertica Place 函数所需的格式。
GEOGRAPHY 对象是在地球表面定义的空间对象。坐标使用划分地球的参考平面的度数(经度 、 纬度)表示。所有的计算都以米为单位。
GEOGRAPHY 对象的最大大小为 10 MB。如果将 WKB 传递给 ST_GeographyFromWKB 并且生成大小超过 10 MB 的空间对象, ST_GeographyFromWKB 将会返回错误。
支持的数据类型
数据类型 | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 否 | 否 |
2.17 ST_GeoHash
GeoHash函数
对于指定的几何图形返回GeoHash值。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.18 ST_GeometryN
属性函数
返回几何图形对象内的第 n 个几何图形。
如果 n 超出索引范围, 则返回 NULL。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.19 ST_GeometryType
属性函数
确定空间对象的类。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.20 ST_GeomFromGeoHash
GeoHash函数
对于指定的GeoHash值返回多边形。
2.21 ST_GeomFromText
I/O函数
将熟知文本 (WKT) 字符串转换为其对应的 GEOMETRY 对象。使用此函数可将WKT 字符串转换为 Vertica Place 函数所需的格式。
GEOMETRY 对象是按平面坐标定义的空间对象。坐标表示为笛卡尔平面上的点(x,y)。SRID 值为 0 至 2^32-1 是有效的。超出此范围的 SRID 值将会生成错误。
GEOMETRY 对象的最大大小为 10 MB。如果将 WKT 传递给 ST_GeomFromText并且生成大小超过 10 MB 的空间对象, ST_GeomFromText 将会返回错误。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 否 |
2.22 ST_GeomFromWKB
I/O函数
将熟知二进制 (WKB) 值转换为其对应的 GEOMETRY 对象。使用此函数可将WKB 转换为许多 Vertica Place 函数所需的格式。
GEOMETRY 对象是在笛卡尔平面中定义的使用 (x,y) 坐标的空间对象。
GEOMETRY 对象的最大大小为 10 MB。如果将 WKB 传递给 ST_GeomFromWKB 并且生成大小超过 10 MB 的空间对象, ST_GeomFromWKB 将会返回错误。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.23 ST_Intersection
运算符函数
计算两个 GEOMETRY 对象共有的点集。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.24 ST_Intersects
断言函数
确定两个 GEOMETRY 或 GEOGRAPHY 对象是否在一个点相交或接触。对于相同的 GEOMETRY 或 GEOGRAPHY 对象, 如果 ST_Disjoint 返回 TRUE, 则 ST_Intersects 将返回 FALSE。
不支持顶点或边界位于国际日期变更线 (IDL) 或南 、 北极的 GEOGRAPHY 多边形。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (WGS84) |
Point | 是 | 是 |
Multipoint | 是 | 否 |
Linestring | 是 | 否 |
Multilinestring | 是 | 否 |
Polygon | 是 | 是 |
Multipolygon | 是 | 否 |
GeometryCollection | 是 | 否 |
2.25 ST_IsEmpty
断言函数
确定空间对象是否表示空集。空对象没有维度。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 是 | 否 | 否 |
2.26 ST_IsSimple
断言函数
确定空间对象是否未与自身相交, 也未接触其自身边界上的任何点。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 否 |
Linestring | 是 | 是 |
Multilinestring | 是 | 否 |
Polygon | 是 | 是 |
Multipolygon | 是 | 否 |
GeometryCollection | 否 | 否 |
2.27 ST_IsValid
断言函数
如果不确定多边形是否有效, 请先运行 ST_IsValid。如果将无效的空间对象传递给 Vertica Place 函数, 函数将会失败或返回错误的结果。
确定空间对象的格式是否正确或其是否有效。如果对象有效, 则 ST_IsValid 返回 TRUE; 否则它将返回 FALSE。使用 STV_IsValidReason 以确定无效性原因。
空间有效性仅适用于多边形和多多边形。如果以下所有项均成立, 则多边形或多多边形是有效的:
多边形是封闭的; 其起点与终点相同。
其边界是一组线串。
边界不触及或穿越本身。
内部的任何多边形都未接触外部多边形边界除顶点以外的任何位置。
支持的数据类型
数据类型 | GEOMETRY |
Point | 否 |
Multipoint | 否 |
Linestring | 否 |
Multilinestring | 否 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 否 |
2.28 ST_Length
测量函数
计算空间对象的长度。对于 GEOMETRY 对象, 长度使用笛卡尔坐标单位测量。对于 GEOGRAPHY 对象, 长度以米为单位测量。
按以下方法计算长度:
点或多点对象的长度为 0。
线串的长度是每个线段的长度之和; 而线段的长度是起点到终点的距离。
多边形的长度是外部边界和任何内部边界的长度之和。
线串集合 、 多边形集合或 geometrycollection 的长度是它所包含的所有对象的长度之和。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.29 ST_NumGeometries
属性函数
返回空间对象内包含的几何图形数量。单个 GEOMETRY 或 GEOGRAPHY 对象将返回 1, 空对象将返回 NULL。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.30 ST_NumPoints
属性函数
计算空间对象的顶点数, 空对象则返回 NULL。
多边形和多边形集合的第一个顶点和最后一个顶点单独计数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.31 ST_Overlaps
断言函数
确定 GEOMETRY 对象是否与另一个 GEOMETRY 对象共享空间但未完全包含在该对象范围内。它们必须在其内部重叠。如果两个对象在单个点接触, 或仅仅沿边界相交, 则二者没有重叠。两个参数必须具有相同的维度; 否则 ST_Overlaps 将返回 FALSE。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.32 ST_PointFromGeoHash
GeoHash函数
对于指定的GeoHash值返回一个几何点。
2.33 ST_PointN
属性函数
查找空间对象的第 n 个点。如果传递负数 、 零或大于线串上的总点数的数字,ST_PointN 将返回 NULL。
顶点顺序基于空间对象的熟知文本 (WKT) 表示。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.34 ST_Relate
断言函数
基于指定的 DE-9IM 模式矩阵字符串, 确定给定的 GEOMETRY 对象是否与另一个 GEOMETRY 对象在空间上相关。
DE-9IM 标准确定了两个对象彼此在空间上的相关性。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.35 ST_SRID
属性函数
确定随空间对象存储的空间参照系标识符 (SRID)。
将 SRID 传递给 ST_GeomFromText 或 ST_GeomFromWKB 后才能确定GEOMETRY 对象的 SRID。ST_SRID 将返回此存储值。SRID 值为 0 至 2^32-1 是有效的。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 是 | 否 | 否 |
2.36 ST_SymDifference
运算符函数
计算两个 GEOMETRY 对象中除它们共有的点之外的其他所有点, 包括这两个对象的边界。
此结果被称为余集, 以数学方式表示为: Closure (g1 – g2) ∪ Closure (g2 – g1)
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.37 ST_Touches
断言函数
确定两个 GEOMETRY 对象是否在一个点接触或沿边界接触, 但没有内部相交。
不支持顶点或边界位于国际日期变更线 (IDL) 或南 、 北极的 GEOGRAPHY 多边形。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (WGS84) |
Point | 是 | 是 |
Multipoint | 是 | 否 |
Linestring | 是 | 否 |
Multilinestring | 是 | 否 |
Polygon | 是 | 是 |
Multipolygon | 是 | 否 |
GeometryCollection | 是 | 否 |
2.38 ST_Transform
运算符函数
使用给定的SRID,返回一个新的GEOMETRY。
此函数支持以下转换:
EPSG 4326(WGS84)到EPSG 3857(Web Mercator)
EPSG 3857(Web Mercator)到EPSG 4326(WGS84)
对于EPSG 4326(WGS84),坐标必须在以下范围内,否则将导致转换失败:
经度范围:-572到+572
纬度限制:-89.9999999到+89.9999999
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 否 | 否 |
Multipoint | 是 | 否 | 否 |
Linestring | 是 | 否 | 否 |
Multilinestring | 是 | 否 | 否 |
Polygon | 是 | 否 | 否 |
Multipolygon | 是 | 否 | 否 |
GeometryCollection | 是 | 否 | 否 |
2.39 ST_Union
运算符函数
计算两个空间对象中所有点的联合。
此结果以数学方式表示为: g1 ∪ g2
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.40 ST_Within
断言函数
如果空间对象 g1 完全在空间对象 g2 内部, 则 ST_Within 将返回 True。两个参数必须是相同的空间数据类型。要么指定两个 GEOMETRY 对象, 要么指定两个 GEOGRAPHY 对象。
如果某个对象(例如点或线串)仅沿多边形边界存在, 则 ST_Within 将返回False。线串的内部是线串上除起点和终点以外的所有点。
ST_Within(g1,g2) 在功能上等同于 ST_Contains(g2,g1)。
不支持顶点或边界位于国际日期变更线 (IDL) 或南 、 北极的 GEOGRAPHY 多边形。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 否 | 否 |
Linestring | 是 | 是 | 否 |
Multilinestring | 是 | 否 | 否 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 否 |
GeometryCollection | 是 | 否 | 否 |
2.41 ST_X
属性函数
确定 GEOMETRY 点的 x 坐标或 GEOGRAPHY 点的经度值。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 否 | 否 | 否 |
Linestring | 否 | 否 | 否 |
Multilinestring | 否 | 否 | 否 |
Polygon | 否 | 否 | 否 |
Multipolygon | 否 | 否 | 否 |
GeometryCollection | 否 | 否 | 否 |
2.42 ST_XMax
属性函数
返回 GEOMETRY 或 GEOGRAPHY 对象的最小边界矩形的最大 x 坐标。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.43 ST_XMin
属性函数
返回 GEOMETRY 或 GEOGRAPHY 对象的最小边界矩形的最小 x 坐标。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.44 ST_YMax
属性函数
返回 GEOMETRY 或 GEOGRAPHY 对象的最小边界矩形的最大 y 坐标。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.45 ST_YMin
属性函数
返回 GEOMETRY 或 GEOGRAPHY 对象的最小边界矩形的最小 y 坐标。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.46 ST_Y
属性函数
确定 GEOMETRY 点的 y 坐标或 GEOGRAPHY 点的纬度值。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 否 | 否 | 否 |
Linestring | 否 | 否 | 否 |
Multilinestring | 否 | 否 | 否 |
Polygon | 否 | 否 | 否 |
Multipolygon | 否 | 否 | 否 |
GeometryCollection | 否 | 否 | 否 |
2.47 STV_AsGeoJSON
I/O函数
返回 Javascript 几何对象表示法 (GeoJSON) 对象形式的几何或地理参数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 | 是 |
Multipoint | 是 | 是 | 是 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.48 STV_Create_Index
空间索引函数
对一组多边形创建空间索引, 以加快与一组点的空间相交计算速度。
利用一个输入多边形集(可以是查询的结果), 可以创建空间索引。空间索引是在全局命名空间中创建的。当跨群集的节点对输入表或投射分段时, Vertica 会采用分布式计划。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (WGS84) |
Point | 否 | 否 |
Multipoint | 否 | 否 |
Linestring | 否 | 否 |
Multilinestring | 否 | 否 |
Polygon | 是 | 是 |
Multipolygon | 是 | 否 |
GeometryCollection | 否 | 否 |
2.49 STV_Describe_Index
空间索引函数
检索关于包含一组多边形的索引的信息。如果没有传递任何参数, STV_Describe_Index 将返回所有已定义的索引。
2.50 STV_Drop_Index
空间索引函数
删除空间索引。
2.51 STV_DWithin
断言函数
确定从一个空间对象的边界到另一个对象的边界的最短距离是否在指定的距离范围以内。
g1 和 g2 参数必须都是 GEOMETRY 对象或都是 GEOGRAPHY 对象。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.52 STV_Export2Shapefile
shapefile函数
将数据库表或子查询中的 GEOGRAPHY 或 GEOMETRY 数据导出到 shapefile。
2.53 STV_Extent
返回一个包含所有输入数据的边界框。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 是 |
2.54 STV_ForceLHR
运算符函数
更改空间对象的顶点顺序, 使其遵循左手规则。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 否 | 否 | 否 |
Multipoint | 否 | 否 | 否 |
Linestring | 否 | 否 | 否 |
Multilinestring | 否 | 否 | 否 |
Polygon | 否 | 是 | 是 |
Multipolygon | 否 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.55 STV_Geography
I/O函数
将 GEOMETRY 对象转换为 GEOGRAPHY 对象。SRID 值不影响 Vertica Place 查询的结果。
STV_Geography 在将 GEOMETRY 对象转换为 GEOGRAPHY 对象时, 会将其SRID 设为 4326。
支持的数据类型
数据类型 | GEOMETRY |
Point | 是 |
Multipoint | 是 |
Linestring | 是 |
Multilinestring | 是 |
Polygon | 是 |
Multipolygon | 是 |
GeometryCollection | 否 |
2.56 STV_GeographyPoint
运算符函数
基于输入值, 返回 GEOGRAPHY 点。
这是将原始坐标转换为 GEOGRAPHY 点的最佳方法。
2.57 STV_Geometry
I/O函数
将 GEOGRAPHY 对象转换为 GEOMETRY 对象。
SRID 值不影响 Vertica Place 查询的结果。
支持的数据类型
数据类型 | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 否 | 否 |
2.58 STV_GeometryPoint
运算符函数
基于输入值, 返回 GEOMETRY 点。
这是将原始坐标转换为 GEOMETRY 点的最佳方法。
2.59 STV_GetExportShapefileDirectory
shapefile函数
返回导出目录的路径。
2.60 STV_Intersect Scalar Function
空间连接函数
将点与一组多边形在空间上相交。多边形需要建立空间索引。STV_Intersect 标量函数将返回与相交多边形关联的标识符。
2.61 STV_Intersect Transform Function
空间连接函数
将点与多边形在空间上相交。多边形需要建立空间索引。STV_Intersect 变换函数返回包含匹配的点/多边形对的元组。对于每个点, 可能返回一个或多个匹配的多边形。
在多个节点上并行计算 STV_Intersect 变换函数可以提高性能。要执行并行计算, 请使用 OVER(PARTITION BEST) 子句。
2.62 STV_IsValidReason
属性函数
确定多边形或多边形集合的格式是否正确或其是否有效。如果对象无效, STV_IsValidReason 将返回说明无效性原因的字符串。
空间有效性仅适用于多边形和多多边形。如果以下所有项均成立, 则多边形或多多边形是有效的:
多边形是封闭的; 其起点与终点相同。
其边界是一组线串。
边界不触及或穿越本身。
与外部多边形边界的接触点不超过一个的任何内部多边形。
如果将无效的对象传递给 Vertica Place 函数, 函数将会失败或返回错误的结果。要确定多边形是否有效, 请先运行 ST_IsValid。如果多边形有效, ST_IsValid 将返回 TRUE, 否则将返回 FALSE。
2.63 STV_LineStringPoint
属性函数
检索线串或线串集合的顶点。根据输入对象的类型, 返回的值为 GEOMETRY或 GEOGRAPHY 类型的点。GEOMETRY 点将继承输入对象的 SRID。
STV_LineStringPoint 为分析函数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 否 | 否 | 否 |
Multipoint | 否 | 否 | 否 |
Linestring | 是 | 是 | 是 |
Multilinestring | 是 | 是 | 是 |
Polygon | 否 | 否 | 否 |
Multipolygon | 否 | 否 | 否 |
GeometryCollection | 否 | 否 | 否 |
2.64 STV_MemSize
I/O函数
返回 INTEGER 类型的空间对象长度(以字节为单位)。
使用此函数确定空间数据的最优列宽。
2.65 STV_NN
运算符函数
计算空间对象与参考对象之间的距离, 并按照与参考对象的距离, 以升序方式返回(对象, 距离)对。
g1 和 g2 参数必须都是 GEOMETRY 对象或都是 GEOGRAPHY 对象。
STV_NN 为分析函数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) |
Point | 是 | 是 |
Multipoint | 是 | 是 |
Linestring | 是 | 是 |
Multilinestring | 是 | 是 |
Polygon | 是 | 是 |
Multipolygon | 是 | 是 |
GeometryCollection | 是 | 否 |
2.66 STV_PolygonPoint
属性函数
以个别点的方式检索多边形的顶点。根据输入对象的类型, 返回的值为GEOMETRY 或 GEOGRAPHY 类型的点。GEOMETRY 点将继承输入对象的SRID。
STV_PolygonPoint 为分析函数。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 否 | 否 | 否 |
Multipoint | 否 | 否 | 否 |
Linestring | 否 | 否 | 否 |
Multilinestring | 否 | 否 | 否 |
Polygon | 是 | 是 | 是 |
Multipolygon | 是 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.67 STV_Reverse
运算符函数
反转空间对象顶点的顺序。
支持的数据类型
数据类型 | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
Point | 否 | 否 | 否 |
Multipoint | 否 | 否 | 否 |
Linestring | 否 | 否 | 否 |
Multilinestring | 否 | 否 | 否 |
Polygon | 否 | 是 | 是 |
Multipolygon | 否 | 是 | 是 |
GeometryCollection | 否 | 否 | 否 |
2.68 STV_Rename_Index
空间索引函数
重命名空间索引。
2.69 STV_Refresh_Index
空间索引函数
刷新空间索引。将新添加或更新的多边形追加到现有的空间索引, 以及从现有的空间索引中移除已删除的多边形。
2.70 STV_SetExportShapefileDirectory
shapefile函数
指定将 GEOMETRY 或 GEOGRAPHY 数据导出到 shapefile 的目录。不检查路径的有效性, 并且路径不能为空。
2.71 STV_ShpSource 和 STV_ShpParser
shapefile函数
这两个函数可与 COPY 命令配合使用, 解析 shapefile 中的几何图形和属性并将其加载到数据库表, 然后转换为 GEOMETRY 数据类型格式。必须将这两个函数一起使用。需要 SRID。无法从 shapefile 加载空的多点或无效的多边形集合。
2.72 STV_ShpCreateTable
shapefile函数
返回包含在指定的 shapefile 中找到的属性列和类型的 CREATE TABLE 语句。
列类型将根据 shapefile 元数据调整大小。列大小基于在 shapefile 中找到的最大几何图形。表中的第一列是 gid, 它是自动递增的 IDENTITY 主关键字列。缓存值默认设为 64。最后一列是用于存储实际几何数据的 GEOMETRY 数据类型。