ST_AsTWKB — TWKB (Tiny Well-Known Binary) としてジオメトリーを出力します。
bytea ST_AsTWKB(geometry geom, integer prec=0, integer prec_z=0, integer prec_m=0, boolean with_sizes=false, boolean with_boxes=false);
bytea ST_AsTWKB(geometry[] geom, bigint[] ids, integer prec=0, integer prec_z=0, integer prec_m=0, boolean with_sizes=false, boolean with_boxes=false);
TWKB (Tiny Well-Known Binary) 書式としてジオメトリーを返します。TWKB は、出力サイズを最小化することに焦点を当てたcompressed binary format (圧縮バイナリ書式) です。
decimaldigits パラメータによって、出力に持たせる精度を制御できます。デフォルトでは、符号化前に値は単位上の最近値に丸められます。精度が高いものを転送したいなら、これの数字を大きくします。たとえば、1の値は小数点の右に 1桁の数字が保存されます。
include_sizes と include_bounding_boxes パラメータによって、符号化オブジェクトの長さに関する任意情報の有無やオブジェクトの境界の有無を制御できます。デフォルトでは、無しです。クライアントソフトウェアが、これらの情報を使用しないなら、このパラメータを有効にしないで下さい。空白が増える (しかも空白の抑制が TWKB のポイントである) ためです。
配列入力の形式は、ジオメトリーのコレクションを変換して、一意の識別子を TWKB コレクションに持たせるためのものです。これは、コレクションを展開して、オブジェクト内部に関する情報にさらにアクセスするのに使えます。array_agg関数を使用して配列を生成できます。他のパラメータは、単純な形式のものと同じです。
|
|
|
書式仕様はhttps://github.com/TWKB/Specificationにあります。JavaScript クライアントを構築するプログラムはhttps://github.com/TWKB/twkb.jsにあります。 |
Enhanced: 2.4.0 メモリと速度の改善。
Availability: 2.2.0
SELECT ST_AsTWKB('LINESTRING(1 1,5 5)'::geometry);
\x02000202020808
識別子を含む TWKB オブジェクトの集計を生成するには、まず、"array_agg()"を使って求めるジオメトリーとオブジェクトを集計して、その後に適切な TWKB 関数を呼んでいます。
SELECT ST_AsTWKB(array_agg(geom), array_agg(gid)) FROM mytable;
\x040402020400000202