ArcGIS工具 - 批量删除空图层

为了减少数据的冗余,我们经常需将数据库中的空图层(没有任何记录的要素类或表)删除,删除数据本来是一个很简单的操作,但如果数据量大,则需通过程序来处理。例如,删除成百上千个标准分幅DLG数据库中等高线数据为空的图层。采用为源GIS开发的批量删除空图层工具可实现自动判断图层内要素数据,并删除记录数为0的空图层。

需求描述

如果图层较少,可直接打开属性表判断其数量后,使用删除工具可直接删除空图层。

img

如果量比较多,也可以右键使用批量删除功能。

img

功能说明

img

批量删除空图层工具,主要包括有以下特点:

  • 能够批量检查记录数量,并自动删除空图层;
  • 支持ArcGIS 所有类型的地理数据工作空间(文件夹、地理数据库);
  • 兼容ArcGIS 10.0~10.8、ArcGIS Pro多个版本。

使用方法

在ArcGIS Pro加载并运行工具,选择一个或多个需要检查和删除的工作空间,单击“运行”即可得到结果。

img

在ArcMap中使用方法类似,如下图所示:

img

代码实现

主要用到List列出数据、GetCount计算和Delete_management操作,关键代码如下:

import arcpy

arcpy.env.workspace = path
def deleteGDBFile(gdbpath):
    env.workspace=gdbpath
    fcs=arcpy.ListFeatureClasses()
    for fc in fcs:
        if int(arcpy.GetCount_management(fc).getOutput(0))==0:
            arcpy.Delete_management(fc)
    fcs = arcpy.ListTables()
    for fc in fcs:
        if int(arcpy.GetCount_management(table).getOutput(0))==0:
            arcpy.Delete_management(fc)

技术支持

如果有任何疑问或问题,可联系微信:wygis2022 , 企鹅:1811335143

posted @ 2022-07-08 06:52  为源地理  阅读(388)  评论(0编辑  收藏  举报