ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Использование логики если-то-иначе для создания ветвей

  • Использование логики если-то-иначе в ModelBuilder
  • Примеры логики если-то-иначе

Логика если-то-иначе – это простой, но мощный принцип, позволяющий выполнять различные действия в различных условиях. Логику если-то-иначе можно объяснить следующим образом: ЕСЛИ условие действительно, выполнить действие; ИНАЧЕ условие недействительно, выполнить другое действие.

Использование логики если-то-иначе в ModelBuilder

В ModelBuilder логику если-то-иначе можно реализовать, создав инструмент скрипта, проверяющий наличие определенного условия, а затем выводящий две Булевы переменные, описывающие условия TRUE и FALSE, а также реализующий этот инструмент скрипта в модели. В качестве альтернативы созданию инструмента скрипта можно использовать инструмент Вычислить значение для проверки условия и вывода Булево значения.

В модели ниже реализуется инструмент скрипта с именем Проверить систему координат для использования логики ветвления. Инструмент скрипта выполняет оценку входного набора данных и сообщает, имеет ли набор данных систему координат проекции State Plane или неизвестную систему координат. В модели, если входной набор данных находится в системе координат проекции State Plane, ничего не происходит. Если во входном наборе данных обнаруживается неизвестная система координат, модель определяет систему проекции и проецирует входные данные. Один из ключевых шагов в использовании логики ветвления в ModelBuilder — это задание одного из условных выходных значений в качестве предварительного условия для дальнейшей обработки.

Пример логики если-то-иначе

Примеры логики если-то-иначе

В следующем примере кода показывается, как ветвление если-то-иначе реализовано в инструменте скрипта Проверить систему координат, упомянутом ранее. Скрипт выводит две переменные, одна из которых представляет условие если – IF (TRUE), а другая условие иначе – ELSE (FALSE).

Пример «Проверить систему координат».

В примере выполняется проверка наличия входных данных в StatePlane, проверка отсутствия файла привязки и наличия файла привязки, отличного от StatePlane.

# Import modules
import arcpy
import sys
import traceback
# Set local variables
prj = "" 
indata = "C:/ToolData/well.shp" 
dsc = arcpy.Describe(indata) 
sr = dsc.spatialReference 
prj = sr.name.lower()
try:
 
   # check if indata is in StatePlane, has no PRJ, or one other than StatePlane
   if prj.find("_stateplane_") > -1:
       # Set the Is Unknown parameter to FALSE, and the Is StatePlane parameter to TRUE
       arcpy.SetParameterAsText(1,"false") #The first parameter refers to the "Is Unknown" variable
       arcpy.SetParameterAsText(2,"true") #The second parameter refers to the "Is StatePlane" variable
       arcpy.AddMessage("Coordinate system is StatePlane") 
   elif prj == "unknown": 
       # Set the Is Unknown parameter to TRUE, and the Is StatePlane parameter to FALSE
       arcpy.SetParameterAsText(1,"true") 
       arcpy.SetParameterAsText(2,"false") 
       arcpy.AddMessage("To continue, first define a coordinate system!") 
   else:
       # Set the Is Unknown parameter to FALSE, and the Is StatePlane parameter to FALSE
       arcpy.SetParameterAsText(1,"false") 
       arcpy.SetParameterAsText(2,"false") 
       arcpy.AddMessage("Coordinate system is not StatePlane or Unknown") 
except Exception as e:
    AddPrintMessage(e[0], 2)

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация