【发布时间】:2021-11-17 03:32:38
【问题描述】:
shapely 或类似库中是否有与 postGIS 方法 st_makevalid 完全等效的方法?就目前而言,使用推荐的 .buffer(0) here 是不够的。这个函数有没有纯python实现?就目前而言,我可以通过从 ctypes 绑定直接访问 postgis 函数,但这是一个麻烦的解决方案,因为我必须从源代码编译和安装。更好的解决方案将非常受欢迎。
【问题讨论】:
-
你能解释一下为什么
.buffer(0)不够用吗?您在问题中发现它的局限性是什么? -
它会删除重复的点,但不会删除循环
-
据我所知,Shapely Polygons 不支持循环(如果循环是指自相交的多边形)。你有没有很好地检查 MultiPolygon?有了这个,您可以将循环表示为单独的多边形,然后执行您需要的任何处理。 MultiPolygon 中的每个多边形都是有效的。一个图形示例将有助于理解您的问题。