Name

ST_AsTWKB — 返回几何形式为 TWKB,又名“微小的已知的二进制”

Synopsis

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(微小已知的二进制)格式的几何图形。 TWKB 是一种压缩的二进制格式,注重最小化输出的大小。

小数位参数控制输出中存储的精度。 默认情况下,值在编码前四舍五入到最接近的单位。 如果要传输更高的精度,请增加数字。 例如,值 1 表示将保留小数点右侧的第一位数字。

大小和边界框参数控制输出中是否包含有关对象的编码长度和对象边界的可选信息。 默认情况下,它们不是。 除非您的客户端软件需要使用它们,否则不要打开它们,因为它们只会占用空间(节省空间是 TWKB 的目的)。

该函数的数组输入形式用于将几何图形和唯一标识符的集合转换为保留标识符的 TWKB 集合。 这对于希望解压集合然后访问有关内部对象的更多信息的客户端非常有用。 您可以使用 array_agg 函数创建数组。 其他参数的操作与函数的简单形式相同。

[Note]

格式规范可在 https://github.com/TWKB/Specification 在线获取,构建 JavaScript 客户端的代码可在 https://github.com/TWKB/twkb.js 找到。

增强:2.4.0 内存和速度改进。

可用性:2.2.0

示例

SELECT ST_AsTWKB('LINESTRING(1 1,5 5)'::geometry);
                 st_astwkb
--------------------------------------------
\x02000202020808

要创建包含标识符的聚合 TWKB 对象,请首先使用“array_agg()”聚合所需的几何图形和对象,然后调用适当的 TWKB 函数。

SELECT ST_AsTWKB(array_agg(geom), array_agg(gid)) FROM mytable;
                 st_astwkb
--------------------------------------------
\x040402020400000202