raster
이미지 (.tif)에 0과 1 사이의 각 픽셀에 연속 값이 있습니다. 이 영역에서 면적을 계산하고 싶습니다. raster
은 0.1-0.2, 0.3-0.4, 0.7-0.8의 값 간격으로 값을 갖습니다. 궁극적 인 목표는 더 큰 영역을 차지하는 간격을 확인하는 것입니다. 시도해 볼 수있는 기능이나 접근 방법은 무엇입니까 R
? ras
이 래스터 이미지 인 경우특정 값을 갖는 래스터 영역 계산하기 R
-1
A
답변
1
, 당신은 다음과 같은 작업을 수행 할 수
sum(ras[] >= 0.1 & ras[] <= 0.2)
는이 범위 0.1 내에서 값을 포함하는 픽셀의 수를 반환 - 0.2. 이 값에 제곱 된 셀 크기를 곱하면 다음과 같습니다.
sum(ras[] >= 0.1 & ras[] <= 0.2) * res(ras)[1]^2
면적은 평방 미터입니다.
값을 변경하여 범위를 조정하거나 미리 정의 된 값 범위를 반복하고 심지어는 barchart를 만드는 함수/루프를 작성하십시오. 같은
뭔가 :
intervals <- list(c(0.1,0.2),
c(0.2,0.3),
c(0.3,0.4))
sapply(intervals, function(x) {
sum(ras[] > x[1] & ras[] <= x[2])
})
+0
고마워, 내 질문에 정확히 대답했다! – MIH
당신이 래스터 무엇을 의미합니까? 래스터 패키지, 또는 단지 매트릭스, 또는? – mdsumner
좋아, 래스터 패키지를 참조하십시오. 직접 비교할 수 있습니다 (값 (컷 (r, 간격))) 테이블을 시도하지만 아직 래스터를 사용하지 않은 경우 관련 기능을 탐색 할 수 있습니다. r = raster ("file.tif" 파일을 읽으려면 – mdsumner