Raster Algebra

  • 栅格数据计算
    • 比如
    • 又比如

栅格数据计算

三种格式的栅格数据都可以进行代数计算,包括简单的加减乘除(+、-、*、/), 逻辑 运算例如:>、>=、<、==、!、},以及一些其他代数运算例如:abs、round、ceiling、floor、trunc、sqrt、log、log10、exp、cos、sin、max、min、range、prod、sum、any、all.
需要注意的是,将栅格与数值进行混合运算时,需将栅格放在数值之前
在对单Raster图层进行代数计算时,是对栅格中的数值进行计算,因此可以将其想象为一个数据框 data.frame.

比如

r <- raster(nrow = 3, ncol = 3)
values(r) <- 1:ncell(r)
s <- r+10    # raster 在前,数值在后
values(r)
values(s)
s[r] <- -0.5  #利用关系运算符进行筛选
s[!r] <- 5
s[s==5] <- 15

对多图层栅格对象进行代数计算时,这些图层必须保持相同的分辨率(resolution)和起点(origin)。如果从一个栅格文件的中心点(corner)出发以栅格分辨率为单位步幅沿x和y轴接近原点(0,0),那么 origin 是能找到的最接近原点的点。一般来说,这样的多图层文件其范围(extent)也是相同的,如果不同,运算返回的结果仅包含图层交集(intersection)。
此外,如果使用多个多图层文件进行计算,并且每个文件中包含的图层数不同,那么图层少的文件中的图层将会被重复使用。
文件1:a1, a2, a3, a4
文件2:b1, b2
返回结果文件:a1b1, a2b2, a3b1, a4b2

又比如

r <- raster(ncol=5, nrow=5)
r[] <- 1
s <- stack(r, r+1)
q <- stack(r, r+2, r+4, r+6)
x <- r + s + q x
x

对于一些汇总函数(summary function)例如:(min, max, mean, prod, sum, Median, cv, range, any, all),其返回结果为单图层。

a <- mean(r,s,10)
b <- sum(r,s)
st <- stack(r, s, a, b)
sst <- sum(st)
sst # 查看其属性

但如果想要得到每个图层的相应统计值(a single number summarizing the cell values of each layer)而不是返回一个图层文件(RasterLayer)应当使用 cellStats 函数,具体统计方法在其参数中指定。

cellStats(st, "sum")

Raster §3 Raster Algebra相关推荐

  1. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.5 Adding a raster layer...

    MapServer Tutorial--MapServer7.2.1教程学习--第一节用例实践:Example1.5 Adding a  raster layer 一.前言 MapServer不仅支持 ...

  2. GP学习(七)—Accessing raster workspaces

    声明:仅做自己学习整理用,内容拷贝自ArcEngine SDK开发文档 Accessing raster workspaces Summary Rasters can reside in a fold ...

  3. raster | R中的栅格操作符(下)[翻译]

    本篇推文翻译自Manuel Gimond的在线教程Intro to GIS and Spatial Analysis的附录F Raster operations in R,网址为https://mgi ...

  4. raster | 栅格对象如何用于非空间模型的预测?

    在raster工具包提供的方法中,栅格数据可以直接用于非空间模型和空间模型预测,本篇主要介绍前者. 空间模型是指使用了空间位置作为隐式自变量(implicit independent variable ...

  5. raster | 多图层栅格对象的一些处理方法

    本篇介绍一些关于多图层栅格数据的处理方法.在此之前,先定义3个单图层的栅格对象: library(raster) a <- raster(vals = 1:9, nrows = 3, ncols ...

  6. raster | R语言中的空间栅格对象及其基本处理方法(Ⅰ)

    前面的系列推文已经完成了对R语言中的两个管理空间矢量数据的工具包(sf和sp)的介绍,以及空间自相关.空间插值等空间分析方法. 这里小编再推出一个系列来介绍R语言中管理空间栅格数据的工具包:raste ...

  7. InVEST model中生境质量

    文章目录 一.InVEST model 介绍 二.InVEST model中Habitat Quality具体操作 三.关于InVEST modle的一些延申 1.学习资源的推荐 2.模型运行过程出现 ...

  8. 基于 Sentinel-2 卫星数据的像元三分法模型

    Github项目 一.基本概念 端元:组成混合像元的纯净地物被称作是端元: 混合像元产生的原因: 传感器的采样频率小于或等于地表空间变异的频率,使得单个像元对应地面的面积较大, 故包含了多种地物类型: ...

  9. 金仓数据库 KingbaseGIS 使用手册(8.11. 栅格处理函数)

    8.11. 栅格处理函数 8.11.1. 地图代数函数 8.11.1.1. ST_Clip ST_Clip - 返回输入几何对象修改后的栅格.如果波段没有指定,那么会处理所有的波段.如果参数crop没 ...

最新文章

  1. 一线大厂的分布式唯一ID生成方案是什么样的?
  2. IntelliJ IDEA 2020.1 EAP2 发布:新增禅模式和 LightEdit 模式
  3. 黑暗城堡 最短路径生成树
  4. 消费级GPU、速度提升3000倍,微软FastNeRF实现200FPS高保真神经渲染
  5. 关于保存状态的Fragment,setRetainInstance(true)
  6. MySQL instr()函数
  7. NIO-java.nio.ByteBuffer中flip、rewind、clear方法的区别
  8. BUUCTF Web [强网杯 2019]随便注
  9. github无法显示图片,其他一切正常的解决办法
  10. java 如何去掉http debug日志_你居然还去服务器上捞日志,搭个日志收集系统难道不香么!...
  11. 实现二叉树的遍历(递归与非递归)
  12. 如何将图片转换成文字
  13. 经典的战略管理和营销管理书《定位》
  14. hive:函数:sort_array函数解决collet_list列表排序混乱问题
  15. 什么叫CDN回源和域名回源,如何采用正确的正确的回源策略
  16. 参加了feedsky的blog挑战赛
  17. SRILM文档分析之Prob.h
  18. onTouch事件机制
  19. 7N60-ASEMI场效应管7N60
  20. 推动量子计算与AI融合,飞桨成为中国首个支持量子机器学习的深度学习平台...

热门文章

  1. 【视频】混音前后大对比:重型音乐鼓混音到底能有多暴力?多重?大概一万吨吧!|MZD Studios
  2. 12306泄露的数据,快速查找有木有你的, 编程实现示例
  3. 扑克牌中的顺子(入门算法31)
  4. 如何卸载linux内核中的驱动,linux3.x内核如何强制卸载模块?
  5. CTF学习-PHPS文件泄露
  6. 09 html制作简历模板
  7. 第1章第23节:效率:如何批量替换演示文稿中的字体 [PowerPoint精美幻灯片实战教程]
  8. CAD快捷键——标注类
  9. python中notebook左侧in中_关于python:jupyter笔记本中的折叠单元格
  10. 【Excle数据透透视表】如何删除数据透视表