arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date}, {include_participating})
|
Nombre
|
Explicación
|
Tipo de datos
|
|
in_features
|
La capa o vista de tabla que se conectará a la versión especificada.
Nota:
Las subcapas de una capa de topología, capa de parcela, capa de red de servicios o capa de red de trazado no son entradas válidas.
|
Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
|
|
version_type
|
Especifica el tipo de versión al que se conectará la capa de entidades de entrada.
TRANSACTIONAL—Se conecta a un estado definido de la base de datos (versión tradicional).
HISTORICAL—Se conecta a una versión que representa un momento definido en el tiempo, a menudo especificado por un marcador histórico o de tiempo.
BRANCH—Se conecta a una versión en rama.
|
String
|
|
version_name
(Opcional)
|
El nombre de la versión a la que se conectará la capa de entidades de entrada. Este parámetro es opcional si utiliza una versión histórica.
|
String
|
|
date
(Opcional)
|
La fecha de la versión histórica a la que se conectará la capa de entidades de entrada.
|
Date
|
|
include_participating
(Opcional)
|
Especifica si el espacio de trabajo de las clases participantes también cambiará.
El parámetro solo se aplica si la capa de entrada es una capa de topología, una capa de parcela, una capa de red de servicios o una capa de red de trazado.
INCLUDE—La versión de las clases participantes del dataset de controlador cambiará si son del mismo espacio de trabajo que el dataset de controlador.
EXCLUDE—Solo cambiará la versión del dataset de controlador.
|
Boolean
|
Salida derivada
|
Nombre
|
Explicación
|
Tipo de datos
|
|
out_feature_layer
|
El dataset de entrada actualizado.
|
Feature Layer
|
Muestra de código
Ejemplo 1 de "ChangeVersion" (ventana de Python)
El siguiente script de la ventana de Python demuestra cómo utilizar la función ChangeVersion en modo inmediato.
import arcpy
arcpy.env.workspace = r'c:\Connections\toolbox.sde'
arcpy.management.MakeFeatureLayer(r'TOOLBOX.Redlands\TOOLBOX.street','RedlandsStreets')
arcpy.management.MakeFeatureLayer(r'TOOLBOX.Redlands\TOOLBOX.streams','RedlandsStreams')
arcpy.management.MakeFeatureLayer(arcpy.management.SelectLayerByLocation("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'),
'StreamsNearStreets','','','')
arcpy.management.ChangeVersion('RedlandsStreets','TRANSACTIONAL', 'TOOLBOX.proposedStreets2k9','')
arcpy.management.MakeFeatureLayer(arcpy.management.SelectLayerByLocation("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'),
'NewStreamsNearStreets','','','')
Ejemplo 2 de "ChangeVersion" (script independiente)
Utilice la función ChangeVersion de 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.
# 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.management.MakeFeatureLayer(r'TOOLBOX.Redlands\TOOLBOX.street','RedlandsStreets')
arcpy.management.MakeFeatureLayer(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.management.SelectLayerByLocation("RedlandsStreams",
"WITHIN_A_DISTANCE",
"RedlandsStreets",
"100 Meters",
"NEW_SELECTION",
'#')
arcpy.management.MakeFeatureLayer(selection1,'StreamsNearStreets','','','')
print("Streams within 100 Meters of current streets: {}".format(
arcpy.management.GetCount("StreamsNearStreets")[0]))
# Change to the development version
arcpy.management.ChangeVersion('RedlandsStreets',
'TRANSACTIONAL',
'TOOLBOX.proposedStreets2k9',
'')
# Perform the same analysis on the development version to see the effect of the proposed changes.
selection2 = arcpy.management.SelectLayerByLocatio("RedlandsStreams",
"WITHIN_A_DISTANCE",
"RedlandsStreets",
"100 Meters",
"NEW_SELECTION",
'#')
arcpy.management.MakeFeatureLayer(selection2,'NewStreamsNearStreets','','','')
print("Streams projected to be within 100 Meters of streets after proposed street additions: {}".format(
arcpy.management.GetCount("NewStreamsNearStreets")[0]))
Ejemplo 3 de "ChangeVersion" (script independiente)
Utilice la función ChangeVersion para cambiar una capa de servicio de entidades a una versión en rama nominal.
# 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")