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

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

Конвертировать схему в объекты

  • Сводка
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

Конвертирует схематическое представление в стандартные классы пространственных объектов или шейп-файлы.

Схематические представления хранятся в скрытых классах пространственных объектов, специфичных для Schematics, и требуют использования остальных таблиц и информации конфигурации схемы. Этот инструмент позволяет обмениваться схемами с другими пользователями, не передавая всего набора схематических данных, включающего все схемы и конфигурацию. Если вы планируете конвертировать несколько схем, вы можете выбрать, будут ли они все включены в один и тот же набор стандартных классов пространственных объектов или шейп-файлов, или у каждой схемы будет собственный набор классов объектов или шейп-файлов.

Примечание:

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

Использование

  • Чтобы конвертировать слой схематического представления в стандартные классы пространственных объектов, перейдите по дереву каталога и выберите базу геоданных/набор классов объектов для заданного параметра выходного пути. Чтобы конвертировать слой схематического представления в шейп-файлы, перейдите по дереву каталога и выберите папку.

  • Чтобы конвертировать несколько схем в одни и те же стандартные классы пространственных объектов/шейп-файлы, установите отметку Повторно использовать существующую структуру. Чтобы конвертировать несколько схем в разные стандартные классы пространственных объектов/шейп-файлы, снимите отметку Повторно использовать существующую структуру.

  • Отметьте Экспортировать все атрибуты связанных объектов, если вы хотите добавить все атрибуты реального класса объектов к записям схемы в процессе конвертации.

  • Опция Экспортировать все атрибуты связанных объектов работает только с классами объектов схемы, для которых известно значение поля Связанные класс объектов/таблица. Если для класса объектов схемы не указаны связанные класс объектов/таблицы, атрибуты связанных объектов нельзя экспортировать.

  • Выберите POLYGON в Геометрии контейнера, если вы хотите конвертировать все контейнеры во входном схематическом представлении в полигональный объект. Если вы хотите конвертировать такие контейнеры в полилинейные (или точечные) объекты, выберите POLYLINE (или POINT).

    Внимание:

    Если при использовании опции Повторно использовать существующую структуру для конвертации первой схемы выбраны POLYGON (POLYLINE или POINT), последующие конвертации нельзя изменить на POLYLINE или POINT (POLYGON). Чтобы изменить тип конвертации, необходимо удалить структуру и конвертировать схемы снова.

  • После конвертации заданного входного слоя схематического представления в заданном месте назначения, он будет удален перед повторным созданием.

Синтаксис

arcpy.schematics.ConvertDiagram(in_diagram, out_location, {reuse_fc}, {export_related_attributes}, {container_geometry}, {config_keyword})
ПараметрОбъяснениеТип данных
in_diagram

Слой схематического представления, который нужно конвертировать.

Schematic Layer
out_location

Рабочая область или набор классов объектов, в которые будет конвертировано схематическое представление. Этот контейнер уже должен существовать.

Workspace;Feature Dataset
reuse_fc
(Дополнительный)

Указывает, будет ли входной слой схематического представления конвертирован в те же стандартные классы объектов/шейп-файлы, что и другие схемы на основе того же шаблона схемы.

  • REUSE_FC —Должна использоваться для конвертации заданной схемы в те же стандартные классы объектов/шейп-файлы, что и другие схемы на основе того же шаблона схемы, которые уже конвертированы или будут конвертированы. В этом случае, в зависимости от выбранного места назначения, заданная схема конвертируется:
    • В набор классов объектов, имя которого соответствует имени шаблона схемы, а имена классов объектов – именам классов объектов схемы.
    • В папку, имя которой соответствует имени шаблона схемы, а имена шейп-файлов в ней – именам классов объектов схемы.
    Используется по умолчанию.
  • NO_REUSE_FC —Входная схема конвертируется в новый класс объектов/папку с именем, являющимся конкатенацией имени шаблона входной схемы и имени схемы; при этом имя каждого класса объектов/шейп-файла является конкатенацией имени класса объектов схемы и имени схемы.
Boolean
export_related_attributes
(Дополнительный)

Указывает, будут ли также конвертированы все атрибуты, хранящиеся в реальных классах объектов/таблицах объектов, связанных с классами объектов схемы.

  • NO_RELATED_ATTRIBUTES —Каждый объект схемы, содержащийся во входной схеме, конвертируется только с атрибутами, содержащимися в его классе объектов схемы. Используется по умолчанию.
  • EXPORT_RELATED_ATTRIBUTES —Каждый объект схемы, содержащийся во входной схеме, конвертируется с атрибутами, содержащимися в его классе объектов схемы, и всеми атрибутами связанного с ним реального объекта.
Примечание:

Если для класса объектов схемы не указаны связанные класс объектов/таблица, атрибуты объектов нельзя конвертировать.

Примечание:

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

Boolean
container_geometry
(Дополнительный)

Указывает тип геометрии объектов, которые будут созданы для конвертированных контейнеров, содержащихся во входной схеме.

  • POLYGON —Каждый контейнер во входной схеме конвертируется в полигональный объект. Используется по умолчанию.
  • POLYLINE —Каждый контейнер во входной схеме конвертируется в полилинейный объект.
  • POINT —Каждый контейнер во входной схеме конвертируется в точечный объект.
Примечание:

