В документации по gdal_calc указан растровый калькулятор командной строки с пустым синтаксисом . Позже есть несколько примеров, где в одном из них:
gdal_calc.py -A input.tif --outfile = result.tif --calc = "A * (A> 0)" --NoDataValue = 0 - означает установить значения от нуля и ниже до нуля
К сожалению, нет примера для логических операторов, таких как:
--calc = "A * (A> 0 и A> B)" - означает оставить A, если A больше нуля и больше B, и установить остаток на ноль
Основываясь на логических функциях Numpy / Scipy, я ожидал бы написать логические операторы как:
--calc = "А * logical_and (А> 0, A> B)"
Я попробовал это, и это, кажется, работает, но я хотел бы быть уверен, что это правильно.
Аналогичным образом, если вы хотите минимум A и B:
--calc = "А * (А <= В) + В * (А> В)"
Вы можете просто написать:
--calc = "минимальный (А, В)"
Моя проблема в том, что я не могу найти кулинарную книгу, чтобы убедиться, что я правильно понял. Есть ли хорошая поваренная книга с продвинутыми примерами того, что можно и нельзя с gdal_calc?