У меня возникли проблемы с поиском решения проблемы в R. У меня есть один шейп-файл, который содержит около 300 полигонов (областей) и один растровый слой (карта LUL C), который содержит различные значения (например, инфраструктура, лес, озера и т. д.) для разных пикселей. Моя задача состоит в том, чтобы получить площадь каждого многоугольника в растровом файле (LUL C map) и затем вычесть значение (в моем случае три значения указывают на инфраструктуру) из общей площади каждого многоугольника.
Я новичок в программировании на R и использовании такого рода процессов, и поэтому буду очень признателен за любую помощь! Мне просто нужна помощь, чтобы понять, как решить эту проблему и на какие шаги разделить это. Так что терпите меня:)
Мне удалось прочитать в моем шейп-файле и растеризовать:
# Read shapefile into R
jvk_18 <- readOGR(dsn = "JKV_18_19/Alla_kretsar_geografisk1.shp")
#Change CRS on shapefile to same as rasterlayer, copy the one from raster layer
jvk_18 <- spTransform(jvk_18,
CRS("+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"))
# Set up a raster template for a 1000 degree grid in resulution.
ext <- extent(268607.50, 920075.4, 6133580, 7670992)
gridsize <- 100
r <- raster(ext, res = gridsize)
# Rasterize shapefile
rr <- rasterize(jvk_18, r)
#Plot raster (axes = T to get the map I want)
plot(rr, axes = T)
Затем я прочитал в своем растровом файле:
> mark_raster <- raster("Marktäckedata/nmd2018bas_generaliserad_v1_0.tif")
> plot(mark_data)
Так вот как далеко я зашла! Итак, мой вопрос ко всем вам, как поступить? - Оба имеют одинаковый CRS (WGS84)
Оба имеют одинаковый экстент
Я предполагаю, что мой растеризованный шейп-файл должен быть в такое же разрешение, как у моего растрового файла (то есть 10 * 10)? Должен ли я сделать это?
Что еще нужно сделать, прежде чем начать слияние или расчет?
Должен ли я объединить два слоя перед любым расчетом, и в этом случае, нужно ли что-то делать перед объединением?
Есть ли другой способ расчета площадей?
Я понимаю, что это очень много просить! И любая помощь будет очень признательна :)