ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Таблица в класс отношений

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

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

Создает класс атрибутивных отношений из таблицы-источника, таблицы-адресата и таблицы отношения.

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

  • Этот инструмент создает таблицу в базе данных, содержащую выбранные поля атрибутов из таблицы отношений. Эти поля используются для хранения атрибутов отношения, которые не относятся ни к исходному классу, ни к классу назначения. Например, в базе данных участков у вас может быть класс отношений между участками и владельцами, где владельцы «владеют» участками, а участки «принадлежат» владельцам. Доля во владении может храниться как атрибут этого отношения.

  • Простые или равноправные отношения – это отношения между двумя или более объектами в базе данных, которые существует независимо друг от друга. Например, в железнодорожной сети, могут быть железнодорожные стрелки, имеющие один или более связанный с ними семафор. Однако, железнодорожная стрелка может существовать без семафора, а семафоры могут существовать в железнодорожной сети и там, где нет стрелок. Простые отношения могут иметь кардинальность «один к одному», «один ко многим» или «многие ко многим».

  • Сложные отношения – это отношения, в которых существование одного объекта контролирует существования связанных с ним объектов. Например, электрические столбы несут на себе трансформаторы, а трансформаторы установлены на столбах. После удаления столба, сообщение об удалении распространяется и на связанные с ним трансформаторы, которые удаляются из класса трансформаторов. Сложные отношения всегда «один ко многим».

  • Описания прямого и обратного отношения поясняют отношение, связывающее один объект с другим. Описание прямого отношения описывает отношение класса-источника к классу-адресату. В примере столб-трансформатор прямой подписью пути может быть: «Столбы поддерживают трансформаторы». Описание обратного отношения поясняет отношение класса-адресата к классу-источнику. В примере со столбом и трансформатором описание обратного отношения могло бы быть таким: «Трансформаторы устанавливаются на столбах».

  • Классы отношений также могут быть созданы в ArcCatalog. В контекстном меню базы геоданных выберите элемент Создать (New) > Класс отношений (Relationship Class).

  • У параметра Атрибутивные поля (Attribute Fields) кнопка Добавить поле (Add Field) используется только в ModelBuilder. В ModelBuilder, если предыдущий инструмент не был запущен или его производные данные не существуют, параметр Атрибутивные поля (Attribute Fields) не заполняются именами полей. Кнопка Добавить поле (Add Field) позволяет добавлять нужные поля, так что вы можете установить все параметры в диалоговом окне Таблица в класс отношений (Table To Relationship Class) и продолжить построение модели.

Синтаксис

TableToRelationshipClass_management (origin_table, destination_table, out_relationship_class, relationship_type, forward_label, backward_label, message_direction, cardinality, relationship_table, attribute_fields, origin_primary_key, origin_foreign_key, destination_primary_key, destination_foreign_key)
ПараметрОбъяснениеТип данных
origin_table

Таблица или класс пространственных объектов, который будет связан с таблицей-адресатом.

Table View
destination_table

Таблица или класс пространственных объектов, который будет связан с таблицей-источником.

Table View
out_relationship_class

Создаваемый класс отношений.

Relationship Class
relationship_type

Тип отношения, которое должно быть установлено между источником и адресатом.

  • SIMPLE —Отношение, при котором каждый из объектов не зависит от другого (отношение «равный-с-равным»). Это значение используется по умолчанию.
  • COMPOSITE —Отношение, при котором продолжительность существования одного объекта управляет продолжительностью существования связанного с ним объекта (отношение «родитель-потомок»).
String
forward_label

Подпись, определяющая отношение источника к адресату.

String
backward_label

Подпись, определяющая отношение адресата к источнику.

String
message_direction

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

  • Нет —Сообщения не пересылаются. Это значение используется по умолчанию.
  • FORWARD —Сообщения пересылаются от источника к адресату.
  • BACKWARD —Сообщения пересылаются от адресата к источнику.
  • BOTH —Сообщения пересылаются от источника к адресату и от адресата к источнику.
String
cardinality

Кардинальность отношения между источником и адресатом.

  • ONE_TO_ONE —Каждый объект исходной таблицы или класса объектов может быть связан с одним объектом таблицы-адресата или класса объектов адресата или не связан вовсе. Это значение используется по умолчанию.
  • ONE_TO_MANY —Каждый объект исходной таблицы или класса объектов может быть связан с несколькими объектами в таблице-адресате или адресном классе объектов.
  • MANY_TO_MANY —Несколько объектов исходной таблицы или класса объектов могут быть связаны с несколькими объектами в таблице-адресате или адресном классе объектов.
String
relationship_table

Таблица, содержащая атрибуты, которые будут добавлены к классу отношений.

Table View
attribute_fields
[attribute_fields,...]

Поля, содержащие значения, которые будут добавлены к классу отношений.

Field
origin_primary_key

Поле в таблице-источнике, которое будет использоваться для создания отношения. Обычно это поле идентификатора объектов.

String
origin_foreign_key

Имя поля, содержащего внешний ключ в таблице отношения, которое ссылается на поле первичного ключа в классе-источнике.

String
destination_primary_key

Поле в таблице-адресате, которое будет использоваться для создания отношения. Обычно это поле идентификатора объектов.

String
destination_foreign_key

Поле в таблице отношений, которое соответствует полю Первичный ключ (Primary Key) таблицы-адресата.

String

Пример кода

TableToRelationshipClass Пример (окно Python)

На следующем скрипте окна Python демонстрируется, как использовать инструмент Таблица в класс отношений (Table To Relationship Class).

import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.TableToRelationshipClass_management("owners", "Parcels", "ownersParcels_RelClass",
                                          "SIMPLE", "Owns", "Is Owned By", "BACKWARD",
                                          "MANY_TO_MANY", "owners", ["OWNER_PERCENT", "DEED_DATE"],
                                          "OBJECTID", "owner_id", "OBJECTID", "parcel_id")
TableToRelationshipClass Пример (автономный скрипт)

Создание класса отношений с атрибутами между классом объектов участков и таблицей с информацией о владельцах.

# Name: TableToRelationshipClass.py
# Description: Create an attributed relationship class between parcels
#              feature class and table with owner information
# Author: ESRI

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Copy owners.dat to file gdb table, since both tables to be related
# must be in the same database
ownerDat = "owners.dat"
ownerTbl = "Montgomery.gdb/owners"
arcpy.CopyRows_management(ownerDat, ownerTbl)

# Create attributed relationship class between 'parcel' parcel layer
# and 'owner' table with additional parcel owner information
parcel = "Montgomery.gdb/Parcels"
relClass = "Montgomery.gdb/parcelowners_RelClass"
forLabel = "Owns"
backLabel = "Is Owned By"
attributeFields = ["OWNER_PERCENT", "DEED_DATE"]
originPK = "OBJECTID"
originFK = "owner_ID"
destinationPK = "OBJECTID"
destinationFK = "parcel_ID"
arcpy.TableToRelationshipClass_management(ownerTbl, parcel, relClass, "SIMPLE",
                                          forLabel, backLabel, "BACKWARD", "MANY_TO_MANY",
                                          ownerTbl, attributeFields, originPK, originFK,
                                          destinationPK, destinationFK)

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

  • Автоподтверждение
  • Текущая рабочая область

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

  • 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
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация