Changer de version (Gestion des données)

Synthèse

Modifie l’espace de travail d’une couche ou d’une vue tabulaire afin d’établir la connexion à la version spécifiée.

Utilisation

  • L’outil fonctionne uniquement avec des couches d'entités et des vues tabulaires.

  • Les vues transactionnelles et historiques sont prises en charge.

Paramètres

ÉtiquetteExplicationType de données
Nom de la version
(Facultatif)

Le nom de la version à laquelle se connectera la couche d’entités en entrée. Ce paramètre est facultatif si vous utilisez une version historique.

String
Date et heure
(Facultatif)

La date de la version historique à laquelle se connectera la couche d’entités en entrée.

Date

Sortie obtenue

ÉtiquetteExplicationType de données
Couche en sortie

Jeu de données en entrée mis à jour

Feature Layer

arcpy.management.ChangeVersion({version_name}, {date})
NomExplicationType de données
version_name
(Facultatif)

Le nom de la version à laquelle se connectera la couche d’entités en entrée. Ce paramètre est facultatif si vous utilisez une version historique.

String
date
(Facultatif)

La date de la version historique à laquelle se connectera la couche d’entités en entrée.

Date

Sortie obtenue

NomExplicationType de données
out_feature_layer

Jeu de données en entrée mis à jour

Feature Layer

Exemple de code

Exemple 1 d’utilisation de l’outil ChangeVersion (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction ChangeVersion en mode immédiat.

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','','','')
Exemple 2 d’utilisation de l’outil ChangeVersion (script autonome)

Utilisez la fonction ChangeVersion dans un processus d’analyse versionnée classique.

# 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]))

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Rubriques connexes