2016-01-15 6 views
0

У меня есть два больших растровых стола (по 6000 штук). Я хотел бы сделать некоторые простые вычисления, такие какКак сделать calc используя два RasterStack?

  NewRasterStack = RasterStack_1 + RasterStack2*(-3) 

Не могли бы вы быть добрым, чтобы помочь мне предложить рабочий код, чтобы сделать этот расчет? Все данные обрабатываются с использованием растрового пакета R, поэтому я ищу функцию растрового calc.

Спасибо заранее!

+0

Было бы здорово, если бы вы могли бы поставить минимальную воспроизводимый пример соглашайтесь с вашим вопросом. Что-то, с чем мы можем работать и использовать, чтобы показать вам, как можно ответить на ваш вопрос. Таким образом, другие могут также подойти к вашему вопросу и сопроводительному ответу в будущем. Вы можете посмотреть [это сообщение SO] (http://stackoverflow.com/help/mcve) о том, как сделать отличный воспроизводимый пример в R. –

+2

Вы пробовали делать 'NewRasterStack <- RasterStack_1 + RasterStack2 * (- 3) '? Он должен просто работать, если оба стека имеют одинаковые размеры, количество слоев и т. Д. –

+0

Дополнительный контекст для комментария @ JoshO'Brien: [Разница между = и <-] (http://stackoverflow.com/questions/2271575/whats-the-difference-between-and-in-r) – Badger

ответ

1

Если стеки имеют одинаковую степень и разрешение это должно работать:

NewRasterStack = RasterStack_1 + RasterStack2*(-3) 

Это может быть немного более эффективным:

nr <- overlay(RasterStack_1, RasterStack2, fun=function(x,y) x - 3 * y) 

 Смежные вопросы

  • Нет связанных вопросов^_^