PostgreSQLのドキュメントhttps://www.postgresql.org/docs/9.0/sql-syntax-lexical.html(強調鉱山)に従って
PostgreSQL は、SQL 標準の拡張である「エスケープ」文字列定数も受け入れます。エスケープ文字列定数はE
、開始の一重引用符の直前に文字 (大文字または小文字)を記述して指定します(例: E'foo'
. (複数行にわたってエスケープ文字列定数を続ける場合E
は、最初の開始引用符の前にのみ記述してください。) エスケープ文字列内では、バックスラッシュ文字 ( \
) が C のようなバックスラッシュ エスケープ シーケンスを開始します。バックスラッシュとそれに続く文字の組み合わせは、特殊なバイト値を表す
文字列での の使用は\\
、エスケープ シーケンスをエスケープしていることを意味します。おそらく、転送中および.sql
ファイルへの保存中は安全です。関数に実際に渡される逐語的な文字列は次のようになります。ST_GeomFromWKB
\001\001\000\000\000\321\256B\312O\304Q\300\347\030\220\275\336%E@
これらのスラッシュ間の 3 文字または 4 文字のシーケンスは、 によってST_GeoFromWKB
直接解釈されます。
ST_GeoFromWKB
( https://postgis.net/docs/ST_GeomFromWKB.html )のドキュメントには次のように記載されています。
このST_GeomFromWKB
関数は、ジオメトリの既知のバイナリ表現と空間参照システム ID ( SRID
) を取り、適切なジオメトリ タイプのインスタンスを作成します。この関数は、SQL で Geometry Factory の役割を果たします。の別名ですST_WKBToSQL
。
残念ながら、「よく知られているバイナリ表現」が実際にどのような形式であるかは正確には述べられていません。
文字列の内容は、使用している座標系に依存していることがわかりました。これは、SRID
パラメーターで指定されています。この場合、https : //en.wikipedia.org/wiki/World_Geodetic_System#WGS844326
に対応します。WGS84
それを解くには、さらに読んで調査する必要があります。