R-terra包|第一节- 栅格相关性、散点图 、波段的计算和异常值处理
前言
本系列将介绍R中的Terra包,水平有限,多多指教,如有错误,欢迎指正。`
Terra包
terra是用于空间数据分析的 R 包,是raster包的升级版,可用于栅格数据和矢量数据处理和空间分析。
此外在R中,还有sf、sp、raster、stars等包可用于处理空间数据。
本文主要内容
主要介绍栅格和矢量的读写、相关性计算、获取统计值、NDVI的计算、异常值处理等内容
安装包
install.packages("terra")
#或者
remotes::install_github("rspatial/terra")
读入数据
- 栅格数据用rast读取,即可读取单波段栅格,也可读取多波段栅格包括 nc 和hdf等数据;
- 矢量用vect读取;
- 如下图所示,rast包括栅格的像元行列个数、图层数或者波段数、分辨率等信息;vect包括了矢量的维度和属性字段等信息。
# 加载栅格,f2为landsat5 多波段合成的tif
f2 <- rast("E:/Data/R_save/dingxi/L5_2010nian_130_36_jz_2.tif")
f2
# 加载矢量,行政区划
bj <- vect("E:/Data/R_save/dingxi/bjt.shp")
bj
绘图显示
plot( )可绘制显示栅格或矢量,plotRGB( )可显示真彩色或假彩色合成
plot(f2)
#真彩色显示,stretch有lin、hist两种
plotRGB(f2, 4,3,2, stretch = "lin" )
数据处理
1. 多波段栅格各图层重命名
names(f2)
names(f2) <-paste("b",1:6,sep="") # 重命名
names(f2)
2. 相关性
函数各图层间的相关性:layerCor( )
两个图层像元间的相关性:pairs( )
#计算图层间的相关性
layerCor(f2[[1:6]], "pearson", na.rm = TRUE)
#计算两个波段的相关系
pairs(f2[[1:2]], main="B1-B2")
3. 统计
整个图层的统计:global( )
图层像元的统计:quantile( )
#汇总每个图层的统计
global(f2, 'mean', na.rm = TRUE)
global(f2, quantile, na.rm = TRUE)
#基于像元的分位数
qc1 <- quantile(f2)
plot(qc1)
qc1
4. 计算NDVI
#定义函数
mndvi <- function(x, y) {
(x - y) / (x y) }
#计算NDVI
dx_ndvi <- mndvi(f2$b4,f2$b3)
plot(dx_ndv
5.异常值处理
由上面NDVI的图可知,不在[-1 -1]之间内,获取NDVI极值
#获取NDVI极值
minmax(dx_ndvi)
#直接打印也可以
dx_ndvi
处理异常值
dx_ndvi[dx_ndvi > 1|dx_ndvi <= -1] <- NA
#dx_ndvi_1<- clamp(dx_ndvi, -1, 1) # clamp()函数也可以
minmax(dx_ndvi)
##绘图显示最终NDVI
plot(dx_ndvi, col = rev(terrain.colors(20)) )
总结
以上是terra包第一节内容,下一节将介绍NDVI的重分类、投影变换和区域统计等。
terra包帮助文档地址:
https://cran.r-project.org/web/packages/terra/
欢迎关注我,以及订阅同名微信公众号,以GIS、RS和点云处理为主。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggjkhk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13