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)