Создать реплику (Create Replica) (Управление данными)
Резюме
Создает реплику в персональной, файловой или SDE базе геоданных из указанного перечня классов пространственных объектов, слоев, наборов данных и/или таблиц в базе геоданных ArcSDE.
Использование
-
Все наборы данных должны быть в одной базе данных ArcSDE.
-
Данные, которые вы хотите реплицировать, должны быть версионными, но не с опцией переноса редактирования в базу. Подключенный пользователь базы данных должен иметь права доступа для редактирования данных. Для двусторонних и двух типов односторонних реплик все наборы данных должны содержать столбец GlobalId и иметь пространственную привязку высокой точности.
-
Для реплик открепления и односторонних реплик база геоданных дочерней реплики может быть ArcSDE, файловой или персональной базой геоданных.
-
Для двусторонних и односторонних реплик из дочерней в родительскую базу дочерней базой геоданных должна быть ArcSDE.
-
Чтобы использовать архивирование для односторонних реплик, родительская рабочая область должна быть подключена к версии По умолчанию (Default). Для односторонних реплик из дочерней в родительскую базу дочерняя рабочая область должна быть подключена к версии По умолчанию (Default).
-
В ArcMap определяющий запрос и свойства выборки, установленные на слое или таблице, определяют, какие данные будут реплицированы.
-
Фильтр по умолчанию для таблиц – Только схема (Schema Only); только схема для таблицы будет реплицирована. Чтобы применить фильтр для таблицы, сначала надо создать представление таблицы, устанавливающее нужные фильтры. Затем его можно использовать в качестве входных данных для инструмента Создать реплику (Create Replica). Более подробно см. Создать представление таблицы (Make Table View). Более подробно о фильтрах и репликации см. в разделе Подготовка данных для репликации.
Область реплики (Replica Geometry Features) может использоваться для определения границы реплики. Можно также использовать параметр среды Экстент (Extent) для определения геометрии реплики.
- Если установлен только параметр Геометрия объектов реплик (Replica Geometry Features), то реплицированы будут данные, пересекающие Геометрию объектов реплик (Replica Geometry Features).
- Если установлен только параметр среды Экстент (Extent), то реплицированы будут данные, попадающие в этот экстент.
- Если установлены параметры среды Геометрия объектов реплик (Replica Geometry Features) и Экстент (Extent), то будет использоваться Геометрия объектов реплик (Replica Geometry Features).
- Если не установлены параметры среды Геометрия объектов реплик (Replica Geometry Features) и Экстент (Extent), используется полный экстент данных.
В геометрии объектов реплик могут использоваться точки, линии или полигоны.
Векторный слой, используемый для определения области реплики, может содержать один или несколько пространственных объектов. Если в слое более одного объекта, их геометрия объединяется, и реплицируются только те данные, которые пересекают объединенную геометрию.
Если в геометрии объектов реплики были определены фильтры (например, пространственный фильтр, определяющий запрос или выборка), то для определения геометрии реплики будут использоваться только те объекты, которые соответствуют этим фильтрам. Более подробно см. в разделе Подготовка данных для репликации (Preparing data for replication).
-
Опции параметра Повторное использование схемы (Re-use Schema) доступны только с репликами открепления.
Синтаксис
Параметр | Объяснение | Тип данных |
in_data [in_data,...] |
Данные, которые надо реплицировать. Этот список содержит слои и таблицы, ссылающиеся на версионные, редактируемые данные базы геоданных ArcSDE. | Layer; Table View; Dataset |
in_type |
Вид реплики, которая будет создана.
| String |
out_geodatabase |
Локальная база геоданных или сервис геоданных, которые будут принимать дочернюю реплику. Сервисы геоданных используются для представления удаленных баз геоданных. База геоданных может быть ArcSDE, файловая или персональная. Для двусторонних реплик дочерней базой геоданных должна быть ArcSDE. Для односторонних реплик и реплик открепления, базой геоданных может быть персональная, файловая или ArcSDE. Персональные или файловые базы геоданных должны уже существовать до запуска этого инструмента. | Workspace ; GeoDataServer |
out_name |
Имя, идентифицирующее реплику. | String |
access_type (дополнительно) |
Желаемый тип доступа:
| String |
initial_data_sender (дополнительно) |
Используется репликацией для определения, какая реплика может отправлять изменения в автономном режиме. Если вы работаете в режиме подключения, этот параметр является несущественным. Это гарантирует, что связанная реплика не отправляет обновления, пока изменения в первый раз не будут получены от исходного отправителя данных.
| String |
expand_feature_classes_and_tables (дополнительно) |
Указывает, будете ли вы включать новые классы пространственных объектов или таблицы, например, найденные в геометрических сетях, топологиях или классах отношений.
| String |
reuse_schema (дополнительно) |
Указывает, использовать ли повторно базу геоданных, которая содержит схему данных, которые вы хотите реплицировать. Это сокращает количество времени, требующееся для репликации данных. Эта опция доступна только для реплик открепления.
| String |
get_related_data (дополнительно) |
Указывает, реплицировать ли строки, связанные со строками, которые уже есть в реплике. Например, пространственный объект (f1) внутри фильтра реплики и связанный объект (f2) из другого класса вне фильтра. Пространственный объект f2 включен в реплику, если вы указали получать связанные данные.
| String |
geometry_features (дополнительно) |
Объект, используемый для определения области для репликации. | Feature Layer |
archiving |
Указывает, использовать ли класс архивов для перенесения изменений вместо использования версионных дельта-таблиц. Доступно только для однонаправленных реплик.
| Boolean |
Пример кода
На следующий скрипте окна Python демонстрируется, как использовать функцию Создать реплику (Create Replica) в окне Python.
import arcpy
from arcpy import env
env.workspace = "C:/Data/MySDEdata.sde"
arcpy.CreateReplica_management("roads", "ONE_WAY_REPLICA", "C:\Data\MyTargetGDB.gdb", "MyReplica", "FULL", "PARENT_DATA_SENDER", "USE_DEFAULTS", "DO_NOT_REUSE", "TRUE")
На следующий скрипте окна Python демонстрируется, как использовать функцию Создать реплику (Create Replica) в автономном скрипте Python.
# Name: CreateReplica_Example2.py
# Description: Create a one-way replica of a Feature Dataset to a file geodatabase.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/MySDEdata.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)