名称

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 是一种压缩二进制格式,专注于最小化输出大小。

十进制数字参数控制输出中存储的精度。默认情况下,值在编码前四舍五入到最接近的单位。 如果您想传输更高的精度,请增加该数字。 例如,值为 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