基于R语言进行栅格数据统计及Raster包简介

9 篇文章 7 订阅

基于R语言进行栅格数据统计及Raster包简介


写在前面:日常数据处理中常需要对单个栅格图层进行统计,包括计算其均值、最值和总和等等。使用R语言可方面快速地实现该需求,主要借助的package为Raster包。

library(raster)
x = raster('data/data.tif')
cellStats(x,stat='mean')

x表示待计算的栅格;

stat表示需要统计的内容,包括sum, mean, min, max, sd(标准差), skew(偏度) 和 rms(均方根);

英文解释:

Compute statistics for the cells of each layer of a Raster* object. In the raster package, functions such as max, min, and mean, when used with Raster* objects as argument, return a new Raster* object (with a value computed for each cell). In contrast, cellStats returns a single value, computed from the all the values of a layer. Also see layerStats

来自 http://search.r-project.org/library/raster/html/cellStats.html

cellStats will fail (gracefully) for very large Raster* objects except for a number of known functions: sum, mean, min, max, sd, ’skew’ and ’rms’. ’skew’ (skewness) and ’rms’ (Root Mean Square) must be supplied as a character value (with quotes), the other known functions may be supplied with or without quotes. For other functions you could perhaps use a sample of the RasterLayer that can be held in memory


Raster包是基于rgdal底层库编写的地理数据处理包,包括图像的创建,图像的读取,图像的运算,图像的可视化,图像的输出,非常实用

函数功能函数名以及描述
增加一个栅格图层addLayer(增加到的目标图层,增加图层1,增加图层2)
删除一个栅格图层dropLayer(删除的目标图层,c(1,2,3)哪些层)
栅格栈stack(图层1,图层2,图层3)
创建单个图层raster(目标文件路径)
图层数nlayers(目标)
找到目标位置周围的值adjacent(目标图层, cells=哪些位置, directions=4周围邻域4 8 16, pairs=TRUE矩阵或者向量, target=NULL, sorted=F,include=F,id=F)
栅格合并 聚合函数aggregate(x,fact=2,fun=mean)
一个限制对象(边界对象)extent(xmin,xmax,ymin,ymax)
边界对齐,获得相同的原点和分辨率alignExtent(e边界,r图层)
在不同图层之间切换,获得电影效果amimate(X,pause=0.25,min,zlim,maxpixels=50000,n=10…)
产生n个随机数0-1runif(n)
对图层中的NA进行插值liner constant(X,filename=’’,method=“liner”,rule=1 or 2 描述如何处理第一个和最后一个)
计算 栅格面积 投影或者未投影area()
栅格对象的算术方法+ - * %% %/% 各图层直接运算。
转化为字符as.character()
转化为数据框和矩阵as.data.frame(X,row.names = 给行取名字,optional=T 以图层名字为列名,xy=T or F 坐标要不要)
建立一个图层列表对象as.list(图层1,图层2)
转换逻辑矩阵 0为false 其他为trueas.logical(目标图层)
转换为矩阵或者向量,或者数组as.matrix()
波段数,以及波段序数r = raster(f,layer=2) nbands® bandnr®
栅格统计柱形图barplot()
边缘检测boundaries()
箱型图boxplot()
创建栅格砖brick() 可以由多种对象转化 extract(b,870)提取目标数据
对图层进行计算calc(目标图层,fun 运算函数)
查找栅格值cellFrom 很多种方法
通过边界查找cellFromExtent(r,bb) bb边界
限制值的范围(任何高于上分位低于下分位都变成NA)clamp(x,lower=,upper=)
清除内存中的栅格值clearValues®
点击图层获得值click®
增加等高线contour(r,add=T)

来自 https://www.jianshu.com/p/b619adfea26a

  • 5
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撼沧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值