程序员

R语言Raster的一些学习

2019-01-16  本文已影响0人  何同尘

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(r) bandnr(r)
栅格统计柱形图 barplot()
边缘检测 boundaries()
箱型图 boxplot()
创建栅格砖 brick() 可以由多种对象转化 extract(b,870)提取目标数据
对图层进行计算 calc(目标图层,fun 运算函数)
查找栅格值 cellFrom 很多种方法
通过边界查找 cellFromExtent(r,bb) bb边界
对小元胞数组统计 cellStats(x,stat='mean')
限制值的范围(任何高于上分位低于下分位都变成NA) clamp(x,lower=,upper=)
清除内存中的栅格值 clearValues(r)
点击图层获得值 click(r)
增加等高线 contour(r,add=T)

暂时只是看了这些函数,以后再补充。

一个简单的处理过程

数据是遥感影像

library(raster)
s = stack('data/tm.dat')#也可以使用 brick('data/tm.dat')
s #如果对单个波段处理可以变成列表
list <- as.list(s)
for (var in list){
fun(var)
}
转化矩阵、数组、数据框
as.matrix(0 as.array() as.data.frame()
处理缺失值
...
导入算法
可视化
plotRGB(data,3,2,1,maxpiexls)
导出数据

上一篇 下一篇

猜你喜欢

热点阅读