名称

ST_GeomFromEWKB — 从扩展的熟知二进制表示 (EWKB) 返回指定的 ST_Geometry 值。

概要

geometry ST_GeomFromEWKB(bytea EWKB);

描述

从 OGC 扩展熟知二进制 (EWKT) 表示构造 PostGIS ST_Geometry 对象。

[Note]

EWKB 格式不是 OGC 标准,而是 PostGIS 特有的格式,其中包含空间参考系统 (SRID) 标识符。

增强功能:2.0.0 版本引入了对多面体表面和 TIN 的支持。

此函数支持 3D,并且不会删除 z 索引。

此方法支持圆形字符串和曲线。

此函数支持多面体表面。

此函数支持三角形和不规则三角网表面 (TIN)。

示例

NAD 83 经纬度 (4269) 中,线字符串二进制表示 0f LINESTRING(-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932)。

[Note]

注意:即使字节数组用 \ 分隔并且可能包含 ',如果 standard_conforming_strings 关闭,我们需要用 \ 和 '' 对两者进行转义。因此,它看起来并不完全像它的 AsEWKB 表示。

SELECT ST_GeomFromEWKB(E'\\001\\002\\000\\000 \\255\\020\\000\\000\\003\\000\\000\\000\\344J=
\\013B\\312Q\\300n\\303(\\010\\036!E@''\\277E''K
\\312Q\\300\\366{b\\235*!E@\\225|\\354.P\\312Q
\\300p\\231\\323e1!E@');
[Note]

在 PostgreSQL 9.1+ 中 - standard_conforming_strings 默认设置为 on,而在以前的版本中,它设置为 off。您可以根据需要为单个查询或在数据库或服务器级别更改默认值。下面是如何在 standard_conforming_strings = on 的情况下进行操作。在这种情况下,我们用标准的 ANSI ' 转义 ',但斜杠不转义。

	    set standard_conforming_strings = on;
SELECT ST_GeomFromEWKB('\001\002\000\000 \255\020\000\000\003\000\000\000\344J=\012\013B
    \312Q\300n\303(\010\036!E@''\277E''K\012\312Q\300\366{b\235*!E@\225|\354.P\312Q\012\300p\231\323e1')