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