基于R语言进行栅格数据统计及Raster包简介
基于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-1 | runif(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 其他为true | as.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
基于R语言进行栅格数据统计及Raster包简介相关推荐
- 基于R语言或Matlab直接读取压缩包中的数据
写在前面 以gosif网站上的tiff数据为例. 该数据是地学上常用的一种数据,希望读取该网站上的gosif数据:http://data.globalecology.unh.edu/data/GOSI ...
- 055B ENMTools教程-基于R语言对MaxEnt模型优化-MaxEnt调参教程--更新日期2021-9
055B-1 视频附带资料下载和密码:软件-数据-文献下载-持续更新 055B-2 ENMTools软件下载安装 055B-3 R软件和工具包安装 055B-4 生物气候因子的精度说明与选择方法(理论 ...
- c语言 字数统计 字符串,基于C语言的字数统计
摘要:字数统计是文档处理中经常要用到的功能,这其中要包括英文单词.数字和中文等,而且又要和全角或半角的标点符号进行区分,故此在中英文混合文件中进行准确的字数统计也是有一定难度的.这里提出了一种较好的字 ...
- 基于R语言混合效应模型(mixed model)案例研究
全文链接: http://tecdat.cn/?p=2596 在本文中,我们描述了灵活的竞争风险回归模型.回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率(点击文末"阅读原文&q ...
- R语言做GGEbiplot_基于R语言的GGE双标图在大豆区试中的应用
基于 R 语言的 GGE 双标图在大豆区试中的应用 * 昝 凯,陈亚光,徐淑霞 ** ,周青,张志民,杨慧凤,王凤菊,李明军,郭海芳 [摘 要] 摘要:为合理评价大豆区域试验中品系的丰产性.稳产性和适 ...
- 毕业论文知识点记录(六)——基于R语言优化maxent模型
毕业论文知识点记录(六)--基于R语言优化maxent模型 第一步:R安装 这个网上都有很多详细的步骤,就不再详细介绍了. 第二步:R安装包 因为优化maxent模型需要用到kuenm程序包,但是官网 ...
- 基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比(生信数基实验作业)
基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比 0 引言 全基因组选择是 21 世纪动植物育种的一种重要的选择策略,其核心就是全基因组预测,即基于分布在整个基因组上的多样性分 ...
- r语言boxcox异方差_基于R语言进行Box-Cox变换
原标题:基于R语言进行Box-Cox变换 作者简介 作者:吴健中国科学院大学 R语言.统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享 个人公众号:统计与编程语言 Q: 为什么要进行Bo ...
- r语言pls分析_基于R语言的PLS算法的实现解读.pptx
基于R语言的PLS算法的实现及研究 目录 使用的开发工具 偏最小二乘的设计思想 基于R语言.MATLAB的偏最小二乘的实现 通径分析 测定系数 实验分析 使用的开发工具 R 语言(R是用于统计分析.绘 ...
- ENMTools教程-基于R语言对MaxEnt模型优化-MaxEnt调参教程介绍
MaxEnt3.4.4软件下载网盘: http://lucky-boy.ys168.com (如有侵权请联系删除) 055B-1 视频附带资料:软件-数据-文献下载-持续更新 055B-2 ENMTo ...
最新文章
- SD--根据订单创建发票(相关的函数列表的介绍系列篇(3))
- VMware vSphere学习笔记二
- 使用javascript打开模态对话框
- android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例
- java中国象棋网络对弈,java课程设计---中国象棋对弈系统
- 为CMUSphinx训练声学模型教程手册
- 嵌入式系统开发笔记88:认识51微控制器系统架构
- 2022-03-07 Influxdb创建用户接口与raft日志交互封装
- 急~为啥我指定的的maven依赖版本没有生效?不是最短路径原则吗?
- 在微信里接收文件后如何指着文件用咱编的APP打开?
- 【Unity3D】人物跟随鼠标位置
- 秀一段《易语言》的源代码
- MTU问题导致大数据包出不去。
- 三菱FX3G_24MT PLC、GS2110_WTBD_N触摸屏实现伺服位置控制编程实例
- CTF解题记录-Misc-当铺秘密
- ChatGPT原理解析以及使用方法介绍
- 百度地图api开发详解(android版).pdf,百度地图API开发指南原版.pdf
- 有了它,实车测试数据记录、分析、管理so easy~
- AlarmManager的正确使用姿势
- 互联网 vs 区块链革命:早期的挑战
热门文章
- 观大数据有感_观《大数据时代》有感
- win11问题记录:
- Failed to compile with 1 errors
- mac 阿里云ecs配置php,在Mac OS下配置PHP开发环境
- C/C++ 【华为机试】输入一个真分数,将该分数分解为埃及分数。
- [Irving] SQL 2005/SQL 2008 备份数据库并自动删除N天前备份的脚本
- TOP100summit2017:微博如何做到1小时增加一千台服务器应对鹿晗恋情带来的流量暴增
- 代码英雄:操作系统之战
- 终其一生只是个普通人,你会后悔吗?
- IBM“移动优先”官网正式上线:苹果静候佳音