R語言學(xué)習(xí)記錄:Raster包的brick和stack以及Terra包的SpatRaster
Brick

RasterBrick是一個(gè)多層?xùn)鸥駥?duì)象。它們通常由多圖層(多波段)文件創(chuàng)建,但它們也可以完全存在于內(nèi)存中。它們類似于RasterStack(可以用stack函數(shù)創(chuàng)建),但是當(dāng)使用RasterBrick時(shí),處理時(shí)間應(yīng)該更短。然而,RasterBrick卻不那么靈活,因?yàn)樗鼈冎荒苤赶蛞粋€(gè)文件。
RasterBrick可以從Raster圖層對(duì)象、RasterStack對(duì)象或(多圖層)文件創(chuàng)建。還可以從空間像素*、空間網(wǎng)格*和范圍對(duì)象中創(chuàng)建,以及從三維數(shù)組中創(chuàng)建。
Stack

Rasterstack是具有相同空間范圍和分辨率的柵格圖層對(duì)象的集合。stack可以從柵格圖層對(duì)象創(chuàng)建,或者從柵格文件創(chuàng)建,或者兩者同時(shí)創(chuàng)建。它也可以從空間像素的數(shù)據(jù)框或空間網(wǎng)格數(shù)據(jù)框?qū)ο笾袆?chuàng)建。

使用單圖層對(duì)象分析柵格數(shù)據(jù)很常見。但是許多情況下,多變量的柵格數(shù)據(jù)集也經(jīng)常被使用。Raster包對(duì)多圖層數(shù)據(jù)有兩類:“RasterStack”和“RasterBrick”。
這兩類的主要區(qū)別就是:brick只能連接到一個(gè)單獨(dú)的(多圖層)文件。相對(duì)應(yīng)的,stack可以從分散的文件或者從一些單獨(dú)文件的圖層(波段)組成。
實(shí)際上,stack是具有相同空間范圍和分辨率的圖層的集合。本質(zhì)上,stack是圖層的list。Stack可以很輕松地從不同位置的文件組成,并且他們可以與只在內(nèi)存中存在的圖層混合。
Brick對(duì)象事實(shí)上是一個(gè)多圖層的對(duì)象,并且處理一個(gè)brick對(duì)象可以比stack更有效率(兩者都有同樣的數(shù)據(jù)的話)。然而,brick只涉及一個(gè)單獨(dú)的文件。一個(gè)典型的例子是一個(gè)多波段的衛(wèi)星image或者全球氣候模型的輸出文件(每個(gè)柵格像元一年中每一天的溫度值的時(shí)間序列)。
Stack和brick對(duì)象的methods通常會(huì)返回一個(gè)brick。
SpatRaster

寫這個(gè)筆記的時(shí)候才發(fā)現(xiàn)terra包好像也支持對(duì)矢量進(jìn)行操作。它規(guī)定了一個(gè)矢量類別:SpatVector

總結(jié):terra包對(duì)絕大部分操作應(yīng)該是更為便捷的,但是raster包至今仍在更新。而且在github和stackexchange(overflow)上也有很多對(duì)terra包的問題反饋。但不可否認(rèn)的是,它在處理大數(shù)據(jù)上比raster包更快,效率更高。