Yanıtlar:
İşte bir örnek.
library(raster)
# example data
x <- raster(system.file("external/test.grd", package="raster"))
Dikdörtgen kapsamı elde etmek için
e <- extent(x)
# coerce to a SpatialPolygons object
p <- as(e, 'SpatialPolygons')
NA olmayan hücreleri çevreleyen bir çokgen elde etmek için
# make all values the same. Either do
r <- x > -Inf
# or alternatively
# r <- reclassify(x, cbind(-Inf, Inf, 1))
# convert to polygons (you need to have package 'rgeos' installed for this to work)
pp <- rasterToPolygons(r, dissolve=TRUE)
# look at the results
plot(x)
plot(p, lwd=5, border='red', add=TRUE)
plot(pp, lwd=3, border='blue', add=TRUE)
r > -Inf
temeldir R
. c(1,NA,3,NA) > -Inf
Nasıl çalıştığını görmek için yapın . Bir alternatif ekledim ( reclassify
). Alternatifiniz işe yarıyor ama büyük nesneler için iyi değil.
rasterToPolygons()
parçayı işlemesini bekliyorum ve bunun üzerine cevabınızı değerlendireceğim. -Inf
Biraz teşekkürler çok yararlı olacak!
aggregate
, farkı yine de görmeyeceğiniz için önce kullanmayı düşünebilirsiniz .
aggregate()
r'yi çalıştırdıktan sonra sadece 100 hücre olsa bile, işlenmedi (bilgisayar 16 GB RAM ile donatılmış). Sorun, bir DEM'nin sonuçtaki çokgenden çıkarılması gerektiğinden, sınırı olabildiğince yerel tutmam gerekiyor. Rasterimi daha aşağı örneklersem bu sınırı kaybedeceğim. Herhangi bir iş var mı?
r <- r > -Inf
Parça hakkında belge bulamıyorum . Tam olarak ne yapıyor? Ve ne kadar farklıvalues(r)[!is.na(values(r))] <- 1
(r'de 1'de NA olmayan tüm konumları ayarlar).