标签:management 批量 删除 ArcGIS fc 图层 arcpy
为了减少数据的冗余,我们经常需将数据库中的空图层(没有任何记录的要素类或表)删除,删除数据本来是一个很简单的操作,但如果数据量大,则需通过程序来处理。例如,删除成百上千个标准分幅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
标签:management,批量,删除,ArcGIS,fc,图层,arcpy 来源: https://www.cnblogs.com/wygeo/p/16456885.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。