GIS - 如何溶解未连接的多边形

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

如何使用 arcgis 或 qgis 溶解彼此靠近但不接触的多边形?

我有原始输出: original output

我希望它以广义的方式溶解并变得像这样但不是圆形的: buffered and re-buffered output

为了实现我的目标,我缓冲了输出 3 m(使用溶解),然后缓冲了 -3 m 尝试保留原始范围。但我得到了某种扭曲的形状。溶解的多边形几乎每个角都是圆角的。

比较: comparison(green:original, blue:buffered)

我尝试了聚合多边形,但花了太长时间,而且没有给我我想要的东西。

geometry arcgis qgis shapely arcpy
2个回答
0
投票

使用 alpha 形状怎么样,这看起来像您正在寻找的结果吗?

您没有要求使用Python解决方案,但由于您确实标记了Shapely,所以这里是使用Python的解决方案(这里的geom是Shapely对象集合)。

import matplotlib.pyplot as plt
import numpy as np

im = plt.imread('input.png')

array = im[:, :, 1] < 0.8

plt.imshow(array)

import alphashape
points = np.array(np.where(array)).T
geom = alphashape.alphashape(points, 0.1)

# For visualization
with open('test.svg', 'w') as f:
    f.write(geom._repr_svg_())
import webbrowser
webbrowser.open('test.svg')

0
投票

Arcgis 解决方案。 选择全部并合并使所有先前的单个多边形溶解多边形。

selected_polys = arcpy.management.SelectLayerByAttribute(in_laye)
arcpy.management.Merge([selected_polys], output_layer)

或者选择表中的所有内容并使用合并编辑工具,或者从下面的链接中选择一些选项。

https://community.esri.com/t5/python-questions/merging-features-in-feature-class-with-arcpy/td-p/466856

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