Я очень новичок в R и у меня есть несколько вопросов относительно большого растрового слоя (Barrow_DEM.tif, 2,5 ГБ), содержащего модель рельефа.Дополнительно имеется файл формы (Barrow_DTLB.shp) с 10 полигонами, для которого я хочу получить данные высот из растра.Оба файла имеют одинаковое пространственное расширение и правильные координаты, проекцию и т. Д.
`setwd("...")
Barrow_DEM <- raster("Barrow_DEM.tif")
Barrow_DTLB <- st_read("Barrow_DTLB.shp")
Barrow_DTLB_Buffer <- st_read("Barrow_DTLB_BufferOUT.shp")
Barrow_lake <- crop(Barrow_DEM, extent(Barrow_DTLB))
raster_lake <- rasterize(Barrow_DTLB, Barrow_lake, mask = TRUE)
summary(raster_lake)`
Результат отображается следующим образом:
summary(raster_lake)
layer
Min. 0
1st Qu. 2
Median 3
3rd Qu. 8
Max. 12
NA's 0
Warning message:
In .local(object, ...) :
summary is an estimate based on a sample of 1e+05 cells (0.02% of all cells)
Результат для гистограммы следующий:
hist(raster_lake, col=rgb(0,0,1,0.5), breaks=100, ylab= "Frequency", xlab= "Height", main= "Histogram DTLB Barrow")
Warning message: In .hist1(x, maxpixels = maxpixels, main = main, plot = plot, ...) :
0% of the raster cells were used (of which 92% were NA). 7651 values used
Я уже пробовал это из другого обсуждения здесь, но это не помогло мне.replaceNA <- function(x, na.rm, ...){
if(is.na(x[1]))
return(0)
else
return(x)
}
raster_lake <- calc(raster_lake, fun = replaceNA)
Кажется, что все значения данных в новом файле raster_lake, которые находятся за пределами полигонов, получили значение NA.Как мне избавиться от этих NA?Я хотел бы получить полную гистограмму, а также некоторые статистические данные, такие как медиана, среднее, минимальное, максимальное для всех многоугольников и для каждого многоугольника отдельно.