在不丢弃顶点的情况下,把无效的Geometry对象转换成有效的Geometry对象。
语法
geometry ST_MakeValid(geometry input);
参数
参数名称 | 描述 |
---|---|
input | 目标Geometry对象。 |
描述
- 对于有效的几何图形不进行处理。
- 支持的输入类型有:Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon和GeometryCollection即前面类型的任意混合类型。
- 如果有部分或者全部维度损失,输出的Geometry对象是一个更低维度Geometry对象的集合或者一个更低维度的Geometry对象。
- 有自相交的简单多边形可能会返回成Multi类型对象。
示例
尝试修复自相交POLYGON对象:
SELECT ST_AsText(ST_MakeValid('POLYGON((0 0,0 1,1 0,1 1,0 0))'));
st_astext
----------------------------------------------------------------
MULTIPOLYGON(((0 0,0 1,0.5 0.5,0 0)),((0.5 0.5,1 1,1 0,0.5 0.5.
.)))
(1 row)