2016-10-11 4 views
0

私は、RasterVisのレベルプロットを使用したいフォルダに12のラスタファイルを持っています。どのようにしてラスタを積み重ねて表示できますか?

kpacks <- c('tiff','rgdal','raster','sp','rasterVis') 
new.packs <- kpacks[!(kpacks %in% installed.packages()[,"Package"])] 
if(length(new.packs)) install.packages(new.packs) 
lapply(kpacks, require, character.only=T) 
remove(kpacks, new.packs) 
options(max.print=5.5E5) 

#World data 
wlist <- list.files(pattern = "\\.tif$", include.dirs = TRUE) 
s <- lapply(wlist, stack) 

levelplot(s) 

エラー:

Error in UseMethod("levelplot") : 
    no applicable method for 'levelplot' applied to an object of class "list" 

注:ファイルの

levelplot(s[[1]]), for example 

ワン:

私は、個々のGeoTIFFファイル用の図を参照してくださいすることができますhttps://www.dropbox.com/s/ank4uxjbjk3chaz/new_conus.tif?dl=0

+0

ものと

library(raster) library(rasterVis) s <- stack(system.file("external/rlogo.grd", package="raster")) levelplot(s, contour=TRUE) 

'lapply(S、levelplot)'は? – HubertL

+0

それは動作します。しかし、私は毎月パネルを入手しません。代わりに、各tifファイルを別々にプロットします。私はこのページの最初の図のようなものが欲しかった:https://oscarperpinan.github.io/rastervis/ – maximusdooku

答えて

1

ますしないでくださいラスタをリストオブジェクトに強制して問題を引き起こしているか、レベルプロットを使って複数のラスタをプロットするためにlapplyを使用してください。データを読み込むためにスタックやレンガを使用し、オブジェクトをレベルプロットに渡すだけです。あなたのコード

s <- stack(list.files(pattern = "\\.tif$", include.dirs = TRUE)) 
levelplot(s) 
+0

ありがとう!それは動作します。 – maximusdooku

関連する問題