news 2026/6/10 22:11:53

ArcGIS大师之路500技---031栅格计算器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ArcGIS大师之路500技---031栅格计算器

文章目录

  • 前言
  • 一、基本概念
  • 二、常用函数
    • 2.1 数学函数
    • 2.2 统计函数
    • 2.3 条件函数
    • 2.4 逻辑函数
    • 2.5 重分类函数
    • 2.6 表面分析函数
    • 2.7 距离函数
    • 2.8 水文分析函数
    • 2.9 插值函数
  • 三、最佳实践建议
  • 总结

前言

ArcGIS栅格计算器(Raster Calculator)是空间分析工具箱中的强大工具,用于对栅格数据进行数学运算和逻辑分析。


一、基本概念

  1. 作用
    执行栅格数据的数学运算(加、减、乘、除等)
    进行条件判断和逻辑运算
    多个栅格数据的叠加分析
    地图代数表达式计算
  2. 访问方式
    ArcMap: 空间分析工具 → 地图代数 → 栅格计算器
    : 通过arcpy.sa.RasterCalculator()调用
  3. 栅格引用方式
    直接双击图层列表中的栅格名称
    手动输入栅格名称(需加引号)
    使用完整路径:“C:/data/dem.tif”

二、常用函数

2.1 数学函数

  1. 基本数学运算
# 绝对值Abs("temperature_change")#平方根Sqrt("area")#幂运算Power("radius",2)# 半径的平方Square("distance")# 平方#对数Log("population")# 自然对数Log10("light_value")# 以10为底的对数Exp("growth_rate")# 指数函数

2 三角函数

#角度转弧度("angle_degree"*3.1415926535)/180#三角函数计算Sin("slope_radians")# 正弦Cos("aspect_radians")# 余弦Tan("angle_radians")# 正切#反三角函数ASin("value")# 反正弦ACos("value")# 反余弦ATan("value")# 反正切实例:计算日照强度 假设slope为坡度,aspect为坡向,latitude为纬度 slope_rad=("slope"*3.14159)/180aspect_rad=("aspect"*3.14159)/180lat_rad=(30*3.14159)/180# 北纬30度#简化的日照强度计算solar_radiation=Cos(slope_rad)*Cos(lat_rad)+Sin(slope_rad)*Sin(lat_rad)*Cos(aspect_rad)

2.2 统计函数

  1. 局部统计
#邻域统计FocalStatistics("elevation",NbrRectangle(3,3),"MEAN")# 3x3窗口均值FocalStatistics("rainfall",NbrCircle(5,"CELL"),"MAX")# 5像元半径最大值#块统计BlockStatistics("ndvi",NbrRectangle(10,10),"MEAN")# 10x10块统计
  1. 区域统计
#分区统计ZonalStatistics("watershed","VALUE","slope","MEAN")# 流域平均坡度ZonalStatistics("landuse","VALUE","temperature","RANGE")# 土地利用类型内温度范围

2.3 条件函数

  1. Con函数(最常用)
#基本语法Con(condition,true_value,false_value)Con(condition,true_value,false_value,where_clause)#简单重分类Con("elevation">1000,1,0)# 高于1000米为1,否则为0#多条件重分类Con("landuse"==1,"耕地",Con("landuse"==2,"林地",Con("landuse"==3,"水域","其他")))
  1. Pick函数
#根据位置索引选择值Pick("index_raster",["raster1","raster2","raster3"])#实例:根据月份选择温度数据month="month_index"# 值从1到12temperature=Pick(month,["jan_temp","feb_temp","mar_temp","apr_temp","may_temp","jun_temp","jul_temp","aug_temp","sep_temp","oct_temp","nov_temp","dec_temp"])

2.4 逻辑函数

  1. 比较运算
#等于"landuse"==1# 不等于"slope"!=0# 范围判断("temperature">=10)&("temperature"<=30)# 多个条件组合("soil_type"==3)&("slope"<15)&("aspect">90)&("aspect"<270)
  1. 布尔运算
# 与运算("rainfall">1000)&("temperature">15)# 或运算("elevation"<50)|("distance_sea"<10)# 非运算~("protected_area"==1)# 非保护区# 异或运算("urban"==1)^("industrial"==1)# 城市或工业区,但不是两者都是

2.5 重分类函数

  1. Reclassify函数
# 直接重分类(在ArcGIS Pro中)Reclassify("slope",RemapRange([[0,5,1],[5,15,2],[15,25,3],[25,90,4]]))# 使用栅格计算器实现类似功能slope_class=Con("slope"<=5,1,Con("slope"<=15,2,Con("slope"<=25,3,4)))
  1. 自定义重分类
