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