QGIS编辑PostGIS的POLYGON后保存为MULTISURFACE如何解决?
解决方案
单图层专属配置(仅作用于当前PostGIS表)
- 右键点击目标PostGIS图层,选择「属性」,进入「数据源」选项卡
- 找到「几何类型强制转换」模块,取消勾选允许曲面几何类型,手动将几何类型指定为
Polygon,不要留空或选择自动检测 - 切换到「编辑」选项卡,勾选保存时自动简化几何类型为最小可用形式,点击「确定」保存配置即可
全局配置(作用于所有QGIS加载的图层)
- 点击顶部菜单栏「设置」-「选项」,切换到「数据源」标签页
- 找到「几何类型处理」分组,取消勾选默认使用曲面几何类型、自动将单部件几何升级为多部件几何两个选项
- 保存设置后重启QGIS生效
临时修正SQL
如果已经有数据被存为MULTISURFACE,可以在PostGIS端执行语句批量修正:
UPDATE 你的表名 SET geom = ST_Force2D(ST_ForcePolygon(geom)) WHERE ST_GeometryType(geom) = 'ST_MultiSurface';
内容的提问来源于stack exchange,提问作者Derek
相关产品推荐
相关产品推荐

