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

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

Создание рабочих процессов в окне Python

  • Созданий функций

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

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

В следующем примере кода с помощью функции ListFeatureClasses создается список всех классов пространственных объектов в рабочей области, после этого с помощью инструмента GetCount выполняется печать некоторого числа пространственных объектов из каждого класса в этом списке.

>>> arcpy.env.workspace = "c:/data"
>>> for fc in arcpy.ListFeatureClasses():
...     print("{0}, {1}".format(fc, arcpy.GetCount_management(fc)))

Такие классы, как пространственные привязки, полевые карты и поля и индексы позволяют создавать объекты, которые можно использовать с другими инструментами и функциями геообработки.

Например, с помощью Python очень долго и непрактично задавать все подробные свойства пространственных привязок. Напротив, класс SpatialReference позволяет быстро заполнить свойства объекта SpatialReference и использовать его в качестве входных данных для инструмента геообработки. В следующем примере кода объект SpatialReference заполняется свойствами равнопромежуточной конической проекции Северной Америки, после чего объект используется с инструментом Создать класс пространственных объектов (Create Feature Class) для создания нового класса пространственных объектов с указанной пространственной привязкой.

import arcpy
inputWorkspace = "c:/temp"
outputName =  "rivers.shp"
spatialRef = arcpy.SpatialReference("North America Equidistant Conic")
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE", "", "", "", spatialRef)

Созданий функций

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

def listFieldNames(table, wildcard=None, fieldtype=None):
    fields = arcpy.ListFields(table, wildcard, fieldtype)
    nameList = []
    for field in fields:
        nameList.append(field.name)
    return nameList

В Python функции задаются с помощью ключевого слова def, за которым следует имя функции и список параметров. Указанная выше функция listFieldNames — это небольшая функция, возвращающая список имен полей из таблицы или класса пространственных объектов. Оператор return используется для возврата значения из функции.

>>> fieldNames = listFieldNames("c:/data/water.gdb/water_pipes")

Но когда для своей работы создавать функции приходится постоянно, следует подумать о написании инструмента скрипта. Это естественное развитие от написания коротких фрагментов кода к созданию собственных функций и инструментов скриптов геообработки. Более подробно о создании собственных инструментов скриптов.

ArcGIS Desktop

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

ArcGIS

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

Об Esri

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