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

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

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

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

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

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

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

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

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

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

Ниже приведены некоторые примеры выражений алгебры карт, которые можно выполнить в инструменте Калькулятор растра. В этих выражениях имена растровых слоев заключаются в кавычки, например "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. Дважды щелкните подходящий слой

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

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

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

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