Изменить версию (Управление данными)

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

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

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

  • Инструмент работает только с векторными слоями и представлениями таблиц.

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

  • Поддерживаются транзакционные и исторические представления.

Параметры

ПодписьОписаниеТип данных
Входной слой

Слой или представление таблицы для подключения к заданной версии.

Примечание:

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

Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
Тип версии

Определяет тип версии, к которой выполняется подключение входного векторного слоя.

  • Традиционная версияПодключение к заданному состоянию базы данных (традиционные версии).
  • Историческая версияПодключиться к версии, представляющей определенный момент времени, который часто задается маркером времени или маркером истории.
  • Версия ветвиПодключение к версии ветви.
String
Имя версии
(Дополнительный)

Имя версии, к которой выполняется подключение входного векторного слоя. При использовании исторической версии этот параметр необязателен.

String
Дата и время
(Дополнительный)

Дата исторической версии, к которой выполняется подключение входного векторного слоя.

Date
Включить участвующие классы набора данных контроллера
(Дополнительный)

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

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

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

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

ПодписьОписаниеТип данных
Выходной слой

Обновленный входной набор данных.

Feature Layer

arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date}, {include_participating})
ИмяОписаниеТип данных
in_features

Слой или представление таблицы для подключения к заданной версии.

Примечание:

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

Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
version_type

Определяет тип версии, к которой выполняется подключение входного векторного слоя.

  • TRANSACTIONALПодключение к заданному состоянию базы данных (традиционные версии).
  • HISTORICALПодключиться к версии, представляющей определенный момент времени, который часто задается маркером времени или маркером истории.
  • BRANCHПодключение к версии ветви.
String
version_name
(Дополнительный)

Имя версии, к которой выполняется подключение входного векторного слоя. При использовании исторической версии этот параметр необязателен.

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

Дата исторической версии, к которой выполняется подключение входного векторного слоя.

Date
include_participating
(Дополнительный)

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

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

  • INCLUDEВерсия участвующих классов набора данных контроллера изменится, если они находятся в той же рабочей области, что и набор данных контроллера.
  • EXCLUDEИзменится только версия набора данных контроллера.
Boolean

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

ИмяОписаниеТип данных
out_feature_layer

Обновленный входной набор данных.

Feature Layer

Пример кода

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

В следующем скрипте окна Python показано, как используется функция ChangeVersion в режиме прямого запуска.

import arcpy
from arcpy import env
env.workspace = r'c:\Connections\toolbox.sde'
arcpy.MakeFeatureLayer_management(r'TOOLBOX.Redlands\TOOLBOX.street','RedlandsStreets')
arcpy.MakeFeatureLayer_management(r'TOOLBOX.Redlands\TOOLBOX.streams','RedlandsStreams')
arcpy.MakeFeatureLayer_management(arcpy.SelectLayerByLocation_management("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'),
                                  'StreamsNearStreets','','','')
arcpy.ChangeVersion_management('RedlandsStreets','TRANSACTIONAL', 'TOOLBOX.proposedStreets2k9','')
arcpy.MakeFeatureLayer_management(arcpy.SelectLayerByLocation_management("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'),
                                  'NewStreamsNearStreets','','','')
ChangeVersion, пример 2 (автономный скрипт)

Использует функцию ChangeVersion в обычном рабочем процессе анализа версий.

# Name: ChangeVersion.py
# Description: Use the ChangeVersion tool in a typical versioned analysis workflow.
#              Quick check of additional streams within a pre-determined distance
#              of new proposed street development.

# Import system modules 
import arcpy
import sys
import os

# Set environments
arcpy.env.workspace = sys.path[0] + os.sep + "toolbox.sde"

# Create the layers
arcpy.MakeFeatureLayer_management(r'TOOLBOX.Redlands\TOOLBOX.street','RedlandsStreets')
arcpy.MakeFeatureLayer_management(r'TOOLBOX.Redlands\TOOLBOX.streams','RedlandsStreams')

# Perform analysis on the Default version to determine
# current number of streams within 100 meters of streets.
selection1 = arcpy.SelectLayerByLocation_management("RedlandsStreams",
                                                    "WITHIN_A_DISTANCE",
                                                    "RedlandsStreets",
                                                    "100 Meters",
                                                    "NEW_SELECTION",
                                                    '#')
arcpy.MakeFeatureLayer_management(selection1,'StreamsNearStreets','','','')
print("Streams within 100 Meters of current streets: {}".format(
    arcpy.GetCount_management("StreamsNearStreets")[0]))

# Change to the development version
arcpy.ChangeVersion_management('RedlandsStreets',
                               'TRANSACTIONAL',
                               'TOOLBOX.proposedStreets2k9',
                               '')

# Perform the same analysis on the development version to see the effect of the proposed changes.
selection2 = arcpy.SelectLayerByLocation_management("RedlandsStreams",
                                                   "WITHIN_A_DISTANCE",
                                                   "RedlandsStreets",
                                                   "100 Meters",
                                                   "NEW_SELECTION",
                                                   '#')
arcpy.MakeFeatureLayer_management(selection2,'NewStreamsNearStreets','','','')
print("Streams projected to be within 100 Meters of streets after proposed street additions: {}".format(
    arcpy.GetCount_management("NewStreamsNearStreets")[0]))
ChangeVersion, пример 3 (автономный скрипт)

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

# Name: ChangeVersionBranchVersioning.py
# Description: Use the ChangeVersion tool to change the branch version of a feature service
#              layer that has the version management capability enabled.

# Import system modules 
import arcpy

# Sign into ArcGIS Enterprise
arcpy.SignInToPortal("https://myserver.mydomain.com/portal", 'portaladmin', 'my.password')

# Create a variable for the feature service URL
myFS = "https://myserver.mydomain.com/server/rest/services/BranchVersioningData/FeatureServer/0"

# Create the layers
arcpy.management.MakeFeatureLayer(myFS, 'myFSLayer')

# Change to a branch version named myVersion
arcpy.management.ChangeVersion('myFSLayer', "BRANCH", "portaladmin.myVersion")

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

Этот инструмент не использует параметры среды геообработки

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

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

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