查看原文
其他

栅格数据处理答疑

走天涯徐小洋 走天涯徐小洋地理数据科学 2022-07-17

栅格数据处理答疑

针对上次课学员提出的栅格处理问题做一个答疑。

学员甲提问

  1. 从栅格中提取的数据写为excel之后是否可以写回栅格?
  2. 两幅栅格影像之间怎么做运算,eg用降水与气温求饱和水汽压差?
  3. 多波段栅格如何分层提取,多个单波段数据如何写为一个栅格?

答:从栅格中提取的数据写为excel之后是否可以写回栅格?

从栅格提取数据有以下几种情况:

  • 栅格值分区域统计,这个在土地覆被应用较多,分区域统计地类面积,也可以用于其他的分区域面积统计
  • 写为EXCEL可以通过导出属性表的方式实现:GIS基础之GIS属性表操作  

  • 栅格提取值,写回栅格,我不太理解是什么操作,有啥意义?

答:两幅栅格影像之间怎么做运算,eg用降水与气温求饱和水汽压差?

这个已经讲过不少了,不过这个求水气压差我不知道公式,没法演示,建议使用terraapp函数进行栅格计算,详见下面的一些实例:

答:多波段栅格如何分层提取,多个单波段数据如何写为一个栅格?

这个在下面两个课程里面都有讲过:在R语言中主要通过c组合波段,[]或者subset提取波段。

学员乙

在前面的一次课程:R语言NDVI和降水量逐像元相关性分析(http://geodatasci.duanshu.com/#/course/class/a9bca5ce848343f7a2ad2ec1af7777bc/1325883)中,讲授了在栅格尺度做了2015年GIMMS-NDVI和降雨量的相关系数,因为两种数据都是月数据,所以每个栅格上是有12对(NDVI, precipitation)做相关分析。现在一篇论文里,根据审稿人提出的意见,我需要对每个栅格先做一个3*3的移动窗口,然后移动窗口内的数据都参与做相关分析,也就是说,每个栅格上将有108对(NDVI, precipitation)做相关分析,请问这种移动窗口的两个栅格数据做相关分析应该怎么实现呢?如果用对行、列做for循环效率很低、运行很慢,R语言里面有没有比较方便用的函数?谢谢!

移动窗口法栅格计算我没有用过。看terra包的帮助中应该是有这个功能的,focal函数可能有这个功能

  • terra包帮助文档:https://rspatial.github.io/terra/reference/terra-package.html
这里提到了移动窗口Moving window
  • terra包自带并行计算,可以尝试以下函数进行计算:
我一般用app

更多R语言栅格处理相关文章

点击阅读原文查看视频课程


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存