ST_GeomFromWKB — Well-Knwon Binary ジオメトリー表現 (WKB) と任意パラメーターの SRID からジオメトリーインスタンスを生成します。
geometry ST_GeomFromWKB(bytea geom);
geometry ST_GeomFromWKB(bytea geom, integer srid);
ST_GeomFromWKBは、ジオメトリーの Well-Known Binary 表現と空間参照系識別番号 (SRID) を取り、適切なジオメトリータイプのインスタンスを生成します。この関数は、SQL のジオメトリーファクトリの役割を果たします。これは、ST_WKBToSQL の代替名です。
SRID が指定されていない場合、0 (不明) となります。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.7.2 - 任意引数 SRID は仕様適合のためです。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.41
このメソッドは曲線ストリングと曲線に対応しています。
bytea 表現は単一の \ を含みますが、standard_conforming_strings が on になっていない場合には、これらはテーブルに入れるときにエスケープする必要があります。
SELECT ST_GeomFromWKB(E'\\001\\002\\000\\000\\000\\002\\000\\000\\000\\037\\205\\353Q\\270~\\\\\\300\\323Mb\\020X\\231C@\\020X9\\264\\310~\\\\\\300)\\\\\\217\\302\\365\\230C@', 4326);
SRID=4326;LINESTRING(-113.98 39.198,-113.981 39.195)
SELECT ST_GeomFromWKB(ST_AsEWKB('POINT(2 5)'::geometry)
);
POINT(2 5)
PostgreSQL decode 関数は 16進数 WKB 文字列を bytea 値に変換すると ST_GeomFromWKB が受け付けてくれます。
SELECT ST_AsEWKT(ST_GeomFromWKB(
decode('0101000000e5d022dbf93e2e40dbf97e6abc743540', 'hex'),
4326
)) AS geom;
SRID=4326;POINT(15.123 21.456)