ST_GeomFromWKB
将熟知二进制 (WKB) 值转换为其对应的 GEOMETRY 对象。使用此函数可将 WKB 转换为许多 Vertica Place 函数所需的格式。
GEOMETRY 对象是在笛卡尔平面中定义的使用 (x,y) 坐标的空间对象。
GEOMETRY 对象的最大大小为 10 MB。如果将 WKB 传递给 ST_GeomFromWKB
并且生成大小超过 10 MB 的空间对象,ST_GeomFromWKB
将会返回错误。
开放地理空间联盟 (OGC) 在 OGC 简易功能访问第 1 部分 - 通用架构规范的第 8 节定义了 WKB 表示的格式。
行为类型
不可变语法
ST_GeomFromWKB( wkb[, srid] [ USING PARAMETERS ignore_errors={'y'|'n'} ])
参数
wkb
- GEOMETRY 对象的熟知二进制 (WKB) 值,类型为 LONG VARBINARY
srid
- (可选)GEOMETRY 对象的空间参照系标识符 (SRID),类型为 INTEGER。
SRID 将存储在 GEOMETRY 对象中,但不影响空间计算的结果。
ignore_errors
- (可选)
ST_GeomFromWKB
将基于提供的参数返回以下结果:-
NULL—如果
wkb
无效并且ignore_errors
='y'
。 -
Error—如果
wkb
无效并且ignore_errors
='n'
或未指定。
-
返回
GEOMETRY
支持的数据类型
- 数据类型
- GEOMETRY
- Point
- 是
- Multipoint
- 是
- Linestring
- 是
- Multilinestring
- 是
- Polygon
- 是
- Multipolygon
- 是
- GeometryCollection
- 是
示例
以下示例显示了 ST_GeomFromWKB 的用法。
将 GEOMETRY 转换为 WKT:
=> CREATE TABLE t(g GEOMETRY);
CREATE TABLE
=> INSERT INTO t VALUES(
ST_GeomFromWKB(X'0103000000010000000400000000000000000000000000000000000000000000000000f
03f0000000000000000f64ae1c7022db544000000000000f03f00000000000000000000000000000000'));
OUTPUT
--------
1
(1 row)
=> SELECT ST_AsText(g) from t;
ST_AsText
------------------------------------
POLYGON ((0 0, 1 0, 1e+23 1, 0 0))
(1 row)