名稱

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 工具需要舊的行為,請在您的資料庫中設定 bytea_output='escape'。

增強功能:引入了 2.0.0 版本對多面體表面、三角形和 TIN 的支援。

增強功能:引入了 2.0.0 版本對更高座標維度的支援。

增強功能:引入了 2.0.0 版本對指定地理位元組順序的支援。

可用性:引入了 1.5.0 版本的地理支援。

已變更:2.0.0 版本此函數的輸入不能是 unknown — 必須是 geometry。像 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