ST_AsTWKB
Name
ST_AsTWKB — Returns the geometry as TWKB, aka "Tiny Well-Known Binary"
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
)
;
Description
Returns the geometry in TWKB (Tiny Well-Known Binary) format. TWKB is a compressed binary format with a focus on minimizing the size of the output.
The decimal digits parameters control how much precision is stored in the output. By default, values are rounded to the nearest unit before encoding. If you want to transfer more precision, increase the number. For example, a value of 1 implies that the first digit to the right of the decimal point will be preserved.
The sizes and bounding boxes parameters control whether optional information about the encoded length of the object and the bounds of the object are included in the output. By default they are not. Do not turn them on unless your client software has a use for them, as they just use up space (and saving space is the point of TWKB).
The array-input form of the function is used to convert a collection of geometries and unique identifiers into a TWKB collection that preserves the identifiers. This is useful for clients that expect to unpack a collection and then access further information about the objects inside. You can create the arrays using the array_agg function. The other parameters operate the same as for the simple form of the function.
The format specification is available online at https://github.com/TWKB/Specification , and code for building a JavaScript client can be found at https://github.com/TWKB/twkb.js . |
Enhanced: 2.4.0 memory and speed improvements.
Availability: 2.2.0
Examples
SELECT ST_AsTWKB('LINESTRING(1 1,5 5)'::geometry); st_astwkb -------------------------------------------- \x02000202020808
To create an aggregate TWKB object including identifiers aggregate the desired geometries and objects first, using "array_agg()", then call the appropriate TWKB function.
SELECT ST_AsTWKB(array_agg(geom), array_agg(gid)) FROM mytable; st_astwkb -------------------------------------------- \x040402020400000202