저는 ArcGIS ZonalStats를 사용하여 모든 종류의 문제에 직면 해 있으며 R이 좋은 방법 일 수 있다고 생각합니다. 나는 R에 상당히 익숙하지만 코딩 배경을 가지고 있다고 말한다. 상황에 따라 다양한 크기의 여러 기능이 포함 된 여러 개의 래스터와 다각형 모양의 파일이 있습니다 (모든 기능은 래스터 셀보다 크고 다각형 기능은 래스터에 정렬되어 있음). 나는 추출물 래스터 라이브러리를 사용하여 각 다각형 기능에 대한 평균 값을 얻는 방법을 알아 냈어요 :다각형 내에서 NA가 아닌 래스터 셀 수를 얻는 방법
#load packages required
require(rgdal)
require(sp)
require(raster)
require(maptools)
# ---Set the working directory-------
datdir <- "/test_data/"
#Read in a ESRI grid of water depth
ras <- readGDAL("test_data/raster/pl_sm_rp1000/w001001.adf")
#convert it to a format recognizable by the raster package
ras <- raster(ras)
#read in polygon shape file
proxNA <- readShapePoly("test_data/proxy/PL_proxy_WD_NA_test")
#plot raster and shp
plot(ras)
plot(proxNA)
#calc mean depth per polygon feature
#unweighted - only assigns grid to district if centroid is in that district
[email protected]$RP1000 <- extract(ras, proxNA, fun = mean, na.rm = TRUE, weights = FALSE)
#check results
head(proxNA)
#plot depth values
spplot(proxNA[,'RP1000'])
내가 가진 문제는 내가 또한 다각형의 영역 사이의 영역을 기반으로 비율을 필요로한다는 것입니다 동일한 다각형의 모든 비 NA 셀 래스터의 셀 크기가 무엇인지 알면 각 다각형의 면적을 얻을 수 있지만 누락 된 링크는 각 피쳐의 모든 비 -NA 셀 수입니다. 난 다각형 [email protected]$Cnumb1000 <- cellFromPolygon(ras, proxNA)
에있는 모든 세포의 셀 번호를 얻을 수 있었고, 모든 비 NA 셀의 수를 합친 루프를 필요로하는 래스터 셀의 실제 값을 얻는 방법이 있다고 확신한다. 카운트 등. 하지만, 훨씬 더 빠르고 더 좋은 방법이있을 것이라고 확신합니다! 당신 중 누구라도 아이디어가 있거나 올바른 방향으로 나를 가리킬 수 있다면, 나는 매우 감사 할 것입니다! 많은 감사!
죄송합니다, 나는이 질문을 잘못 때문에 GIS-유래 사이트로 이동 한 생각한다. [link] (http://gis.stackexchange.com/questions/84387/how-to-get-count-of-non-na-raster-cells-within-polygon-using-r) 많은 분들께 감사드립니다. 지금까지 봐! – HBA