В настоящее время я работаю с некоторыми данными из Швейцарии с разрешением 100x100 м. Я хотел бы объединить данные в 1x1 км от км-квадратов на основе национальной сетки (с координатами fi x = 500000, y = 130000), отличающейся от исходного экстента моего объекта RasterLayer. Я предоставил некоторый код для RasterLayer на основе исходного экстента (= r) и RasterLayer с новым экстентом, основанным на ячейках национальной сетки в Швейцарии (= r.agg), и нанес на график r.agg над r (последний из которых, которыйЯ покрасил в красный цвет, чтобы сделать границы более очевидными).
library(raster)
ncol <- 3677 # same as original RasterLayer
nrow <- 2261 # same as original RasterLayer
## create raster (with original extent)
r <- raster(ncol = ncol, nrow = nrow) # dimensions of raster
mat <- matrix(runif(ncol*nrow, 0,2), ncol = ncol, nrow = nrow) # write data
# create simplified country-borders / buffer
mat [0:100, 0:ncol] <- NA
mat [0:nrow, 0:100] <- NA
mat [(nrow - 100):nrow, 0:ncol] <- NA
mat [0:nrow, (ncol -100):ncol] <- NA
r[] <- mat #write data to raster
extent(r) <- matrix(c(479950, 73950, 847650, 300050), nrow = 2) # define extent
proj4string(r) <- "+proj=somerc +lat_0=46.95240555555556
+lon_0=7.439583333333333
+k_0=1 +x_0=600000 +y_0=200000
+ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0
+units=m +no_defs"
## create raster (with customised extent)
r.agg <- r # prepare aggregatable RasterLayer
extent(r.agg) <- matrix(c(480000, 74000, 847700, 300100), nrow = 2)
r.agg <- aggregate(r.agg, fact = 10, fun = mean)
par(bg = 'darkgrey')
plot(r, col = "red", legend = FALSE)
plot(r.agg, add = TRUE)
Однако я не совсем уверен в правильности интерпретации результатов: на графике «r.agg» над «r» показана красная линия, котораяЯ не совсем понимаю.
Вариант A (желаемый результат): extent()
позволяет мне агрегировать по национальной сетке и агрегировать по пространственно корректной информации 100x100 м
Вариант B (который, я надеюсь, не произойдет): extent()
позволит мне агрегировать по национальной сетке, но используя данные из исходной сетки, а, следовательно, не из правильных квадратов 100x100.
Я не нашел страницу справки для extent()
особенно полезной и был бы рад получить некоторые разъяснения. Если бы вариант B был (или я что-то неправильно понял), я был бы очень рад, если бы кто-нибудь мог помочь мне разобраться в этом. Заранее большое спасибо и извините за мои странные выражения, я новичок в анализе пространственных данных.