名前

ST_AsBinary — ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary (WKB)表現を返します。

概要

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);

説明

ジオメトリのWell-Knwon Binary表現を返します。二つの形式があります。一つ目の形式では、エンディアンエンコーディングのパラメータを取らずにサーバ機のエンディアンとします。二つ目の形式では、第2引数にリトルエンディアン ('NDR')かビッグエンディアン ('XDR')を使ってエンコーディングを明示します。

データを文字列表現に変換せずにデータベース外に引き出すためのバイナリカーソルに使えます。

[注記]

WKB仕様ではSRIDは入りません。SRIDを持つOGC WKBの書式を得るにはST_AsEWKBを使用します。

[注記]

ST_AsBinaryはジオメトリに対するST_GeomFromWKBの逆です。PostGISジオメトリをST_AsBinary表現から変換するにはST_GeomFromWKBを使います。

[注記]

PostgreSQL 9.0でのデフォルトの挙動が、16進数エンコーディングに変わりました。ST_AsBinaryはジオメトリに対するST_GeomFromWKBの反対です。GUIツールが古い挙動を求める場合には、データベースでSET bytea_output='escape'を実行して下さい。

Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。

Enhanced: 2.0.0 高次元が導入されました。

Enhanced: 2.0.0 ジオグラフィでのエンディアン指定が導入されました。

Availability: 1.5.0 ジオグラフィが導入されました。

Changed: 2.0.0 この関数への入力は不明な型にすることができなくなり、必ずジオメトリでなければなりません。ST_AsBinary('POINT(1 2)')といった構築ではもはや妥当ではなく、n st_asbinary(unknown) is not unique errorが得られます。このようなコードはST_AsBinary('POINT(1 2)'::geometry);に変更する必要があります。これが不可能な場合にはlegacy.sqlをインストールして下さい。

This method implements the OpenGIS Simple Features Implementation Specification for SQL 1.1. s2.1.1.1

This method implements the SQL/MM specification. SQL-MM 3: 5.1.37

This method supports Circular Strings and Curves

This function supports Polyhedral surfaces.

This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).

This function supports 3d and will not drop the z-index.

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

                   st_asbinary
--------------------------------
\001\003\000\000\000\001\000\000\000\005
\000\000\000\000\000\000\000\000\000\000
\000\000\000\000\000\000\000\000\000\000
\000\000\000\000\000\000\000\000\000\000
\000\000\000\360?\000\000\000\000\000\000
\360?\000\000\000\000\000\000\360?\000\000
\000\000\000\000\360?\000\000\000\000\000
\000\000\000\000\000\000\000\000\000\000\000
\000\000\000\000\000\000\000\000
(1 row)
SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326), 'XDR');
                   st_asbinary
--------------------------------
\000\000\000\000\003\000\000\000\001\000\000\000\005\000\000\000\000\000
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000
\000?\360\000\000\000\000\000\000?\360\000\000\000\000\000\000?\360\000\000
\000\000\000\000?\360\000\000\000\000\000\000\000\000\000\000\000\000\000\000
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000
(1 row)

関連情報

ST_GeomFromWKB, ST_AsEWKB, ST_AsTWKB, ST_AsText,