QGIS 编辑将多边形变成多面

问题描述 投票:0回答:1

我有一个带有多边形的 PostGIS 表,我需要在 QGIS 中对其进行一些清理编辑。然而,即使像删除顶点这样的简单编辑也会将结果保存为多曲面。

我使用的是QGIS 3.16。

如何指示 QGIS 使用最简单的几何类型来表示编辑后的多边形?

postgis qgis
1个回答
2
投票

我认为正在发生的事情是通用“几何”类型的几何列迫使 QGIS 猜测和/或将这些列中编辑的几何图形转换为多表面 - 我不知道为什么。

为了解决这个问题,我创建了一个新列并将类型显式设置为多边形类型:

alter table schema.table_name
add geom_mult geometry (Multipolygon, 4326); 

然后使用 ST_Multi(geom) 将我的“混合”几何图形的旧 geom 列转移到这个新列中进行转换:

update 
schema.table_name
set geom_mult = ST_Multi(geom); 

从那里,我回到 QGIS 并将新的 table_name.geom_mult 添加到我的项目中。我经历了导致转换为多曲面的完全相同的编辑场景,并且不再转换它们 - 多边形都保持多多边形 - 这包括使用“重塑曲面”任务的拓扑编辑和创建新的单部分多边形(qgis/postgis)自动将它们存储为多部分)。

所以现在我要删除旧的几何列,创建一个新的多多边形类型,然后使用更新将转换后的多多边形重新添加到这个新列。

我所有需要名为 geom 的列的应用程序都可以正常工作。我可以更改 QGIS 图层定义以使用 MultiPolygon 而不是 Polygon。

此外,我使用多重多边形而不是仅使用多边形来完成所有这些操作,因为除了单部分多边形之外,我的表中确实有多重多边形数据。似乎没有人(QGIS、PostGIS)关心单部分多边形是否存储为我可以告诉的多部分特征。

© www.soinside.com 2019 - 2024. All rights reserved.