Если используется опция Повторно использовать существующую структуру, и уже существует структура с классами объектов POLYGON (POLYLINE или POINT), созданными для контейнерных объектов схемы, то для последующих конвертаций нельзя поменять тип класса объектов на POLYLINE или POINT (POLYGON).

String
config_keyword
(Дополнительный)

Ключевое слово конфигурации, определяющее параметры хранения таблицы в реляционной системе управления базами данных (РСУБД) Это относится только к корпоративная, рабочей группы или настольная база геоданных.

String

Пример кода

ConvertDiagram, пример (инструмент-скрипт)

В примере скрипта ниже показано использование функции ConvertDiagram в инструменте-скрипте. Этот инструмент-скрипт поочередно обрабатывает все схемы, содержащиеся во входном контейнере схемы – т.е. наборе схематических данных или папке схемы, – и конвертирует их в стандартные объекты или шейп-файлы в месте назначения.Создание и настройка этого инструмента-скрипта.

  1. Скопируйте приведенный ниже скрипт в любой текстовый редактор и сохраните текстовый файл с расширением .ру
  2. Запустите ArcCatalog и откройте окно ArcToolbox.
  3. Добавьте новый скрипт:
    • Введите его имя (например, ConvertDiagramsTool)
    • В параметре Script File укажите py-файл, который вы только что создали.
    • Затем задайте следующие пять параметров:
      1. Отображаемое имя: Входной контейнер схемы; Тип данных: Набор схематических данных или Папка схемы; Свойство типа=Обязательный, Свойство направления=Входной
      2. Отображаемое имя: Место назначения; Тип данных: Рабочая область или Набор классов объектов; Свойство типа=Обязательный, Свойство направления=Входной
      3. Отображаемое имя: Рекурсивный; Тип данных: Логический; Свойство типа=Обязательный, Свойство направления=Входной, Значение по умолчанию=Истина
      4. Отображаемое имя: Фильтр класса схем, Тип данных: Строка; Свойство типа=Необязательный, Свойство направления=Входной
      5. Отображаемое имя: Определенное место назначения, Тип данных: Рабочая область или Набор классов объектов; Свойство типа=Обязательный, Свойство направления=Выходной, Полученный из=Место_назначения
Требуемые входные параметры: Входной контейнер схемы (набор данных или папка) + место назначения (БГД, набор классов объектов или папка для шейп-файлов)Необязательные аргументы: Флаг рекурсии + фильтр класса схем Определенное место назначения: Рабочая область или набор классов объектов.

# Name: ConvertDiagrams.py
# Description: Convert schematic diagrams
# Requirement: ArcGIS Schematics extension
# import arcpy, sys, math
import arcpy, sys, math
msgInputsErr = "Invalid arguments."
msgParseErr = "Cannot parse input arguments."
msgConvertErr = "Error during conversion."
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
# Recursively searches for schematic diagrams in the folders
def RecursiveSearch(inCont, bRecursive):
    try:
        childs = inCont.Children
        dataset = None
        for dataset in childs:
            if dataset.DataType == "SchematicFolder" and bRecursive:
                RecursiveSearch(dataset, bRecursive)
            elif dataset.DataType == "SchematicDiagram":
                if diagramClassFilter == "" or diagramClassFilter == dataset.DiagramClassname:
                    pathList.append(dataset.CatalogPath)
    except:
        raise
    
try:
# Checks out the ArcGIS Schematics extension license    
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
except Exception as exc:
    print exc
    raise
arcpy.env.overwriteOutput = True
# Decodes parameters
try:
    inputContainer = arcpy.GetParameterAsText(0)
    outputLocation = arcpy.GetParameterAsText(1)
    recursive = arcpy.GetParameterAsText(2)
    if recursive == "false":
        recursive = None
    diagramClassFilter = arcpy.GetParameterAsText(3)
    
    if inputContainer == "":
        raise Exception()
    
except:
    print msgParseErr
    arcpy.AddError(msgParseErr)
    raise
# Main code
try:
    pathList = []   # List for diagram names to convert
    arcpy.SetProgressorLabel("Searching diagrams to convert...")
    RecursiveSearch(arcpy.Describe(inputContainer), recursive)
    arcpy.SetProgressor("step", "Converting...", 0, len(pathList), 1)
    for path in pathList:
        # Execute convert
        mes = "Converting Schematic Diagram : " + path
        # Set the progressor label
        arcpy.SetProgressorLabel(mes)
        arcpy.AddMessage(mes)
        arcpy.ConvertDiagram_schematics(path, outputLocation, "REUSE_FC", "NO_RELATED_ATTRIBUTES", "#")
        arcpy.SetProgressorPosition()
    # Returns the ArcGIS Schematics extension licence
    arcpy.CheckInExtension("Schematics")
except:
    arcpy.AddError(msgConvertErr)
    raise

Параметры среды

  • Выходное ключевое слово CONFIG

Информация о лицензиях

  • Basic: Требуется Данные схем (Schematics)
  • Standard: Требуется Данные схем (Schematics)
  • Advanced: Требуется Данные схем (Schematics)

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

  • Обзор набора инструментов Cхематика (Schematics)
  • Обновить схему
  • Обновить схемы
  • Создать папку схемы
  • Создать схему
  • Как работает инструмент Конвертировать схему в объекты (Schematics)

ArcGIS Desktop

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

ArcGIS

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

Об Esri

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