【ArcGIS基础】arcgis 属性表字段查找空值

本文介绍了在ArcGIS中查找字段空值的三种方法:1)通过属性表筛选;2)使用查询工具结合ISNULL或=;3)利用Python脚本批量处理,遍历字符串字段并输出空值数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 ArcGIS 中,有时候需要找到某个字段中的空值,以便进行数据修复或分析。以下是一些查找空值的方法:

1. 在属性表中筛选:打开要素类或表格的属性表,在字段名所在列的下拉菜单中选择“选择”或“筛选”,然后选择“空值”选项 即可筛选出该字段中的空值。

 

2. 使用查询工具:在 ArcMap 的工具栏中选择“选择”工具, 然后在“选择”菜单中选择“通过查询选择要素”。在查询对话框中, 选择要查找的字段,然后使用“IS NULL”或“=‘’”操作符来指定空值条件。执行查询后,系统会选择包含空值的要素。

 

3. 使用 python 脚本:如果需要在批量处理数据时查找空值, 可以使用 python 脚本。在 ArcGIS Python 窗口中,输入以下代码:
 

import arcpy

from arcpy import env

env.workspace = 'C:/data'

fc = 'roads.shp' for field in arcpy.ListFields(fc):

if field.type == 'String':

where_clause = '{} = '''.format(field.name)

arcpy.SelectLayerByAttribute_management(fc, 'NEW_SELECTION', where_clause)

count = arcpy.GetCount_management(fc)

print('Field {} has {} empty values'.format(field.name, count))

该脚本将遍历指定的要素类中的所有字符串字段,查找其中的空值,并输出每个字段中空值的数量

### 如何在 ArcGIS 中将属性表中的 Null 值替换为 0 为了实现在 ArcGIS属性表中将 `NULL` 或者空值替换成指定数值(如 0),可以采用 Python 脚本配合 ArcPy 库来完成此操作。下面提供了一种通过编写脚本来批量更新字段的方法。 #### 使用 Field Calculator 更新字段值 对于简单的单个图层或表格,可以直接利用 ArcMap/ArcGIS Pro 内置的字段计算器(Field Calculator),并输入相应的表达式来进行转换: ```python def replace_null_with_zero(value): if value is None or str(value).strip() == '': return 0 else: return value ``` 接着,在字段计算窗口内选择 Python 解释器,并调用上述定义好的函数作为表达式参数传递给目标字段[^3]。 #### 编写独立 Pyhton Script 批量处理多个图层/表 当面对大量待处理的数据集时,则建议开发一段完整的Python程序以提高效率: ```python import arcpy workspace = r"C:\path\to\your\geodatabase.gdb" arcpy.env.workspace = workspace feature_classes = arcpy.ListFeatureClasses() for fc in feature_classes: fields = ['TARGET_FIELD'] # 将 'TARGET_FIELD' 替换为目标字段名 with arcpy.da.UpdateCursor(fc, fields) as cursor: for row in cursor: if row[0] is None or (isinstance(row[0], basestring) and not row[0].strip()): row[0] = 0 cursor.updateRow(row) print "All NULL values have been replaced by zero." ``` 这段代码会遍历工作空间下的所有要素类(feature class), 并针对每一个要素类内的指定字段执行 `NULL -> 0` 的替换动作.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟噜兜子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值