Name

ST_AsTWKB — Renvoie la géométrie sous forme de TWKB, diminutif de "Tiny Well-Known Binary"

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);

Description

Renvoie la géométrie au format TWKB (Tiny Well-Known Binary). TWKB est un format binaire compressé dont l'objectif est de minimiser la taille de la sortie.

Les paramètres relatifs aux chiffres décimaux déterminent le degré de précision stocké dans la sortie. Par défaut, les valeurs sont arrondies à l'unité la plus proche avant l'encodage. Si vous souhaitez transférer plus de précision, augmentez le nombre. Par exemple, une valeur de 1 implique que le premier chiffre à droite du point décimal sera préservé.

Les paramètres "sizes" et "bounding boxes" déterminent si les informations optionnelles concernant la longueur encodée de l'objet et les limites de l'objet sont incluses dans la sortie. Par défaut, elles ne le sont pas. Ne les activez pas à moins que votre logiciel client n'en ait l'utilité, car ils ne font qu'utiliser de l'espace (et économiser de l'espace est l'objectif de TWKB).

La forme tableau de la fonction est utilisée pour convertir une collection de géométries et d'identifiants uniques en une collection TWKB qui préserve les identifiants. Cette fonction est utile pour les clients qui souhaitent décompresser une collection et accéder ensuite à d'autres informations sur les objets qu'elle contient. Vous pouvez créer les tableaux à l'aide de la fonction array_agg. Les autres paramètres sont les mêmes que pour la forme simple de la fonction.

[Note]

La spécification du format est disponible en ligne à l'adresse https://github.com/TWKB/Specification, et le code permettant de créer un client JavaScript est disponible à l'adresse https://github.com/TWKB/twkb.js.

Amélioration : 2.4.0 amélioration de la mémoire et de la vitesse.

Disponibilité : 2.2.0

Exemples

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

Pour créer un objet TWKB agrégé comprenant des identifiants, il faut d'abord agréger les géométries et les objets souhaités en utilisant "array_agg()", puis appeler la fonction TWKB appropriée.

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