ArcGIS工具 - 批量删除空图层

2023-03-02,,

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

需求描述

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

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

功能说明

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

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

使用方法

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

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

代码实现

主要用到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

ArcGIS工具 - 批量删除空图层的相关教程结束。

《ArcGIS工具 - 批量删除空图层.doc》

下载本文的Word格式文档,以方便收藏与打印。