ArcGIS工具 - 批量删除空图层
为了减少数据的冗余,我们经常需将数据库中的空图层(没有任何记录的要素类或表)删除,删除数据本来是一个很简单的操作,但如果数据量大,则需通过程序来处理。例如,删除成百上千个标准分幅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模型构建器案例学习-批量删除空要素类地理模型
ArcGIS模型构建器案例学习笔记-批量删除空要素类地理模型 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:批量删除记录个数为0的矢量文件 优点:逻辑清晰,不 ...
- Linux下批量删除空文件
Linux下批量删除空文件(大小等于0的文件)的方法 find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还能够删除指定 ...
- ArcGIS AddIn 批量设置栅格图层背景色为透明
protected override void OnClick() { // // TODO: Sample code showing how to access button host // Arc ...
- [mark] Linux下如何批量删除空文件
可以使用 xargs 命令来批量处理,代码如下: $ find . -name '*' -type f -size 0c | xargs rm -f
- linux中find批量删除空文件夹
空文件夹 列出用find 删除管道即可 find -type d -empty | xargs -n 1 rm -rf 注意最后不能rm -f,这样删不了目录,必须-r
- SQLserver批量删除空表
今天需要清理一个很大的数据库,里面表有一堆,而且有很多是空表.想着把数据库弄小点,于是想到一次性删掉所有空表. 废话不多说,上代码. 首先,查处所有的空表. select distinct a.nam ...
- ArcGis Python脚本——批量删除字段
注意,ArcGis中shp属性表至少要保留除OID(FID).Shape之外的1个字段. 例:批量删除“省级行政区域”除“FID”.“Shape”.“Area”之外的字段. import arcpy ...
- ArcGIS(批量)删除属性字段
ArcGIS下删除属性字段有两种方式:① 单个删除:② 批量删除. 单个删除 批量删除 尽管如此,ArcGIS桌面软件在属性字段的编辑上并不太方便,所以我们自己做了一些工具辅助平时的内业处理工作.(* ...
- linux中find批量删除空文件及空文件夹
linux下批量删除空文件(大小等于0的文件)的方法 代码如下 复制代码 find . -name "*" -type f -size 0c | xargs -n 1 rm -f ...
- 个人永久性免费-Excel催化剂功能第55波-Excel批注相关的批量删除作者、提取所有批注信息等
Excel里的批注,许多人很喜欢用,但批注真的值得我们大量使用吗?批注的使用场景在哪里?这些问题可能更值得花时间来思考下.同样因为不规范地使用批注,也带出了一大堆的后续擦屁股的事情来,从批注中找回有价 ...
随机推荐
- 2.ElasticSearch系列之集群权限认证
1. 在master节点上创建秘钥库 export ES_PATH_CONF="/home/elasticsearch/config" && /usr/local/ ...
- JS复制粘贴效果
话不多说.直接上代码 HTML: 1 <div> 2 老师入会密码:<input type="text" id="tPass"> < ...
- Linux基础_6_文本编辑
vi i #编辑 ESC+:wq #保存退出 ESC+ZZ #保存退出 ESC+:q! #不保存退出 shift+z+q #不保存退出 dd #删除所在行 ESC+u #撤销dd误操作 :/字符串 # ...
- golang中的errgroup
0.1.索引 https://waterflow.link/articles/1665239900004 1.串行执行 假如我们需要查询一个课件列表,其中有课件的信息,还有课件创建者的信息,和课件的缩 ...
- python基础之数据类型总结
一.列表 1.作用:列表主要用于存储多个数据. 2.空列表表示:li=[]或者li=list() 3.列表的索引和切片:同字符串的索引和切片,索引超出范围报错,切片超出范围不报错. list3 = [ ...
- 知识图谱顶会论文(KDD-2022) kgTransformer:复杂逻辑查询的预训练知识图谱Transformer
论文标题:Mask and Reason: Pre-Training Knowledge Graph Transformers for Complex Logical Queries 论文地址: ht ...
- 独立按键控制led灯
#include "regx51.h"typedef unsigned int u16; void delay_us(u16 time){ while(time--){} }voi ...
- Android ViewHolder
Adapter :适配器,因为 ListView 是一个 View ,不能添加子项,因此在呈现数据的时候就需要某种工具将数据呈现在 ListView 上,而 Adapter 就能充当此角色.常用的 A ...
- nsenter命令简介
nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令.它位于util-linux包中. 用途 一个最典型的用途就是进入容器的网络命令空间.相当多的容器为了轻量级,是不包含较为基础的命令 ...
- vulnhub靶场之VIKINGS: 1
准备: 攻击机:虚拟机kali.本机win10. 靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhu ...