Name

ST_AsBinary — 返回不带 SRID 元数据的几何/地理的 OGC/ISO 已知的二进制 (WKB) 表示形式。

Synopsis

bytea ST_AsBinary(geometry g1);

bytea ST_AsBinary(geometry g1, text NDR_or_XDR);

bytea ST_AsBinary(geography g1);

bytea ST_AsBinary(geography g1, text NDR_or_XDR);

描述

返回几何图形的 OGC/ISO已知二进制 (WKB) 表示形式。 第一种形式默认为服务器计算机的字节序。 第二种形式采用指定小端序 (“NDR”) 或大端序 (“XDR”) 的字符串。

WKB 格式对于从数据库读取几何数据并保持完整的数值精度非常有用。 这避免了 WKT 等文本格式可能发生的精确舍入。

要执行 WKB 到 PostGIS 几何图形的逆转换,请使用ST_GeomFromWKB

[Note]

OGC/ISO WKB 格式不包括 SRID。 要获取包含 SRID 的 EWKB 格式,请使用ST_AsEWKB

[Note]

PostgreSQL 9.0 中的默认行为已更改为以十六进制编码输出 bytea。 如果您的 GUI 工具需要旧行为,请在数据库中设置 SET bytea_output='escape'。

增强功能:引入了2.0.0 对多面体曲面、三角形和三角网的支持。

增强:2.0.0支持更高坐标维度。

增强:2.0.0支持地理中的字节序。

可用性:1.5.0支持地理位置。

更改:2.0.0 此函数的输入不能是未知的——必须是几何图形。 ST_AsBinary('POINT(1 2)') 等结构不再有效,您将收到 n st_asbinary(unknown) is not unique error。 类似的代码需要更改为 ST_AsBinary('POINT(1 2)'::geometry);。 如果不可能,请安装legacy.sql

此方法实现了 SQL 1.1 的 OGC 简单功能规范。 s2.1.1.1

该方法实现了SQL/MM规范。 SQL-MM 3: 5.1.37

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

该函数支持多面体曲面。

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

该函数支持 3d 并且不会丢失 z-index。

示例

SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326));

                   st_asbinary
--------------------------------
\x01030000000100000005000000000000000000000000000000000000000000000000000000000000
000000f03f000000000000f03f000000000000f03f000000000000f03f0000000000000000000000
00000000000000000000000000
SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326), 'XDR');
                   st_asbinary
--------------------------------
\x000000000300000001000000050000000000000000000000000000000000000000000000003ff000
00000000003ff00000000000003ff00000000000003ff00000000000000000000000000000000000
00000000000000000000000000