Я пытался создать новый растровый объект, который содержит только пару значений из существующего растра.
Я использую растр класса, найденный здесь: https://www.ga.gov.au/products/servlet/controller?event=FILE_SELECTION&catno=71071.
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 для такого большого файла. У кого-нибудь есть предложения, как мне это сделать?