私は、既存のラスタからの2つの値だけを含む新しいラスタオブジェクトを作成しようとしていました。 ここで見つけたクラスラスタを使用しています:https://www.ga.gov.au/products/servlet/controller?event=FILE_SELECTION&catno=71071。属性でラスタ抽出R
class : RasterLayer dimensions : 14902, 19161, 285537222 (nrow, ncol, ncell)
resolution : 0.002349, 0.002349 (x, y)
extent : 110, 155.0092, -45.0048, -9.999999 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
values : G:\Spatial data\environmental_layers\Australian data\Land cover\Class\DLCDv1_Class.tif
min value : 1
max value : 34
私が試みた:
pr <- rasterToPoints(r) # but the file is to big
と
s <- r[r>30 & r<33] # but the file is to big
及び特性を有するラスター生成
rc <- reclass(r, c(-Inf,30,NA, 31,32, 1, 33,Inf,NA))
:
をclass : RasterLayer
dimensions : 14902, 19161, 285537222 (nrow, ncol, ncell)
resolution : 0.002349, 0.002349 (x, y)
extent : 110, 155.0092, -45.0048, -9.999999 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
values : C:\Users\Adam\AppData\Local\Temp\R_raster_tmp\raster_tmp_61931056968.grd
min value : 1
max value : 33
これは、NAと1の値を持つラスタレイヤを生成すると考えましたが、33の値を持っていました。私はこのような大きなファイルでRを使って '属性別に抽出する'方法を見つけるのに苦労しています。どのように私はこれを行うことができるのか誰にも提案がありますか?
ラスタが大きすぎてメモリに収まらないようです。ラスタを塊で処理する必要があるかもしれません。これを行う方法に関するアドバイスは、http://cran.r-project.org/web/packages/raster/vignettes/functions.pdfにあるパッケージと共に配布されているビネットに記載されています。 – digitalmaps