Как извлечь данные из RasterBrick?
У меня есть RasterBrick, состоящий из данных о месячном количестве осадков за 7 лет, поэтому он имеет 7 слоев по 12 слотов в каждом:
rainfall <- brick("Rainfall.tif")
> rainfall
class : RasterBrick
dimensions : 575, 497, 285775, 7 (nrow, ncol, ncell, nlayers)
resolution : 463.3127, 463.3127 (x, y)
extent : 3763026, 3993292, -402618.8, -136213.9 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs
data source : in memory
names : layer.1.1, layer.2.1, layer.1.2, layer.2.2, layer.1, layer.2, layer
min values : 239.6526, 499.8343, 521.0316, 617.2896, 596.0397, 663.6633, 298.0572
max values : 691.9075, 1158.2064, 1184.9858, 1198.7121, 1241.8077, 1114.7598, 832.6042
Из этого я хотел бы извлечь значение для осадков в точках, распределенных как в пространстве, так и во времени. Эти точки находятся во фрейме данных:
points <- read.csv("Points.csv")
> head(points)
ID x y ncell jday FRP_max FRI year month
69211 3839949 -171684.6 17 59 NA 230.2500 2001 2
69227 3808720 -238808.7 16 52 NA NA 2001 2
69237 3793373 -267563.1 1 52 NA NA 2001 2
69244 3986574 -292118.7 1 43 NA NA 2001 2
32937 3864736 -164296.8 106 77 94.8 249.1524 2001 3
32938 3871463 -163123.4 31 82 NA 253.5081 2001 3
Я могу обработать пространственный аспект, преобразовав фрейм данных в фрейм пространственных данных и используя функцию извлечения:
points.sp <- points
coordinates(points.sp) <- ~ x + y
rainfall.points <- extract(rainfall, points.sp)
Однако я не могу понять, как убедиться, что значения осадков извлекаются из правильного растрового слоя из растрового кирпича. Я пробовал различные способы индексации, используя столбцы «год» и «месяц» из моего фрейма данных, но ничего не помогло. Любые советы будут высоко оценены!
Это мой первый пост, поэтому извиняюсь, если слишком много / недостаточно информации. Дайте мне знать, было бы полезно увидеть больше моего кода.