ArcGIS中的空值问题

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


01、空值的表现形式

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

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

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

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

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


02、空值的产生

空值的产生途径很多。

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

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

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

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

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


03、空值可能引发的问题

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

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

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

这里的【NoneType】就是空值。

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

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

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


04、空值的处理

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

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

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

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

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

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

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

相关推荐
你们瞎搞11 小时前
arcgis矢量数据转为标准geojson格式
python·arcgis·json·地理空间数据
新中地GIS开发老师21 小时前
Cesium 军事标绘入门:用 Cesium-Plot-JS 快速实现标绘功能
前端·javascript·arcgis·cesium·gis开发·地理信息科学
清欢ysy1 天前
Cannot find module ‘@next/bundle-analyzer‘
开发语言·javascript·arcgis
jerryinwuhan2 天前
arcgis如何将一部分shp地图截取下来并处理成networkx格式
arcgis
细节控菜鸡5 天前
【2025最新】ArcGIS for JS 实现地图卷帘效果
开发语言·javascript·arcgis
细节控菜鸡6 天前
【2025最新】ArcGIS for JS 实现地图卷帘效果,动态修改参数(进阶版)
开发语言·javascript·arcgis
GIS阵地6 天前
CSV转换为QGIS的简单分类符号
arcgis·二次开发·qgis·地理信息系统·pyqgis
角砾岩队长8 天前
基于ArcGIS实现Shapefile转KML并保留标注
arcgis
细节控菜鸡8 天前
【2025最新】ArcGIS for JS二维底图与三维地图的切换
javascript·arcgis
zenithdev18 天前
开源库入门教程 Cesium:3D地球和地图库
其他·3d·arcgis