# 连续值离散化temperature_class=Int(("temperature"+10)/5)# 每5度一个等级# 归一化到0-1范围normalized=("value"-FocalStatistics("value",NbrRectangle(100,100),"MINIMUM"))/(FocalStatistics("value",NbrRectangle(100,100),"MAXIMUM")-FocalStatistics("value",NbrRectangle(100,100),"MINIMUM"))

2.6 表面分析函数

  1. 地形分析
# 坡度计算(需要Spatial Analyst扩展)Slope("dem","DEGREE")# 度为单位Slope("dem","PERCENT_RISE")# 百分比坡度# 坡向计算Aspect("dem")# 曲率计算Curvature("dem")

2.7 距离函数

  1. 欧氏距离
# 到最近道路的距离EucDistance("roads")# 成本距离CostDistance("source","cost_raster")# 成本路径CostPath("destination","cost_distance","backlink")

2.8 水文分析函数

  1. 基本水文分析
# 流向计算flow_dir=FlowDirection("dem","NORMAL")# 汇流累积量flow_acc=FlowAccumulation(flow_dir)# 盆地(流域)划分basin=Basin(flow_dir)# 水流长度flow_length=FlowLength(flow_dir,"DOWNSTREAM")

2.9 插值函数

  1. 空间插值
# IDW反距离权重插值Idw("rain_gauges","RAINFALL",2000,2)# 克里金插值Kriging("temperature_stations","TEMP","Spherical")# 样条函数插值Spline("elevation_points","ELEVATION","REGULARIZED")

三、最佳实践建议

表达式测试: 先在小型测试区域验证表达式
文档记录: 保存计算表达式和参数设置
中间结果: 复杂计算时保存中间结果
内存管理: 大文件计算时注意内存使用
验证检查: 使用统计工具验证计算结果


总结

ArcGIS栅格计算器是地理空间分析的核心工具,通过灵活的地图代数表达式,可以完成从简单数学运算到复杂空间模型的各类分析任务。掌握其语法规则和应用技巧,能显著提高GIS空间分析工作的效率和精度。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 16:04:20

Zotero-Style终极指南:如何3天内构建高效文献管理系统?

还在为堆积如山的文献资料而焦虑吗&#xff1f;Zotero-Style作为Zotero平台的革命性扩展&#xff0c;将传统文献库升级为智能知识工作台。这款专为学术研究者设计的工具&#xff0c;通过视觉化交互与自动化管理&#xff0c;让你在繁杂的文献海洋中精准导航&#xff0c;实现阅读…

作者头像 李华
网站建设 2026/6/10 15:44:14

5大革新功能:Zotero-Style如何重构学术研究流程?

5大革新功能&#xff1a;Zotero-Style如何重构学术研究流程&#xff1f; 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件&#xff0c;提供了一系列功能来增强 Zotero 的用户体验&#xff0c;如阅读进度可视化和标签管理&#xff0c;适合研究人员和学者。 项目…

作者头像 李华
网站建设 2026/6/9 21:58:41

为什么越来越多企业选择IT外包服务商?一文看懂背后的逻辑与优势

开头&#xff1a;看不见的“技术引擎”&#xff0c;正在驱动企业数字化你有没有注意到&#xff0c;无论是银行升级支付系统、制造企业推进智能工厂&#xff0c;还是电商平台备战“618”大促&#xff0c;背后往往都有一支“看不见的技术团队”在高效支撑&#xff1f;他们不属于企…

作者头像 李华
网站建设 2026/6/10 15:24:01

哔哩下载姬:B站视频下载神器,轻松保存8K超清画质

哔哩下载姬&#xff1a;B站视频下载神器&#xff0c;轻松保存8K超清画质 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等…

作者头像 李华
网站建设 2026/6/10 15:59:24

zotero-style插件终极指南:3步解决文献管理难题

还在为海量文献管理头疼吗&#xff1f;zotero-style插件让你的Zotero瞬间升级为智能文献助手&#xff01;无论你是科研新手还是资深学者&#xff0c;这篇指南都能帮你快速上手。 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件&#xff0c;提供了一系列功能来增…

作者头像 李华
网站建设 2026/6/10 15:10:39

显卡驱动清理工具DDU:彻底解决驱动残留问题的技术侦探指南

显卡驱动清理工具DDU&#xff1a;彻底解决驱动残留问题的技术侦探指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstal…

作者头像 李华