Changer de version (Gestion des données)

Résumé

Modifie l'espace de travail d’une couche d'entités ou 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.

  • Le fichier de connexion à une géodatabase d'entreprise ou service d’entités utilisé pour créer la couche d'entités ou la vue tabulaire en entrée n'est pas modifié par cet outil. Seul l'espace de travail ouvert de la couche d'entités ou de la vue tabulaire en entrée est modifié afin d'établir la connexion à la version spécifiée.

  • Les vues transactionnelles et historiques sont prises en charge.

Syntaxe

arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date})
ParamètreExplicationType de données
in_features

La couche d'entités ou vue tabulaire qui se connectera à la version spécifiée.

Feature Layer; Table View
version_type

Spécifie à quel type de version se connectera la couche d’entités en entrée.

  • TRANSACTIONALSe connecter à un état défini de la base de données (version traditionnelle).
  • HISTORICALSe connecter à une version représentant un moment défini dans le temps, souvent spécifié par une heure ou un repère chronologique.
  • BRANCHSe connecter à une version de branche.
String
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 dérivée

NomExplicationType de données
out_feature_layer

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

Couche d’entités

Exemple de code

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

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

Utilisez la fonction ChangeVersion pour changer une couche de service d'entités en version de branche nommée.

# 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.MakeFeatureLayer_management(myFS, 'myFSLayer')

# Change to a branch version named myVersion
arcpy.ChangeVersion_management('myFSLayer', "BRANCH", "portaladmin.myVersion")

Environnements

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

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes