답변:
다음은 예입니다.
library(raster)
# example data
x <- raster(system.file("external/test.grd", package="raster"))
직사각형 범위를 얻으려면
e <- extent(x)
# coerce to a SpatialPolygons object
p <- as(e, 'SpatialPolygons')
NA가 아닌 셀을 둘러싸는 다각형을 얻으려면
# 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
기본 R
입니다. 수행 c(1,NA,3,NA) > -Inf
어떻게 작동하는지 볼 수 있습니다. 대안 ( reclassify
) 을 추가했습니다 . 당신의 대안은 효과가 있지만 큰 물체에는 좋지 않습니다.
rasterToPolygons()
부품 을 처리하기를 기다리는 중이므로 귀하의 답변을 평가하겠습니다. -Inf
비트가 매우 유용 할 것입니다 감사 합니다!
aggregate
어쨌든 차이를 볼 수 없으므로 먼저 사용 하는 것이 좋습니다.
aggregate()
r 을 실행 한 후 100 개의 셀만 있어도 처리되지 않습니다 (16GB RAM이 장착 된 컴퓨터). 문제는 결과 다각형에서 DEM을 추출해야하므로 경계를 가능한 한 기본으로 유지해야한다는 것입니다. 래스터를 더 다운 샘플링하면 해당 경계를 잃게됩니다. 해결 방법이 있습니까?
r <- r > -Inf
부품 에 대한 설명서를 찾을 수없는 것 같습니다 . 정확히 뭐하는거야? 그리고values(r)[!is.na(values(r))] <- 1
(r에서 NA가 아닌 모든 위치를 1로 설정) 와 다른 점은 무엇 입니까?