QGIS中是否可以通过设置参数(例如最大面积,边界线之间的距离)来自动填充多边形中的孔?我想删除/填充非常“薄” /小的孔。
QGIS中是否可以通过设置参数(例如最大面积,边界线之间的距离)来自动填充多边形中的孔?我想删除/填充非常“薄” /小的孔。
Answers:
对于这个shapefile,我面临着与您相同的问题,多边形之间存在许多缝隙。
为了解决该问题,您可以对tshiffle的方法进行一些修改:
此操作将创建一个仅包含一个多边形的新shapefile,因此您必须将其分解为单个部分。为此,您可以使用矢量/几何工具/多部分到单部分工具。
之后,删除外部实体。现在,在新的shapefile中,有几个多边形可以覆盖原始coverage的间隙。
可能有更优雅的解决方案,但这一直对我有用。
1)创建“填孔”多边形。为此,绘制一个比原始对象大的大多边形,然后使用“差异”工具。如果绘制了更大的多边形,则将具有所有“填充”多边形以及一个围绕原始形状的更大的多边形。删除该较大的多边形,并保留“填充孔”的多边形。
2)将“填孔”多边形与原始shapefile合并。如果您只想填充符合特定条件的孔(即,在X平方公里以下),则可以在此处进行筛选。
3)在公共字段上溶解新合并的多边形。
我已经看到了一些解释,它们与gtapko和tshiffle的解释相同,但是对我来说不起作用,因为无效的几何形状使差异工具无法正常工作。因此,我想出了自己的解决方案,该解决方案并非100%自动化,而是可管理的。可能有人已经想到了这一点,但我会抓住机会:
1)在原始损坏的图层上创建一个ID
创建ID属性很简单,但是我的解决方案也很简单,因此我将对其进行介绍。
首先,您必须打开属性表,然后转到“ 字段计算器”,这是一个非常类似于算盘的按钮。在那里,您可以选择创建一个新字段或更新现有字段。在上面的图片中,我正在创建一个新的名为“ ID”的ID。该公式就在图片的末尾。(很抱歉,我的QGIS用另一种语言设置。由于设计和公式在所有语言版本中都是完全相同的,所以我认为这不会妨碍我们的工作。)
2)将多边形转换为线
此步骤位于菜单的“ 向量”>“几何”部分。转换后的形状应如下所示:
在将多边形转换为线之后,您将必须执行完全相反的操作,即...
3)将线转换为多边形
选项彼此相邻。同样,让我们不要介意这里的语言障碍。
4)欢喜 之所以执行步骤2和3的原因是因为现在您确定这些线将被视为多边形,这意味着它们现在在属性表上具有自己的线。如果签出,它将看起来像这样:
第一个总是整个多边形(相信我,今天我已经删除了几百行...),其余的是中间的松散线。您可以启用编辑并准备采取行动。如果您决定尝试这种方法,则需要牢记两件事:以ID的方式组织表,这样就可以确保您不会丢失任何东西,并像其他任何程序一样使用shift选择数据集群。
我知道这是不是上流社会的名流 QGIS解决问题的,但如果你面对其中工具不是因为工作的情况下无效的几何形状,这些线创建(我甚至尝试用ID溶解,但它不起作用),那么这可能是一个出路。