Name

ST_AsTWKB — 将几何图形返回为TWKB,也称为“极小的知名二进制”

Synopsis

bytea ST_AsTWKB(geometry g1, integer decimaldigits_xy=0, integer decimaldigits_z=0, integer decimaldigits_m=0, boolean include_sizes=false, boolean include_bounding boxes=false);

bytea ST_AsTWKB(geometry[] geometries, bigint[] unique_ids, integer decimaldigits_xy=0, integer decimaldigits_z=0, integer decimaldigits_m=0, boolean include_sizes=false, boolean include_bounding_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对象,首先使用“arrayagg()”聚合所需的几何图形和对象,然后调用适当的TWKB函数。

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

另请参阅

ST_GeomFromTWKB, ST_AsBinary, ST_AsEWKB, ST_AsEWKT, ST_GeomFromText