2017-05-19 13 views
1

위도/경도 (x/y)로 공간 데이터를 가지고 래스터를 넣을 수 있습니다. 각 래스터 셀 내부의 모든 값을 얻고 싶습니다. 포인트가 균등하게 분배되지 않으므로 하나의 래스터 셀에 인접 래스터 셀과 같은 양의 포인트가 포함되지 않습니다. 그 셀 안의 모든 값을 하나의 새로운 값으로 평균화하는 평균을 사용하는 래스터 화 함수가 있음을 알고 있지만, 셀 안의 평균을 보간하고 싶지는 않습니다. 모든 값을 추출하려고합니다. (여기서 셀 내부의 점은 values입니다) .모든 래스터 셀에 들어오는 data.frame의 모든 (여러) 값 가져 오기

효과적인 방법으로 어떻게이 작업을 수행 할 수 있습니까?

내가 가진 생각 :

library(raster) 
library(sp) 

내 데이터 : 나는 래스터를 사용하여 같은 모든 값을 평균 싶지 않다, 그러나 모든 values를 추출 이제

r <- raster(ncols=10, nrows=10) 

x <- runif(n) * 360 - 180 
y <- runif(n) * 180 - 90 
n <- 1000 
values=runif(n) 
xy <- cbind(x,y) 

내 래스터 (예 : 목록에) 해당 셀에 속합니다.

많은 아이디어와 도움에 감사드립니다! 이 기능이 있습니까?

답변

0

첫째, 샘플링 할 래스터에서 값을 가져야합니다. 귀하의 예제에서는 빈 래스터를 샘플링하려고합니다.

library(raster) 
library(sp) 

r <- raster(ncols=10, nrows=10) 
n <- 1000 
x <- runif(n) * 360 - 180 
y <- runif(n) * 180 - 90 
values=runif(n) 
r[]<-values 

xy <- SpatialPointsDataFrame(data=data.frame(cbind(x,y)),coords=cbind(x,y)) 


r0 <- extract(r, xy) 

plot(r0) 
: (나는 원고 편집에 샘플 크기이 착각 문제가 귀하의 예를 함께하지 질문)

가 귀하의 질문에 대답하려면 ... 추출물() 당신이 찾고있는 기능입니다

+0

감사합니다. 그러나 이것은 나의 문제를 다루지 않는다. 내 문제를보다 정확하게하기 위해 등급을 줄였습니다. 래스터 셀에 맞는 여러 포인트가 있으므로 모든 래스터 셀에 대해 하나의 고유 한 값이 없습니다. 여러 값이 하나의 셀에 속하기 때문에 벡터 값은 래스터보다 큽니다. 이것은 여기에서 추출물을 사용하는 것이 문제가되는데, 셀과 값의 수가 동일해야합니다. 래스터 화를 사용하여 모든 셀의 벡터 값의 평균값을 얻는 평균을 취할 수 있지만 해당 셀의 모든 값을 추출하려고합니다. – JmO

+0

cellFromXY() 주위에 뭔가있는 것 같아요 – JmO

+0

좋아, 내가 당신의 질문을 오해 한 것 같아요. 지정된 래스터 셀에 대한 몇 가지 점의 평균을 찾고 싶다고 말하는 것이 정확합니까? – SeldomSeenSlim