ArcGIS应用(二十七)遥感图像背景值nodata修改为0值

文章介绍了两种在ArcGIS10.2中修改图像背景值nodata为0的方法:一是使用Con函数通过RasterCalculator进行公式计算;二是利用CopyRaster工具直接复制并设置背景值。此外,还提到nodata值可以设置为任意值,但Python读取时可能需要特殊处理。

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

ArcGIS应用(二十七)修改图像背景值nodata为0值

1.使用工具

arcgis10.2 工具箱

方法一 公式计算

使用Con函数计算,函数的基本语句:con(条件(语句),真(语句),假(语句))
若“真(语句)”或“假(语句)”存在缺失,则对应栅格单元的值赋值为空(NoData)。
三处语句均可以是表达式,布尔语句,值,嵌套条件语句,具体运用可根据实际需要灵活组合。
依次打开ArcTools->Spatial Analyst Tools->Map Algebra->Single Output Map Algebra.
打开Raster Calculator 窗口,如下图:
输入公式:Con(IsNull(“your raster_name”),0,“your raster_name.tif”)
在这里插入图片描述
这里是将nodata值改为了图像有效值0值了,在这之前,nodata值不在属性中显示的,我们打开原图属性,可以看到nodata值不在属性表中,如下图:
在这里插入图片描述
当我们计算完成之后,重新查看属性表,如下图:
背景值作为0值显示在属性表中了
背景值作为0值显示在属性表中了。

方法二 使用Copy Raster工具

依次打开ArcTools->Data Management Tools->Raster->Raster Dataset>CopyRaster.
复制并输出一个栅格数据,将背景值设置为0.
在这里插入图片描述
输出后,打开栅格数据属性,nodata值修改成了0,其他软件读取的时候读取到的就是0值了:
在这里插入图片描述

补充说明:实际上nodata值可以设置为任意值,arcgis可以识别为nodata值不做处理,不过如果使用python读取图像的时候,处理方法不一样,会读取到nodata的值作为像元的值,有时候其实是无效值,因此需要我们单独处理这种情况。

将背景值修改为Nodata

setnull函数可将特定的栅格值赋值为空值。
setnull([raster==1],[raster]),将raster中值为1的数据赋为空,其他保留原值
mask=IsNull(“SmallRegion.tif”) 设置非空区域为0,空值区域为1。
SetNull(“mask”==0,1) 设置掩膜层中值为0的为nodata,而其余 的为1
SetNull(“mask”==0,“mask”) 设置mask图层中值为0的为nodata,而其余区域为原始数据
来源:https://blog.csdn.net/liyanzhong/article/details/41928541

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

空中旋转篮球

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

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

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

打赏作者

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

抵扣说明:

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

余额充值