Построение выражений в калькуляторе растра

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

При построении выражений в калькуляторе растра одним или двумя кликами выбираются различные слои, переменные, кнопки и названия инструментов, что позволяет избегать синтаксических ошибок, связанным с неправильным вводом соответствующих элементов.

Так как выражение, введенное в инструменте Калькулятор растра , будет выполнено в Python, а язык Python чувствителен к регистру, важно указывать надлежащие прописные буквы в названиях инструментов. Например, чтобы использовать инструмент IsNull, следует ввести его название как IsNull, а не Isnull или isnull.

При последовательном использовании ряда относительных или логических операторов в выражении следует указывать скобки. Дополнительные сведения см. в советах по использованию инструмента Калькулятор растра.

Примеры выражений в диалоговом окне Калькулятор растра

Хотя алгебра карты используется как в калькуляторе растра, так и непосредственно в Python, существует ряд отличий в синтаксисе, о которых всегда следует помнить.

  • Так как существует специальный выходной параметр в диалоговом окне инструмента Калькулятор растра (Raster Calculator), выражения алгебры карты не включают выходное имя и знак равенства (=) во время использования калькулятора растра.
  • Только в диалоговом окне инструмента Калькулятор растра имена слоев можно использовать напрямую с операторами. При работе в Python необходимо сначала объявить слои как растровые объекты.
  • Аналогичным образом только в диалоговом окне инструмента можно помещать переменные растрового калькулятора между знаками процентов (%) или кавычками (").

Примеры диалогового окна инструмента Калькулятор растра

Ниже приведены некоторые примеры выражений алгебры карт, которые можно выполнить в инструменте Калькулятор растра. В этих выражениях имена растровых слоев заключаются в кавычки, например "dist".

  • ("pop" > 150) & ("dist" > 10)
  • ("Band4" – "Band3") / Float("Band4" + "Band3")
  • Con("elev" <= 3000, 1, 0)
  • Con(IsNull("elev"),0, "elev")
  • Con(("landuse1" == 1) & ("landuse2" == 5), "landuse1" + "landuse2", 99)
  • Con(Raster('elev') != 0,'elev')
  • (Con('elev', 'elev', "", "elev_feet <> 0")) + Raster("tree_height")
  • Con("inRas" < 45,1, Con(("inRas" >= 45) & ("inRas" < 47),2, Con(("inRas" >= 47)&("inRas" < 49),3, Con("inRas" >= 49,4))))

Пример выражения калькулятора растра в ModelBuilder

При использовании инструмента Калькулятор растра в ModelBuilder, единственное отличие заключается в возможности использования этих переменных не только как параметров ввода, но и как слоев. Дополнительные сведения о синтаксисе, доступных для использования типах переменных и поведении при подключении инструмента Калькулятор растра в ModelBuilder см. в справке по инструменту Калькулятор растра.

Отображение переменных и слоев в выражении

В приведенном ниже примере показано, как синтаксис выражения алгебры карты в инструменте Калькулятор растра используется в модели.

Примечание:

В этом примере было создано несколько слоев инструментом Переклассификация, требующем доступной лицензии Spatial Analyst или 3D Analyst. Калькулятор растра, как часть модели, может быть выполнен с использованием лицензии Spatial Analyst или Image Analyst.

  • В этом примере используются переменные Набор растровых данных, Длинное целое и Растровый слой.

    Обратите внимание, что для различных переменных используется немного отличающийся синтаксис.

    Имя переменной или слояТип переменнойПервое появление синтаксиса в выражении

    Переклассификация дороги

    Переменная набора растровых данных"%Переклассификация дороги%"

    Вес дороги

    Переменная Long%Вес дороги%

    Переклассификация землепользования

    Растровый слой"Переквалификация землепользования"

    Добавление входных данных с правильным синтаксисом

    1. Поместите курсор в нужное место окна выражения.
    2. Дважды щелкните нужный слой.

    Инструмент Калькулятор растра с выражением, в котором используются переменные и слои
    Инструмент Калькулятор растра с выражением, в котором используются переменные и слои
  • После нажатия кнопкиОК для закрытия диалогового окна инструмента Калькулятор растра переменная, представляющая слой "Переклассификация землепользования" будет добавлена в модель в качестве переменной модели.

  • При повторном открытии диалогового окна инструмента Калькулятор растра следует обратить внимание на следующие вещи.

    1. Переменная "Переклассификация землепользования" добавлена к списку.
    2. Синтаксис в выражении был обновлен из синтаксиса слоя ("Переклассификация землепользования") в синтаксис переменной ("%Переклассификация землепользования%").
    Калькулятор растра с выражением, в котором используются переменные
    Пример инструмента Калькулятор растра с выражением, в котором используются переменные

Связанные разделы