ArcGIS中的空值问题

空值是数据的一种特殊状态,当某个字段没有被赋值或者在数据获取、处理过程中数据缺失时就会出现空值。


01、空值的表现形式

【空值】不同于数字型的【零值】或者字符串型的【空格】。

数字型的【零值】是一个确定的数值,表示数量上为0。

字符串型的【空格】虽然看起来字段内没有内容,但在ArcGIS中空格也是一种有意义的内容。

而【空值】是没有任何数据的表示,通常情况下显示为<null>或<空>。

TIPS:在选择工具中,通过SQL表达式,可以很明显的看到【为空】和【空格】的区别:


02、空值的产生

空值的产生途径很多。

例如,在添加字段时,就有一个选项可以选择**【字段支持空值】**,如果勾选,新建字段的初始字段值就是空值。

另外,还可以通过字段计算器,输入【None】表达式来计算出空值。

(python是【None】, VB和Arcade是【null】)

或者在使用【连接字段】等处理字段类的地理处理工具时,也会产生空值。

总之,空值是不可避免的。


03、空值可能引发的问题

空值在数据库中有它存在的必要性,但是也会给我们带来很多困扰,尤其是对新手小白来说。

首先,如果你要按条件选择时,往往容易把【空值】和【空格】混在一起。

其次,【空值】在字段计算器经常会引发很多错误,因为在python中,空值是不能参与数学计算的。

这里的【NoneType】就是空值。

在数据汇总时,空值则会被跳过不计入统计。(这个可以当作是0)

在标注的时候,【空值】同样会影响表达式,产生错误。

在符号系统中,【空值】会当单独表达为一类,所以影响倒不是很大。


04、空值的处理

鉴于【空值】的诸多隐患,我个人习惯于尽量避免空值的出现,特别是一些需要后续处理的字段。

如果是少量字段值,可以直接编辑。

双击字段行,随便按一个键,如空格键,再按删除键【Backspace】,即可将字符串字段的【空值】修改为【空格】。

数字型字段直接输入【0】即可。

批量的话,可以使用字段计算器。

字符串型字段输入【""】,数字型字段输入【0】来消除空值。

另外,如果你装过了CC工具箱 的话,有一个**【字段数据清洗】**工具可以直接对所有字段进行批量处理。

相关推荐
da-peng-song3 天前
ArcGIS Desktop使用入门(四)——生成经纬度坐标
arcgis·经纬度坐标
da-peng-song3 天前
ArcGIS Desktop使用入门(三)图层右键工具——定义查询
数据库·arcgis·拆分数据·定义查询
星座5283 天前
破解水环境空间分析难题,迈向智慧水环境管理:ArcGIS水质评价、污染预测与洪水监测核心技术揭秘
arcgis·水环境·水文
非科班Java出身GISer4 天前
ArcGIS JS 基础教程(10):Camera 相机控制
arcgis·arcgis js 相机·arcgis js 相机控制·arcgis js 视角控制·arcgis js 飞行定位·arcgis js 定位·arcgis js 各种定位
码语智行5 天前
Shapefile获取空间数据和中心点坐标
java·arcgis
码语智行5 天前
地图上图、空间拓扑查询示例
java·arcgis
DXM05215 天前
第10期| 卷积神经网络CNN通俗详解:AI遥感的底层核心
人工智能·python·神经网络·机器学习·arcgis·cnn·文心一言
智航GIS6 天前
ArcGIS大师之路500技---078补零
arcgis
DXM05217 天前
第8期| 传统机器学习遥感解译:SVM & 随机森林分类全流程实操
人工智能·python·随机森林·机器学习·支持向量机·arcgis·自然语言处理
非科班Java出身GISer7 天前
ArcGIS JS 基础教程(9):天空盒与大气效果
arcgis·arcgis js 天空盒·arcgis js 大气效果·arcgis js 大气层·arcgis 场景背景