利用Python实现ARCGIS中栅格计算器的简单功能

1.加法操作

import arcpy
from arcpy import env

env.workspace = "E:\\work\\cppservice\\RasterCalc" #工作空间可以设置也可不设置
inRaster1 = "E:\\work\\cppservice\\finalResult\\propertyGower.tif"
inRaster2 = "E:\\work\\cppservice\\finalResult\\propertyGowerCsharp.tif"
arcpy.CheckOutExtension("3D")
arcpy.Plus_3d(inRaster1,inRaster2,"E:\\work\\cppservice\\RasterCalc\\solim-csharp.tif")

2.减法操作

import arcpy
from arcpy import env

env.workspace = "E:\\work\\cppservice\\RasterCalc" #工作空间可以设置也可不设置
inRaster1 = "E:\\work\\cppservice\\finalResult\\propertyGower.tif"
inRaster2 = "E:\\work\\cppservice\\finalResult\\propertyGowerCsharp.tif"
arcpy.CheckOutExtension("3D")
arcpy.Minus_3d(inRaster1,inRaster2,"E:\\work\\cppservice\\RasterCalc\\solim-csharp.tif")

3.乘法
修改一下最后一行的函数即可

arcpy.Times_3d()

4.当一个数除以零时,输出结果为 NoData。
输入的数据类型将决定输出的数据类型:
如果两个输入均为整数,则将执行整数除法,并且输出结果为整数。例如,如果 3 除以 2,则输出为 1。
如果两个输入中的任何一个为浮点型,则将执行浮点型除法,并且输出结果也为浮点型值。例如,如果 3 除以 2.0,则输出为 1.5。

arcpy.Divide_3d()

参考自:http://wenku.baidu.com/link?url=Ei4IxTmqbshZ5nBYa962sjhuMVKfa1UY3o9ADGPXWXwjaLXZ-Wz0auRsHkNr2FaZ5CbfYuOCz1FmvRaK4EACAG-fCkIaqqdbl4VkW5-87TW

### 如何在 ArcGIS 中使用栅格计算器进行栅格数据分析和处理 #### 准备工作 为了确保能够顺利运行栅格计算器工具,在启动操作之前需确认已安装有 Spatial Analyst 扩展模块。该扩展提供了执行复杂的空间分析所需的功能集,其中就包含了栅格计算器这一强大工具[^1]。 #### 启动栅格计算器 通过 ArcMap 或者 ArcGIS Pro 的界面访问栅格计算器。对于 ArcMap 用户来说,可以通过点击菜单栏中的 `Spatial Analyst` -> `Raster Calculator...` 来打开栅格计算器对话框;而在 ArcGIS Pro 中,则是在 Analysis 选项卡下的 Tools 组里找到 Raster Calculation 工具并启动它[^2]。 #### 构建表达式 一旦打开了栅格计算器窗口,就可以构建用于计算新栅格图层的 Map Algebra 表达式了。这通常涉及到应用各种算术运算符(加减乘除)、逻辑运算符以及条件语句来组合现有的栅格数据集。例如: ```python Con("elevation" > 1000, "landuse", 0) ``` 上述 Python 脚本片段展示了如何创建一个简单的条件判断表达式,当高程超过一千米时保留土地利用类别不变,否则设置为零值[^3]。 #### 应用实例 假设有一个场景是要找出城市内所有坡度大于一定阈值的位置,并标记这些区域作为潜在滑坡风险区。可以先利用 Slope 工具生成整个研究范围内的坡度模型,之后再借助于栅格计算器编写如下所示的地图代数公式完成最终的风险评估地图制作: ```python SetNull("slope_grid" < 30, "slope_grid") ``` 此命令会将小于三十度角的所有像元设为空值 (NoData),而仅留下那些可能具有较高地质灾害隐患的地方显示出来[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值