수백 개의 Landsat 8 이미지를 보정하는 효율적인 스크립트를 작성하려고합니다. 교정 단계의 특정 시점에서 래스터 스택의 각 레이어에 일부 계수를 적용해야합니다.R - 벡터 및 래스터 스택 레이어의 인덱스를 결합하는 기능
fn <- system.file("external/test.grd", package="raster")
s <- stack(fn, fn)
그리고 다음은 샘플 계수 : 내가 필요로 무엇
mult <- c(0.0003342, 0.0005534)
add <- c(0.1, 0.2)
스택 층의 대응 인덱스 계수의 각 인덱스를 적용하는 것입니다 수
이 하나 개의 샘플 스택이다 이 예와 같이 :
s[[1]] <- (s[[1]] * mult[1]) + add[1]
s[[2]] <- (s[[2]] * mult[2]) + add[2]
이것은 나쁘지 않은 시도입니다. 직장 :
cal.fun <- function(x) {
x <- (x * mult) + add
}
s.cal <- calc(s, cal.fun, progress='text')
어떻게해야합니까?
감사합니다.
이 질문은 래스터와 관련이 있습니까? 아니면 그 거리를 추상화하여 더 간단하게 재생산 할 수 있습니까? 샘플 입력과 예상 출력을 가진 예제? –
@A.Webb 그것은 래스터 오브젝트와 분명히 관련이 있습니다 – thiagoveloso