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

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

Работа с многозначными входными данными

  • Как список
  • Как строка
  • с помощью ValueTable

У многих инструментов геообработки имеются входные параметры, принимающие несколько значений. Если параметр заключен в квадратные скобки ([ ]), это указывает на то, что он может взять список значений (при просмотре справочной страницы инструмента либо при его использовании в окне Python). Например, инструмент Удалить поле (Delete Field) берет список полей для удаления, а использование параметра отображается как [drop_field, ...]. Некоторые параметры, например, параметр input_features инструмента Объединить (Union)Объединить (Union), берут список списков. Их использование отображается как [[in_features, {Rank}], ...].

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

  1. Как список, в котором каждое значение является элементом списка
  2. Как строку, в которой значения разделяются точкой с запятой.
  3. Как таблицу ValueTable, в которой значения сохраняются в виде виртуальной таблицы, состоящей из строк и столбцов.

Ниже приведены примеры каждого способа.

Как список

В скрипте многозначные входные данные могут быть переданы как список. Список заключается в квадратные скобки и является гибким типом Python.

Инструмент DeleteFields со списком Python для параметра drop_field

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'
arcpy.DeleteField_management('roads', ['STREET_NAM', 'LABEL', 'CLASS'])

Инструмент Union со списком Python для параметра in_features

import arcpy

arcpy.env.workspace = 'C:/base/data/gdb' 
arcpy.Union_analysis([['counties', 2],['parcels', 1]], 'state_landinfo')

Как строка

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

Инструмент DeleteFields с многозначной строкой для параметра drop_field.

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'
arcpy.DeleteField_management('roads', 'STREET_NAM;LABEL;CLASS')

Инструмент Union с многозначной строкой для параметра in_features

import arcpy 

arcpy.env.workspace = 'C:/base/data/gdb' 
arcpy.Union_analysis('counties 2;parcels 1', 'state_landinfo')

с помощью ValueTable

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

Инструмент DeleteFields с таблицей ValueTable для параметра drop_field

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'

vt = arcpy.ValueTable()
vt.addRow('STREET_NAM')
vt.addRow('LABEL')
vt.addRow('CLASS')

arcpy.DeleteField_management('roads', vt)

Инструмент Объединение (Union) с таблицей ValueTable для параметра in_features

import arcpy 

arcpy.env.workspace = 'C:/base/data/gdb' 

vt = arcpy.ValueTable(2)
vt.addRow('counties 2')
vt.addRow('parcels 1')

arcpy.Union_analysis(vt, 'state_landinfo')

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

  • Использование параметров с множественными значениями

ArcGIS Desktop

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

ArcGIS

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

Об Esri

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