raster包是基于rgdal底層庫(kù)編寫(xiě)的地理數(shù)據(jù)處理包,包括圖像的創(chuàng)建,圖像的讀取,圖像的運(yùn)算,圖像的可視化,圖像的輸出。
由于我剛接觸,只是淺淺的了解了一下。
一下是關(guān)鍵的函數(shù):
| 函數(shù)功能 | 函數(shù)名以及描述 |
|---|---|
| 增加一個(gè)柵格圖層 | addLayer(增加到的目標(biāo)圖層,增加圖層1,增加圖層2) |
| 刪除一個(gè)柵格圖層 | dropLayer(刪除的目標(biāo)圖層,c(1,2,3)哪些層) |
| 柵格棧 | stack(圖層1,圖層2,圖層3) |
| 創(chuàng)建單個(gè)圖層 | raster(目標(biāo)文件路徑) |
| 圖層數(shù) | nlayers(目標(biāo)) |
| 找到目標(biāo)位置周?chē)闹?/td> | adjacent(目標(biāo)圖層, cells=哪些位置, directions=4周?chē)徲? 8 16, pairs=TRUE矩陣或者向量, target=NULL, sorted=F,include=F,id=F) |
| 柵格合并 聚合函數(shù) | aggregate(x,fact=2,fun=mean) |
| 一個(gè)限制對(duì)象(邊界對(duì)象) | extent(xmin,xmax,ymin,ymax) |
| 邊界對(duì)齊,獲得相同的原點(diǎn)和分辨率 | alignExtent(e邊界,r圖層) |
| 在不同圖層之間切換,獲得電影效果 | amimate(X,pause=0.25,min,zlim,maxpixels=50000,n=10...) |
| 產(chǎn)生n個(gè)隨機(jī)數(shù)0-1 | runif(n) |
| 對(duì)圖層中的NA進(jìn)行插值liner constant | (X,filename='',method="liner",rule=1 or 2 描述如何處理第一個(gè)和最后一個(gè)) |
| 計(jì)算 柵格面積 投影或者未投影 | area() |
| 柵格對(duì)象的算術(shù)方法 | + - * %% %/% 各圖層直接運(yùn)算。 |
| 轉(zhuǎn)化為字符 | as.character() |
| 轉(zhuǎn)化為數(shù)據(jù)框和矩陣 | as.data.frame(X,row.names = 給行取名字,optional=T 以圖層名字為列名,xy=T or F 坐標(biāo)要不要) |
| 建立一個(gè)圖層列表對(duì)象 | as.list(圖層1,圖層2) |
| 轉(zhuǎn)換邏輯矩陣 0為false 其他為true | as.logical(目標(biāo)圖層) |
| 轉(zhuǎn)換為矩陣或者向量,或者數(shù)組 | as.matrix() |
| 波段數(shù),以及波段序數(shù) | r = raster(f,layer=2) nbands(r) bandnr(r) |
| 柵格統(tǒng)計(jì)柱形圖 | barplot() |
| 邊緣檢測(cè) | boundaries() |
| 箱型圖 | boxplot() |
| 創(chuàng)建柵格磚 | brick() 可以由多種對(duì)象轉(zhuǎn)化 extract(b,870)提取目標(biāo)數(shù)據(jù) |
| 對(duì)圖層進(jìn)行計(jì)算 | calc(目標(biāo)圖層,fun 運(yùn)算函數(shù)) |
| 查找柵格值 | cellFrom 很多種方法 |
| 通過(guò)邊界查找 | cellFromExtent(r,bb) bb邊界 |
| 對(duì)小元胞數(shù)組統(tǒng)計(jì) | cellStats(x,stat='mean') |
| 限制值的范圍(任何高于上分位低于下分位都變成NA) | clamp(x,lower=,upper=) |
| 清除內(nèi)存中的柵格值 | clearValues(r) |
| 點(diǎn)擊圖層獲得值 | click(r) |
| 增加等高線 | contour(r,add=T) |
暫時(shí)只是看了這些函數(shù),以后再補(bǔ)充。
一個(gè)簡(jiǎn)單的處理過(guò)程
數(shù)據(jù)是遙感影像
library(raster)
s = stack('data/tm.dat')#也可以使用 brick('data/tm.dat')
s #如果對(duì)單個(gè)波段處理可以變成列表
list <- as.list(s)
for (var in list){
fun(var)
}
轉(zhuǎn)化矩陣、數(shù)組、數(shù)據(jù)框
as.matrix(0 as.array() as.data.frame()
處理缺失值
...
導(dǎo)入算法
可視化
plotRGB(data,3,2,1,maxpiexls)
導(dǎo)出數(shù)據(jù)