ST_SIMPLIFY函数的功能是使用Douglas-Peucker算法来简化输入的geometry。
当输入的参数存在NULL时,函数返回NULL。
geometry
通用表达式,其值必须为有效的ST_GEOMETRY类型的数据,遵循如下规则:
- 仅计算2D结果,如坐标中有Z轴,则会忽略Z坐标进行计算。
- 如输入的geometry是POINT、MULTIPOINT类型,则直接返回原来的值。
- 如输入的geometry是LINESTRING、MULTILINESTRING类型,除非输入的是LINESTRING EMPTY或者是MULTILINESTRING EMPTY,才会返回EMPTY,否则至少保留两个点。
- 如输入的geometry是POLYGON、MULTIPOLYGON类型,缩小到一定程度之后会返回POLYGON EMPTY或MULTIPOLYGON EMPTY。
- 如输入的geometry是GEOMETRYCOLLECTION类型,内部的各类数据变化与上述一致。
tolerance
tolerance表示容差,其值为DOUBLE类型,容差越大,则简化的程度越大,遵循如下规则:
- 支持能够隐式转换成DOUBLE的数据类型。
- 如输入负数,则转化成对应的正数进行计算。
- tolerance值过大时,输入的geometry可能会消失(变成EMPTY)。
示例(单机HEAP表)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3086196/
,如需转载,请注明出处,否则将追究法律责任。