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 表示小數點右邊的第一位數字將會被保留。
大小和邊界框參數控制是否在輸出中包含有關物件編碼長度和物件邊界的選用資訊。預設情況下,不會包含這些資訊。除非您的用戶端軟體需要這些資訊,否則請勿開啟它們,因為它們只會佔用空間(而節省空間是 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