Cambiar versión (Administración de datos)

Resumen

Modifica el espacio de trabajo de una capa o vista de tabla para conectarse a una versión específica.

Uso

  • La herramienta solo funciona con capas de entidades o vistas de tablas.

  • Esta herramienta no editará el archivo de conexión de geodatabase corporativa o servicio de entidades utilizados para crear la capa de entidades o vista de tabla de entrada. Solo se cambia el espacio de trabajo abierto de la capa de entidades de entrada, vista de tabla, capa de topología, capa de parcelas, capa de red de servicios o capa de red de trazado de modo que se conecte a la versión especificada.

  • Se admiten las vistas transaccionales e históricas.

Parámetros

EtiquetaExplicaciónTipo de datos
Capa de entrada

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
Tipo de versión

Especifica el tipo de versión al que se conectará la capa de entidades de entrada.

  • Versión tradicionalSe conecta a un estado definido de la base de datos (versión tradicional).
  • Versión históricaSe conecta a una versión que representa un momento definido en el tiempo, a menudo especificado por un marcador histórico o de tiempo.
  • Versión de ramaSe conecta a una versión en rama.
String
Nombre de versión
(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
Fecha y hora
(Opcional)

La fecha de la versión histórica a la que se conectará la capa de entidades de entrada.

Date
Incluir clases participantes del dataset de controlador
(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.

  • Activado: la versión de las clases participantes del dataset de controlador cambiará si son del mismo espacio de trabajo que el dataset de controlador. Esta es la opción predeterminada.
  • Desactivado: solo cambiará la versión del dataset de controlador.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa de salida

El dataset de entrada actualizado.

Feature Layer

arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date}, {include_participating})
NombreExplicaciónTipo 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.

  • TRANSACTIONALSe conecta a un estado definido de la base de datos (versión tradicional).
  • HISTORICALSe conecta a una versión que representa un momento definido en el tiempo, a menudo especificado por un marcador histórico o de tiempo.
  • BRANCHSe 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.

  • INCLUDELa versión de las clases participantes del dataset de controlador cambiará si son del mismo espacio de trabajo que el dataset de controlador.
  • EXCLUDESolo cambiará la versión del dataset de controlador.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_feature_layer

El dataset de entrada actualizado.

Feature Layer

Muestra de código

Ejemplo 1 de ChangeVersion (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función ChangeVersion de modo inmediato.

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','','','')
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.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]))
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")

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: No
  • Standard: Sí
  • Advanced: Sí

Temas relacionados