Изменить версию (Change Version) (Управление данными)
Резюме
Рабочие области каждого входного слоя объектов или представления таблицы будут настроены таким образом, что они будут подключены к требуемой версии.
Использование
-
Работает только со слоями объектов и представлениями таблиц.
-
Файл подключения ArcSDE, который использовался для создания входного слоя объектов или представления таблицы, не будет изменен этим инструментом. При подключении к заданной версии изменяется только открытая рабочая область слоя объектов/представления таблицы.
-
Поддерживаются транзакционные и исторические представления.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входной слой объектов или представление таблицы для подключения, используя заданную версию. | Feature Layer |
version_type |
Тип версии, которую надо изменить.
| String |
version_name (дополнительно) |
Название версии, которую надо изменить. Опция, если используются исторические версии. | String |
date (дополнительно) |
Дата исторической версии, которую надо изменить. | Date |
Пример кода
На следующем скрипте окна Python показано, как использовать функцию ChangeVersion (Изменить версию) в мгновенном режиме.
import arcpy
from arcpy import env
env.workspace = r'Database 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) в обычном версионном рабочем процессе.
# 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.
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
import sys, os
# Set environments
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.
arcpy.MakeFeatureLayer_management(arcpy.SelectLayerByLocation_management("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'), 'StreamsNearStreets','','','')
print "Streams within 100 Meters of current streets: " + str(arcpy.GetCount_management("StreamsNearStreets"))
# 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.
arcpy.MakeFeatureLayer_management(arcpy.SelectLayerByLocation_management("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'), 'NewStreamsNearStreets','','','')
print "Streams projected to be within 100 Meters of streets after proposed street additions: " + str(arcpy.GetCount_management("NewStreamsNearStreets"))