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 表示将保留小数点右侧的第一个数字。
sizes 和 bounding boxes 参数控制是否在输出中包含有关对象编码长度和对象边界的可选信息。默认情况下,不包含这些信息。除非你的客户端软件需要使用这些信息,否则不要启用它们,因为它们只会占用空间(而节省空间正是 TWKB 的目的)。
该函数的数组输入形式用于将几何和唯一标识符集合转换为保留标识符的 TWKB 集合。这对于期望解包集合,然后访问内部对象更多信息的客户端非常有用。你可以使用array_agg函数创建数组。其他参数的操作与该函数的简单形式相同。
格式规范可以在线获取,网址为 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