名称

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

语法

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 引入了对多面体曲面、三角形和 TIN 的支持。

增强: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

此方法实现了 OGC 简单要素实现规范 SQL 1.1。

s2.1.1.1

此方法实现了 SQL/MM 规范。

SQL-MM 3: 5.1.37

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

此函数支持多面体表面。

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

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

示例

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

另请参阅

ST_GeomFromWKBST_AsEWKBST_AsTWKBST_AsText