將Geometry對象中的點的坐標值保留指定位數的有效數字。

語法

geometry  ST_QuantizeCoordinates (geometry  g , int  precX , int  precY , int  precZ , int  precM);

參數

參數名稱 描述
g 目標Geometry對象。
precX X的精度(小數點后的指定位數)。
precY Y的精度(小數點后的指定位數)。
precZ Z的精度(小數點后的指定位數)。
precM Z的精度(小數點后的指定位數)。

描述

  • ST_QuantizeCoordinates將小數點后除N個最高有效位以外的所有位數都設置為零。
    • 所得的坐標值仍將取整為原始值,但可壓縮性得到改善。如果幾何列使用的是可壓縮存儲類型,則可以大大減少磁盤使用。
    • 在內存中的Geometry對象的大小不受影響。
  • 未指定的精度將假定與X的精度一致。
  • 指定負數的精度將被解釋為引用小數點左邊的數字。
    說明 例如prec_x = -2會將坐標值保留到最接近的100。
  • 此功能不影響Geometry對象之間現有的拓撲關系。
  • 當函數以比源對象固有精度低的位數調用時,可能會產生無效的Geometry對象。

示例

SELECT ST_AsEWKT(ST_QuantizeCoordinates(ST_GeomFromText('POINT(1.123456 1.123456)'),4));
                st_asewkt
------------------------------------------
 POINT(1.12345123291016 1.12345123291016)
(1 row)