postgis多边形去孔洞

image.png

有些情况会遇见一些多边形带有孔洞,这些带有孔洞的多边形,属于较为复杂的多边形,在有些情况下进行计算难以进行。最近找到一个简单的方法处理,使用st_exteriorring与ST_BuildArea

geometry ST_ExteriorRing(geometry a_polygon);

Returns a line string representing the exterior ring of the POLYGON geometry. Return NULL if the geometry is not a polygon.

ST_ExteriorRing这个函数是返回多边形的外边界,是不管内部情况的。但是只支持polygon类型。

SELECT st_exteriorring(geom) geom from split_polygon csp where csp.name='aaa';
image.png

根据外边界再重新生成多边形的话,就生成了不带内环的多边形了。

SELECT ST_BuildArea(st_exteriorring(geom)) geom from split_polygon csp where csp.name='aaa';

image.png

从最终结果来看,效果是很好的,最主要的是简单。以后再遇到这种有孔洞的多边形,也容易处理。同时想要外边界也容易。但是只支持polygon类型,当然可以将MultPolygon拆解成polygon再处理。具体操作可以看postgis Multi类型转simple类型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。