arcpy实现gis同一图层的多个要素合并(Dissolve/Union)方法:
方法(1):可以通过 Editor 对要素进行编辑,然后选中后通过使用 Merge 工具可以实现。利用 ArcPy 实现自动化处理,需要用到 Dissolve 工具,可以按照相同字段值进行合并融合。
基于指定属性聚合要素。
-----
Dissolve_management (in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines})
-----------
Parameter
in_features:要聚合的要素。
out_feature_class:要创建的将包含聚合要素的要素类。
dissolve_field:要聚合要素的一个或多个字段。省略的话则对所有要素合并。
# 将国家合并成一个要素
arcpy.Dissolve_management("CNTRY92", "world")
# 将国家按照 Continent 字段按照大洲合并
arcpy.Dissolve_management("CNTRY92", "world_01", "continent")
方法(2):通过 Geometry 的 union 方法可以实现几何图形的合并,然后通过 CopyFeatures_Management 方法将生成的集合图形转换成 shp 文件。
若要实现所有数据合并需要通过循环实现:
import arcpy
# 获取当前 shp 文件的所有 Geometry,结果是一个 list
geoms = arcpy.CopyFeatures_management("bou2_4p", arcpy.Geometry())
geo1 = geoms[0]
geo2 = geoms[1]
# 以下两种均可以实现将两个 Geometry 合并,然后将生成的 Geometry 输出
geo_new = geo1.union(geo2)
arcpy.CopyFeatures_management(geo_new, "geo_new1.shp")
geo_new01 = arcpy.Geometry.union(geo1, geo2)
arcpy.CopyFeatures_management(geo_new01, "geo_new2.shp")