Копирование исходных классов объектов

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

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

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

ПодсказкаПодсказка:

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

Шаги:
  1. Добавьте класс объектов в ArcMap.
  2. Нажмите кнопку Окно Python (Python Window) Python на панели инструментов Стандартные (Standard).
  3. В появившемся окне Python введите arcpy.Describe("<имя слоя>").DSID, указав вместо <имя слоя> имя слоя объектов.

    Например, чтобы узнать идентификатор класса объектов слоя с именем Улицы (Streets), введите arcpy.Describe("Streets").DSID.

  4. Нажмите ENTER.

    Идентификатор класса объектов отобразится под введенной командой.

  5. Во всех связанных таблицах вместо старого идентификатора укажите новый.
9/11/2013