在QGIS中平滑/概括多边形?


37

是否有可能通过使用诸如通用线的插件之类的插件来平滑或通用化QGIS中的多边形?

我可以将多边形转换为线,对其进行平滑处理,然后将其转换回多边形,但是由于多种原因,这对我的多边形不起作用。

Answers:


26

您可以使用:

Vector menu -> Geometry tools -> Simplify Geometries

简单

除此之外,您也可以在postgis中使用Douglas-Peucker算法,因此您可以在postgis中使用,然后在qgis中添加postgis层。您可以在此处找到有关“简化”的信息:减少几何图形的重量。

SELECT simplify(the_geom,500) as simpgeom 
    FROM neighborhoods

简单


4
这简化了线条,使它们更加锯齿。有没有办法使它们平滑(我想必须对它们进行插值)?
内特·韦塞尔

简化只是从直线或多边形中删除顶点,这些顶点仍会留下锯齿状的线条。如果要平滑线,则需要Generalizer插件。
米歇尔·托比亚斯(MicheleTobias)

1
有关其他信息,此工具已在QGIS 2.16中移至“处理”工具箱/“ QGIS地理算法” /“矢量几何”工具/“简化几何”
gisnside

19

阿拉贡的答案很适合推广。 布莱恩(Bryan)的回答对平滑处理很有帮助,但有点令人费解。这是两种平滑方法:

  • 使用“ v.generalizer处理”工具箱中的GRASS 工具。这是Bryan答案中的QGIS Generalizer插件所基于的模块。GRASS工具使您可以使用多边形,从而避免了转换为直线并再次返回的步骤。这是一个非常出色的工具,带有许多用于平滑/泛化的算法。
  • 使用缓冲区解缓冲的“老式”方法。只需以适当的数量缓冲多边形(您的调用取决于数据的性质和所需的平滑度)。然后通过对缓冲区距离应用相同的值来取消缓冲,但是这次使其为负。如果您是第一次溶解缓冲液,通常可以根据需要同时消除小间隙或甜甜圈孔(尽管这并不总是可取的,因此在选择溶解之前请仔细考虑)。

平滑通常意味着添加顶点(尤其是使用buffer-debuffer方法)。平滑后,您可以按照Aragon的答复应用概括。



好主意!我同时使用了Ramer(线)和基于区域的两种方法,后者提供了更平滑的多边形,但仍然看起来像带刺铁丝网。希望这种方法更好。
culebrón

16

我也很幸运地使用了QGIS Generalizer插件(启用实验性插件),然后:

Vector > Geometry Tools > Polygons to lines

然后使用Generalizer插件平滑线和顶点

Plugins > Generalizer > Generalizer
Algorithm: "Chaiken's Algorithm"

然后将线转回多边形

Vector > Geometry Tools > Polygons to lines

实际上,这可以使线条平滑和圆角化,效果更好。不得不在线和多边形之间来回切换有点笨拙,但这确实可行。我知道也可以通过Grass进行此操作,但是我发现它们很难设置。


这是一种有用的方法:但是,我的多边形中有孔,无法使用
lines-

6

现在可以Smooth geometry通过来使用算法Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools

  1. 采集锯齿状的几何对象在此处输入图片说明
  2. 设置选项(我将Iterations字段更改为5并对该结果感到满意)在此处输入图片说明
  3. 获取平滑的对象 在此处输入图片说明

“平滑几何算法”仍然是有效的选择吗?由于使用其他算法无法获得理想的结果,因此我在安装QGIS 2.14时一直在寻找该算法,但找不到。然后,我安装了QGIS 2.18.16,但仍无法在处理工具栏中找到该算法。感谢您在查找或安装它方面的帮助。
塔雅

1
好的,重新启动系统后找到我自己的问题的解决方案。在QGIS 2.18的全新安装完成后,处理插件出现问题。重新启动系统,QGIS解决了这个问题,我可以在处理工具箱中看到“平滑几何算法”。
塔雅

我应该更频繁地检查gisSE :)很高兴您找到了解决方案
Mykola Kozyr

我认为您缺少一步了……我的QGIS安装有法语版本,所以我自己不能完全添加一步,但是我不得不选择“ lisser”。
user3386170 '18

2

右键单击主板(在顶部),然后激活“工具箱”->如下面的图片所示 在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.