Changer de version (Gestion des données)
Récapitulatif
Chaque couche d'entités ou vue tabulaire en entrée aura son espace de travail modifié pour se connecter à la version demandée.
Utilisation
-
Cet outil fonctionne uniquement avec des couches d'entités ou des vues tabulaires.
-
Le fichier de connexion ArcSDE utilisé pour créer la couche d'entités ou la vue tabulaire en entrée ne sera pas modifié par cet outil. Seul l'espace de travail ouvert de la couche d'entités/vue tabulaire est modifié pour se connecter à la version spécifiée.
-
Les vues transactionnelles et historiques sont pris en charge.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Couche d'entités ou vue tabulaire en entrée à connecter pour utiliser la version spécifiée. | Feature Layer |
version_type |
Type de version vers laquelle passer.
| String |
version_name (Facultatif) |
Nom de la version vers laquelle passer. Facultatif en cas d'utilisation de versions historiques. | String |
date (Facultatif) |
Date de la version historique à laquelle passer. | Date |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction ChangeVersion en mode immédiat.
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','','','')
Utilisation de l'outil ChangeVersion dans un workflow d'analyse versionné typique.
# 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.
arcpy.MakeFeatureLayer_management(arcpy.SelectLayerByLocation_management("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'), '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.
arcpy.MakeFeatureLayer_management(arcpy.SelectLayerByLocation_management("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'), 'NewStreamsNearStreets','','','')
print "Streams projected to be within 100 Meters of streets after proposed street additions: " + str(arcpy.GetCount_management("NewStreamsNearStreets"))