ST_AsTWKB — Returnerar geometrin som TWKB, aka "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)
;
Returnerar geometrin i TWKB-format (Tiny Well-Known Binary). TWKB är ett komprimerat binärt format med fokus på att minimera storleken på utdata.
Parametrarna för decimalsiffror styr hur mycket precision som lagras i utdata. Som standard avrundas värden till närmaste enhet före kodning. Om du vill överföra mer precision ökar du antalet. Ett värde på 1 innebär t.ex. att den första siffran till höger om decimaltecknet bevaras.
Parametrarna sizes och bounding boxes styr om valfri information om objektets kodade längd och objektets gränser ska inkluderas i utdata. Som standard är de inte det. Aktivera dem inte om inte din klientprogramvara har användning för dem, eftersom de bara tar upp utrymme (och att spara utrymme är själva poängen med TWKB).
Funktionens array-input-form används för att konvertera en samling geometrier och unika identifierare till en TWKB-samling som bevarar identifierarna. Detta är användbart för klienter som förväntar sig att packa upp en samling och sedan få tillgång till ytterligare information om objekten inuti. Du kan skapa matriserna med hjälp av funktionen array_agg. De andra parametrarna fungerar på samma sätt som för den enkla formen av funktionen.
![]() |
|
Formatspecifikationen finns tillgänglig online på https://github.com/TWKB/Specification, och kod för att bygga en JavaScript-klient finns på https://github.com/TWKB/twkb.js.. |
Förbättrad: 2.4.0 minnes- och hastighetsförbättringar.
Tillgänglighet: 2.2.0
SELECT ST_AsTWKB('LINESTRING(1 1,5 5)'::geometry); st_astwkb -------------------------------------------- \x02000202020808
För att skapa ett aggregerat TWKB-objekt inklusive identifierare aggregerar du först de önskade geometrierna och objekten med hjälp av "array_agg()" och anropar sedan lämplig TWKB-funktion.
SELECT ST_AsTWKB(array_agg(geom), array_agg(gid)) FROM mytable; st_astwkb -------------------------------------------- \x040402020400000202
ST_GeomFromTWKB, ST_AsBinary, ST_AsEWKB, ST_AsEWKT, ST_GeomFromText