ArcGIS Desktop

  • Документация
  • Поддержка

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Перенести класс отношений

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

Краткая информация

Переносит класс отношений на основе ObjectID в класс отношений, основанный на GlobalID.

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

  • Этот инструмент модифицирует существующий класс отношений, основанный на ObjectID, в класс отношений на основе GlobalID в соответствии с требованиями базы геоданных runtime.

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

  • Существующий входной класс отношений должен быть на основе ObjectID. Эти данные могут не архивироваться.

  • Этот инструмент поддерживает версионные и неверсионные входные данные.

  • Инструмент не поддерживает объектно-связанные классы отношений в качестве входных данных, поскольку эти отношения должны быть на основе ObjectID.

  • Рекомендуется иметь резервную копию входных данных этого инструмента.

Синтаксис

MigrateRelationshipClass_management (in_relationship_class)
ПараметрОбъяснениеТип данных
in_relationship_class

Класс отношений на основе ObjectID, которой будет перенесен в класс отношений на основе GlobalID. Исходный и целевой классы объектов или таблицы должны иметь идентификаторы GlobalID.

Relationship Class

Пример кода

MigrateRelationshipClass, пример 1 (Окно Python)

Следующий скрипт окна Python демонстрирует, как напрямую использовать инструмент MigrateRelationshipClass.

arcpy.MigrateRelationshipClass_management(r'C:\Data\Relationships.gdb\OneToMany')
, пример 2 MigrateRelationshipClass (автономный скрипт)

Данный скрипт показывает пример использования инструмента MigrateRelationshipClass в автономном скрипте.

# Name: MigrateRelationshipClass_Example.py
# Description: Migrate an ObjectID-based relationship class to a GlobalID-based
#       relationship class. This script lists the ObjectID-based relationships classes
#       in a workspace, checks for GlobalIDs in the origin, then runs the tool

# Import system modules
import arcpy

# Set local variables
workspace = r'C:\Data\Relationships.gdb'

# List all of the relationship classes within the given workspace
rc_list = [c.name for c in arcpy.Describe(workspace).children if c.datatype == "RelationshipClass"]

# Build a list of relationship classes which have an OBJECTID based origin class key
rc_migrate = []
for rc in rc_list:
    rc_path = workspace + "\\" + rc
    rc_desc = arcpy.Describe(rc_path)
    for item in rc_desc.OriginClassKeys:
        if "OBJECTID" in item:
            rc_migrate.append(rc_path)

# Check that the origin feature classes have Global Ids
rc_final = []
for rel in rc_migrate:
    originfc = workspace + "\\" + arcpy.Describe(rel).originClassNames[0]
    if arcpy.ListFields(originfc,"","GlobalID"):
        rc_final.append(rel)
        print("Adding {0}  to the list to migrate. \n".format(rel.rsplit("\\",1)[1]))
    else:
        print("{0} must have Global Ids to migrate relationship class.\n".format(originfc.rsplit("\\",1)[1]))

# Pass the list of valid relationship classes into the Migrate Relationship tool
print("Passing valid relationship classes into the Migrate Relationship Class tool.\n")
for rel_class in rc_final:
    print("Migrating {0}... \n".format(rel_class.rsplit("\\",1)[1]))
    arcpy.MigrateRelationshipClass_management(rel_class)
    print(arcpy.GetMessages() + "\n")

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

  • Текущая рабочая область

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

  • ArcGIS Desktop Basic: Нет
  • ArcGIS Desktop Standard: Да
  • ArcGIS Desktop Advanced: Да

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

  • Обзор группы инструментов Классы отношений (Relationship Classes)
  • Свойства RelationshipClass

ArcGIS Desktop

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

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

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