ArcGIS Pro-栅格计算器-精确提取-栅格数据特定值

本文介绍了如何在ArcGIS中利用栅格计算器和SetNull函数,针对中科院提供的30米分辨率土地利用数据,精确筛选出耕地(value为11和12),并将其他值设为NoData。

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

       在ArcGIS中,除重分类工具之外,栅格计算器搭配SetNull函数提供了另一种有效的手段来提取栅格数据中的指定值。该方法适用于根据特定的条件精确筛选像素,例如,土地利用类型的地类提取。

       本文以中科院提供的30米分辨率土地利用数据为例,提取特定栅格值(耕地:value为11和12);仅保留value为11和12的像素,同时将所有其他像素值设定为NoData。流程如下:

使用SetNull函数:

SetNull(("铜仁市_2020.tif" != 11) & ("铜仁市_2020.tif" != 12), "铜仁市_2020.tif")

1.加载数据:土地利用数据

2.工具位置(栅格计算器):分析→工具→搜索→栅格计算器

 3.输入代码

4.输出结果 

### 如何在 ArcGIS Pro 中使用栅格计算器进行空间分析 #### 使用栅格计算器的基础流程 在 ArcGIS Pro 中,栅格计算器是一个强大的工具,用于执行基于表达式的栅格数据分析。通过结合各种函数(如 `SetNull` 和 `Con`),可以实现复杂的条件判断和数据处理[^2]。 要启动栅格计算器,可以在 **Geoprocessing 工具箱**中找到它。具体路径为: `Spatial Analyst Tools -> Map Algebra -> Raster Calculator`。 一旦打开栅格计算器窗口,可以通过编写 Python 表达式来进行计算。这些表达式通常涉及已有的栅格图层以及内置的 GIS 函数。 --- #### 常见功能及其应用实例 ##### 1. 提取定范围内的 如果需要从 DEM 数据中提取某一高度区间的数据,可使用 `SetNull` 函数排除不需要的部分。例如: ```python OutRas = SetNull(InRas < 500 | InRas > 1000, InRas) ``` 上述代码表示将输入栅格 (`InRas`) 的像元小于 500 或大于 1000 的区域设为空 (NoData),其余保留原。 ##### 2. 条件赋 当希望根据不同条件赋予不同的数时,可以使用 `Con` 函数。例如,假设需要区分森林覆盖区和其他区域: ```python ForestCover = Con("LandUseRaster" == 3, 1, 0) ``` 这里,“LandUseRaster” 是土地利用类型的栅格数据,其中等于 3 的像元被标记为森林并赋为 1,其他则赋为 0[^4]。 ##### 3. 结合水文分析 对于水系提取任务,可以先运行 “填洼” 工具消除地形中的凹陷区域,再进一步计算水流累积量或河网分布。此过程可能涉及到多个栅格运算步骤,而栅格计算器能够简化中间环节的操作[^1]。 --- #### 配置与注意事项 - 确保启用了 Spatial Analyst 扩展模块;否则无法访问某些高级功能。 - 如果计划将栅格计算器嵌入更复杂的工作流,则可通过 ModelBuilder 添加该组件,并按照提示完成参数配置[^3]。 - 对于大型栅格文件,建议优化环境设置以提高性能,比如调整临时磁盘存储位置或者启用多核处理器支持。 --- #### 示例代码片段 下面展示了一个综合案例——移除异常后的坡度计算: ```python from arcpy.sa import * # 定义输入变量 elevation_raster = "DEM_Raster" # 移除超出合理范围的高度 filtered_elev = SetNull((elevation_raster < -100) | (elevation_raster > 8848), elevation_raster) # 计算坡度 slope_result = Slope(filtered_elev, "DEGREE") # 输出结果至新栅格 slope_result.save("SlopeFiltered.tif") ``` 以上脚本展示了如何链式调用不同算法来达到目标效果。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值