Модуль pythonaddins

Модуль pythonaddins включает в себя функции для поддержки надстроек Python.

ПримечаниеПримечание:

Модуль pythonaddins может быть использован только внутри надстройки Python. Он не может быть использован в отдельных скриптах или инструментах-скриптах геообработки.

Функция

Описание

OpenDialog({title}, {multiple_selection}, {starting_location}, {button_caption})

Открывает диалоговое окно для выбора одного или нескольких наборов данных ГИС. Эта функция возвращает полный путь к выбранному набору данных. Если было выбрано несколько наборов данных, она возвращает список полных путей. Фильтрация входных наборов данных отсутствует (например, фильтрация только точечных классов пространственных объектов).

  • {title}—Заголовок диалогового окна.
  • {multiple_selection}—Отображает, возможен ли выбор нескольких элементов. False, по умолчанию.
  • {starting_location}—Путь к начальному местоположению.
  • {button_caption}—Подпись кнопки Открыть (Open).

SaveDialog({title}, {name_text}, {starting_location})

Открывает диалоговое окно для сохранения данных. Эта функция возвращает полный путь для сохранения набора данных.

  • {title}—Заголовок диалогового окна.
  • {name_text}—Название набора данных, отображаемое в поле ввода Название диалогового окна.
  • {starting_location}—Путь к начальному местоположению для сохранения данных.

GPToolDialog(toolbox, tool_name)

Открывает диалоговое окно инструментов геообработки.

  • toolbox—Расположение набора инструментов.
  • tool_name—Название инструмента.

MessageBox(message, title, {mb_type})

Отображает окно сообщения. Эта функция возвращает строковое значение, соответствующее нажатой кнопке сообщения.

  • message—Сообщение, которое будет отображено.
  • title—Заголовок окна сообщения.
  • {mb_type}—Тип окна сообщения. Значение по умолчанию — 0 (Окно сообщения с кнопкой ОК). Полный список кодов {mb_type} содержится в таблице ниже.

GetSelectedTOCLayerOrDataFrame()

Возвращает выбранный слой фрейма данных из таблицы содержания.

код {mb_type}

Тип окна сообщения

0

Только кнопка ОК

1

Кнопки ОК/Отмена

2

Прервать/Повторить/Пропустить

3

Да/Нет/Отмена

4

Да/Нет

5

Повторить/Отмена

6

Отмена/Повторить/Продолжить

коды {mb_type}

Эта надстройка использует функцию OpenDialog() для выбора набора файлов слоев и добавляет каждый слой к выбранному фрейму данных.

import arcpy
import pythonaddins

class AddLayers(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        layer_files = pythonaddins.OpenDialog('Select Layers', True, r'C:\GISData', 'Add')
        mxd = arcpy.mapping.MapDocument('current')
        df = pythonaddins.GetSelectedTOCLayerOrDataFrame()
        if not isinstance(df, arcpy.mapping.Layer):
            for layer_file in layer_files:
                layer = arcpy.mapping.Layer(layer_file)
                arcpy.mapping.AddLayer(df, layer)
        else:
            pythonaddins.MessageBox('Select a data frame', 'INFO', 0)

Эта надстройка открывает инструмент геообработки.

import arcpy
import pythonaddins

class OpenGPTool(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pythonaddins.GPToolDialog(r'C:\MyTools\WaterStudy.tbx', 'GroundWaterYield')

9/11/2013