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では、ジオグラフィが導入されました。
このメソッドは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)