Создать реплику с сервера (Управление данными)
Резюме
Создает реплику с использованием указанного списка классов пространственных объектов, слоев, наборов классов объектов и/или таблиц из удаленной базы геоданных, используя сервис геоданных, опубликованный на ArcGIS for Server.
Использование
-
Источник должен быть сервисом геоданных, представляющим удаленную базу геоданных ArcSDE. База геоданных назначения может быть локальной или удаленной.
-
Данные, которые вы хотите реплицировать, должны быть версионными, но не с опцией переноса редактирования в базу. Подключенный пользователь базы данных должен иметь права доступа для редактирования данных. Для двусторонних и двух типов односторонних реплик все наборы данных должны содержать столбец GlobalId и иметь пространственную привязку высокой точности.
-
Для реплик открепления и односторонних реплик база геоданных дочерней реплики может быть ArcSDE, файловой или персональной базой геоданных.
-
Для двусторонних и односторонних реплик из дочерней в родительскую базу дочерней базой геоданных должна быть ArcSDE.
-
Чтобы использовать архивирование для односторонних реплик, родительская рабочая область должна быть подключена к версии По умолчанию (Default). Для односторонних реплик из дочерней в родительскую базу дочерняя рабочая область должна быть подключена к версии По умолчанию (Default).
-
По умолчанию для классов пространственных объектов реплицируются все объекты. Фильтр по умолчанию для таблиц - Только схема (Schema Only); только схема для таблицы будет реплицирована. Если вы задали параметр среды Экстент (Extent) или установили слой, определяющий область реплики, он будет применяться как пространственный фильтр, где только те пространственные объекты, которые пересекают экстент или объекты, определяющие область реплики, будут реплицированы. Таблицы также будут включать строки, связанные со строками, которые являются частью реплики.
Область реплики (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_geodataservice |
Сервис геоданных, представляющий базу геоданных, из которой будет создана реплика. Связанная с сервисом геоданных база геоданных должна быть ArcSDE. | GeoDataServer |
datasets dataset_name |
Перечень наборов классов объектов, автономные классы пространственных объектов, таблицы и автономные атрибутивные классы отношений из сервиса геоданных для реплицирования. | String |
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 |
Пример кода
import arcpy
from arcpy import env
env.workspace = "C:/Data/MySDEdata.sde"
arcpy.CreateReplicaFromServer_management("GIS Servers\jerome\RoadMap.GeoDataServer", "Roads", "TWO_WAY_REPLICA", env.workspace, "MajorRoads_replica", "FULL", "CHILD_DATA_SENDER", "USE_DEFAULTS", "DO_NOT_REUSE", "GET_RELATED")
# Name: CreateReplicaFromServer_Example2.py
# Description: Creates a two-way replica from a geodata service
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/MySDEdata.sde"
# Set local variables
gisServer = "GIS Servers/jerome/RoadMap.GeodataServer"
in_datasets = "Roads; Streets"
replica_type = "TWO_WAY_REPLICA"
out_workspace = env.workspace
replica_name = "MajorRoads_replica"
access_type = "FULL"
initial_sender = "CHILD_DATA_SENDER"
expand = "USE_DEFAULTS"
reUse = "DO_NOT_REUSE"
related = "GET_RELATED"
replica_geometry = "LA_County"
archiving = "DO_NOT_USE_ARCHIVING"
# Execute CreateReplicaFromServer
arcpy.CreateReplicaFromServer_management(gisServer, in_datasets, replica_type, out_workspace, replica_name, access_type, initial_sender, expand, reUse, related, replica_geometry, archiving)