Сводка
Изменяет рабочую область слоя или представления таблицы для подключения к указанной версии.
Использование
-
Инструмент работает только с векторными слоями и представлениями таблиц.
-
Файл подключения к многопользовательской базе геоданных, который используется для создания входного векторного слоя или представления таблицы, не будет изменен этим инструментом. При подключении к заданной версии изменяется только открытая рабочая область слоя объектов или представления таблицы.
-
Поддерживаются транзакционные и исторические представления.
Синтаксис
arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date})
Параметр | Объяснение | Тип данных |
in_features | Векторный слой или представление таблицы для подключения к заданной версии. | Feature Layer; Table View |
version_type | Определяет тип версии, к которой выполняется подключение входного векторного слоя.
| String |
version_name (Дополнительный) | Имя версии, к которой выполняется подключение входного векторного слоя. При использовании исторической версии этот параметр необязателен. | String |
date (Дополнительный) | Дата исторической версии, к которой выполняется подключение входного векторного слоя. | Date |
Производные выходные данные
Имя | Объяснение | Тип данных |
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]))
Параметры среды
Этот инструмент не использует параметры среды геообработки
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да