Gibt es eine Möglichkeit, die Straßendichte (km/km²) innerhalb eines Puffers um räumliche Linien zu berechnen? Die Straßen werden durch Pixel (1 Pixel = 625 m²) in einem Raster dargestellt. Also habe ich begonnen, die Straßenpixel mit Hilfe der Funktion rasterToContour
(package raster)
in Polylinien umzuwandeln. Dann denke ich über die Berechnung der Gesamtlänge der Linien innerhalb des Puffers (in km) und des Pufferbereichs (in km²) nach.Berechnen Liniendichte innerhalb eines Puffers aus einem Raster
r <- raster(rast_path)
x <- rasterToContour(r)
Hier ist ein reproduzierbares Beispiel:
## To create raster:
library(raster)
library(rgeos)
r <- raster(ncols=90, nrows=50)
values(r) <- sample(1:10, ncell(r), replace=TRUE)
## Road raster
r[r[] < 10] <- 0
r[r[] >= 10] <- 1
plot(r)
## To create spatial lines
line1 <- rbind(c(-125,0), c(0,60))
line2 <- rbind(c(0,60), c(40,5))
line3 <- rbind(c(40,5), c(15,-45))
line1_sp <- spLines(line1)
line2_sp <- spLines(line2)
line3_sp <- spLines(line3)
## To create buffer around lines
line2_buff <- gBuffer(line2_sp, width=20)
plot(line2_sp,add=T)
plot(line2_buff,add=T)
doppelte Frage: http://gis.stackexchange.com/questions/177869/calculate-line-density-within-a-buffer- in-r – RobertH