Cambiar versión (Gestión de datos)
Resumen
Se modificará el espacio de trabajo de cada capa de entidad de entrada o vista de tabla de manera que se conecte a la versión solicitada.
Uso
-
Solo funciona con capas de entidad y vistas de tabla.
-
Esta herramienta no editará el archivo de conexión de ArcSDE que se utiliza para crear la capa de entidad de entrada o la vista de tabla. Solo se cambia el espacio de trabajo abierto de la Capa de entidad/Vista de tabla de manera que se conecte a la versión especificada.
-
Se admiten las vistas transaccionales e históricas.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features |
Capa de entidad o vista de tabla a la que se conectará mediante la versión especificada. | Feature Layer; Table View |
version_type |
Tipo de versión a la que se cambiará.
| String |
version_name (Opcional) |
Nombre de versión a la que se cambiará. Opcional si utiliza versiones históricas. | String |
date (Opcional) |
Fecha de la versión histórica a la que se cambiará. | Date |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función ChangeVersion en el modo inmediato.
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','','','')
Utilice la herramienta ChangeVersion en un flujo de trabajo de análisis versionado típico.
# 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.
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: " + \
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.
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: " + \
str(arcpy.GetCount_management("NewStreamsNearStreets"))