python - 修改多边形,使它们不重叠并且面积保持不变

标签 python postgresql gis polygon postgis

我有一组多边形,它们可以相互重叠,如下所示: enter image description here

我想以不重叠的方式修改它们,并且生成的表面积保持不变。像这样:

enter image description here

如果形状或位置发生变化也没关系。最主要的是它们不应该相互重叠,并且区域不应该有太大变化(我知道第二张图片中的区域发生了一点变化,但我是手动绘制的,因此让我们假设这些区域没有变化)。

我正在尝试借助 Python 以编程方式完成此操作。基本上,我将多边形存储在 PostGIS 数据库中,并借助脚本检索它们并进行修改。

我对 GIS 还很陌生,因此这似乎是一项艰巨的任务。

正确的做法是什么?有解决此类问题的算法吗?

最佳答案

看看ST_buffer并尝试将带符号的 float 作为第二个参数传递(减少半径的度数)

SELECT buffer(the_geom,-0.01) as geom

小心负缓冲区,因为如果缓冲区大小超过半径,您可能会遇到问题,请参阅 here .

关于python - 修改多边形,使它们不重叠并且面积保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233865/

相关文章:

postgresql - sequelize-typescript 多对多关系模型数据

ruby-on-rails - 在 Ruby 中计算大量 Lat/Lngs 到一组 2000 Lat/Lngs

r - 在多边形中生成规则间隔的点

python - 等待进程结束,该进程由名为

python - 如何在 matplotlib 中的曲线末端放置一个箭头?

python - 卡住的Python文件无法访问 "Save_File"

java - 确定点是否在java中的坐标集中

python - Django 不会将我重定向到 View 中的另一个 View

PHP:解析 postgre 的默认字符串时间戳格式

Django,无法验证某些用户