Summary
Modifies the workspace of a layer or table view to connect to the specified version.
Usage
-
The tool only works with feature layers and table views.
-
The enterprise geodatabase connection file that is used to create the input feature layer or table view will not be edited by this tool. Only the open workspace of the input feature layer or table view is changed to connect to the specified version.
-
Transactional and historical views are supported.
Syntax
arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date})
Parameter | Explanation | Data Type |
in_features | The feature layer or table view that will connect to the specified version. | Feature Layer; Table View |
version_type | Specifies the type of version to which the input feature layer will connect.
| String |
version_name (Optional) | The name of the version to which the input feature layer will connect. This parameter is optional if you're using a historical version. | String |
date (Optional) | The date of the historical version to which the input feature layer will connect. | Date |
Derived Output
Name | Explanation | Data Type |
out_feature_layer | The updated input dataset. | Feature Layer |
Code sample
ChangeVersion example 1 (Python window)
The following Python window script demonstrates how to use the ChangeVersion function in immediate mode.
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 example 2 (stand-alone script)
Use the ChangeVersion function in a typical versioned analysis workflow.
# 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]))
Environments
This tool does not use any geoprocessing environments.
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes