Создать реплику (Управление данными)

Сводка

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

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

  • Все наборы данных должны быть из одной многопользовательской базы геоданных.

  • Данные, которые будут реплицированы, должны быть зарегистрированы как традиционные версионные, но не с опцией переноса редактирования в базу.

  • Пользователь подключенной базы данных должен также иметь права доступа для записи данных.

  • Для двусторонних и двух типов односторонних реплик все наборы данных должны содержать столбец GlobalId.

  • Для реплик открепления и односторонних реплик в качестве базы геоданных дочерней реплики может использоваться многопользовательская или файловая.

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

  • Чтобы использовать архивирование для односторонних реплик, родительская рабочая область должна быть подключена к версии по умолчанию. Для односторонних реплик из дочерней в родительскую базу дочерняя рабочая область должна быть подключена к версии по умолчанию.

  • Вы можете реплицировать все данные в наборах данных или реплицировать подмножества данных. Существует три способа указать поднаборы данных для репликации:

    • Используйте определяющие запросы к данным.
    • Укажите экстент, используя параметр среды Экстент геообработки.
    • Используйте параметр Геометрические объекты.

  • Для таблиц фильтр по умолчанию – Только схема; для таблицы будет реплицирована только схема. Чтобы применить фильтр для таблицы, сначала создайте представление таблицы с нужными фильтрами. Затем используйте его в качестве входных данных для инструмента Создать реплику. Более подробно см. Создать табличное представление. Более подробно о фильтрах и репликации см. в разделе Подготовка данных для репликации.

  • Параметр Область реплики может использоваться для определения границы реплики. Можно также использовать параметр среды Экстент для определения геометрии реплики.

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

  • Объектами геометрии реплики могут быть точки, линии или полигоны.

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

  • Если для геометрии объектов реплики были заданы фильтры (например, выборка или определяющий запрос), то для определения геометрии реплики будут использоваться только те объекты, которые соответствуют этим фильтрам. Более подробно см. в разделе Подготовка данных для репликации.

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

Синтаксис

arcpy.management.CreateReplica(in_data, in_type, out_geodatabase, out_name, {access_type}, {initial_data_sender}, {expand_feature_classes_and_tables}, {reuse_schema}, {get_related_data}, {geometry_features}, {archiving}, {register_existing_data})
ParameterОбъяснениеТип данных
in_data
[in_data,...]

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

Table View; Dataset
in_type

Задайте тип реплики для создания.

  • TWO_WAY_REPLICA Изменения могут отправляться между дочерней и родительской репликами в обоих направлениях.
  • ONE_WAY_REPLICAИзменения можно отправить только из родительской реплики в дочернюю.
  • CHECK_OUTДанные реплицируются, редактируются и помещаются обратно одновременно.
  • ONE_WAY_CHILD_TO_PARENT_REPLICAИзменения можно отправить только из дочерней реплики в родительскую.
String
out_geodatabase

Локальная база геоданных, которая будет принимать дочернюю реплику. Сервисы геоданных используются для представления удаленных баз геоданных. Это может быть многопользовательская или файловая база геоданных. При создании двусторонних реплик, дочерней базой геоданных должна быть многопользовательская. Для односторонних реплик и реплик открепления, базой геоданных может быть файловая или многопользовательская. Файловые базы геоданных должны уже существовать до запуска этого инструмента.

Workspace; GeoDataServer
out_name

Имя, идентифицирующее реплику.

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

Задает тип доступа к реплике.

  • FULLСложные типы (топологии и сети) поддерживаются и данные должны быть версионными. Это значение по умолчанию
  • SIMPLEДанные в дочерней реплике не версионные и должны быть упрощены. Позволяет репликам взаимодействовать. Непростые объекты (например, пространственные объекты сети или топологии) родительской базы геоданных конвертируются в простые объекты (такие как классы объектов точек, линий и полигонов).
String
initial_data_sender
(Дополнительный)

Задает, какая реплика может отправлять изменения в автономном режиме. Если вы работаете в режиме подключения, этот параметр является несущественным. Это гарантирует, что связанная реплика не отправляет обновления, пока изменения в первый раз не будут получены от исходного отправителя данных.

  • CHILD_DATA_SENDERДочерняя реплика является исходным отправителем данных. Это значение по умолчанию
  • PARENT_DATA_SENDERРодительская реплика является исходным отправителем данных.
String
expand_feature_classes_and_tables
(Дополнительный)

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

  • USE_DEFAULTSРасширенные классы пространственных объектов и таблицы, связанные с классами пространственных объектов или таблицами в реплике, будут добавлены. По умолчанию для классов пространственных объектов реплицируются все объекты, пересекающие пространственный фильтр. Если пространственный фильтр не задан, будут включены все объекты. По умолчанию для таблиц используется только репликация схемы. Это значение по умолчанию
  • ADD_WITH_SCHEMA_ONLYБудет добавлена только схема расширенных классов пространственных объектов и таблиц.
  • ALL_ROWSБудут добавлены все строки расширенных классов пространственных объектов и таблиц.
  • DO_NOT_ADDБудут добавлены не расширенные классы пространственных объектов и таблицы.
String
reuse_schema
(Дополнительный)

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

  • DO_NOT_REUSEСхема не будет использоваться повторно. Это значение по умолчанию
  • REUSEСхема будет использоваться.
String
get_related_data
(Дополнительный)

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

  • DO_NOT_GET_RELATEDСвязанные данные не будут реплицироваться.
  • GET_RELATEDСвязанные данные будут реплицироваться. Это значение по умолчанию
String
geometry_features
(Дополнительный)

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

Feature Layer
archiving
(Дополнительный)

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

  • ARCHIVINGАрхивирование будет использоваться для отслеживания изменений.
  • DO_NOT_USE_ARCHIVINGАрхивирование не будет использоваться для отслеживания изменений. Это значение по умолчанию
Boolean
register_existing_data
(Дополнительный)

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

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

Производные выходные данные

NameОбъяснениеТип данных
out_child_geodatabase

Выходная дочерняя база геоданных.

Рабочее пространство
output_replica_name

Имя выходной реплики.

Строковое

Пример кода

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

Пример скрипта окна Python для использования функции CreateReplica с запуском из окна Python.

import arcpy
arcpy.env.workspace = "C:/Data/MyData.sde"
arcpy.CreateReplica_management("roads", "ONE_WAY_REPLICA", 
                               "C:\Data\MyTargetGDB.gdb", "MyReplica", "FULL", 
                               "PARENT_DATA_SENDER", "USE_DEFAULTS", 
                               "DO_NOT_REUSE", "TRUE")
CreateReplica, пример 2 (автономный скрипт)

Следующий автономный скрипт Python демонстрирует использование функции CreateReplica.

# Name: CreateReplica_Example2.py
# Description: Create a one-way replica of a Feature Dataset to a file geodatabase. 
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data/MyData.sde"
# Set local variables
in_data = "Parks" # a feature dataset
replica_type = "ONE_WAY_REPLICA"
output_workspace = "C:\Data\MyTargetGDB.gdb"
replica_name = "MyReplica"
access_type = "FULL"
initial_sender = "PARENT_DATA_SENDER"
expand = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related = "GET_RELATED"
replica_geometry = "LA_County"
archiving = "DO_NOT_USE_ARCHIVING"
# Execute CreateReplica
arcpy.CreateReplica_management(in_data, replica_type, output_workspace, 
                               replica_name, access_type, initial_sender, 
                               expand, reuse_schema, get_related, 
                               replica_geometry, archiving)

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

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

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