名前

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つの形式があります。ひとつめの形式では、エンディアンエンコーディングのパラメータを取らずにサーバ機のエンディアンとします。ふたつめの形式では、第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'を実行して下さい。

機能強化: 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をインストールして下さい。

このメソッドはOpenGIS Simple Features Implementation Specification for SQL 1.1.に準拠しています。 s2.1.1.1

このメソッドはSQL/MM仕様に準拠しています。 SQL-MM 3: 5.1.37

このメソッドは曲線ストリングと曲線に対応しています。

この関数は多面体サーフェスに対応しています。

この関数は三角形と不整三角形網(TIN)に対応しています。

この関数は3次元に対応し、Z値を削除しません。

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_AsText,