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.

  • Le fichier de connexion à une géodatabase d’entreprise ou un service d’entités qui est utilisé pour créer la couche d’entités ou la vue tabulaire en entrée n’est pas mis à jour par cet outil. Seul l’espace de travail ouvert de la couche d’entités, vue tabulaire, couche de topologie, couche de parcelle, couche de réseau de distribution ou couche de réseau de traces en entrée est modifié afin d’établir la connexion à la version spécifiée.

  • Les vues transactionnelles et historiques sont prises en charge.

Paramètres

ÉtiquetteExplicationType de données
Couche en entrée

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

Remarque :

Les sous-couches d’une couche de topologie, couche de parcelle, couche de réseau de distribution ou couche de réseau de traces ne sont pas des entrées valides.

Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
Type de version

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

  • Version traditionnelleSe connecter à un état défini de la base de données (version traditionnelle).
  • Version historiqueSe connecter à une version représentant un moment défini dans le temps, souvent spécifié par une heure ou un repère chronologique.
  • Version de brancheSe connecter à une version de branche.
String
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
Inclure les classes faisant partie du jeu de données de contrôleur
(Facultatif)

Spécifie si l’espace de travail des classes participantes change également.

Le paramètre ne s’applique que si la couche en entrée est une couche de topologie, une couche de parcelle, une couche de réseau de distribution ou une couche de réseau de traces.

  • Activé : la version des classes faisant partie du jeu de données de contrôleur change si les classes proviennent du même espace de travail du jeu de données de contrôleur. Il s’agit de l’option par défaut.
  • Désactivé : seule la version du jeu de données de contrôleur change.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Couche en sortie

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

Feature Layer

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

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

Remarque :

Les sous-couches d’une couche de topologie, couche de parcelle, couche de réseau de distribution ou couche de réseau de traces ne sont pas des entrées valides.

Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
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
include_participating
(Facultatif)

Spécifie si l’espace de travail des classes participantes change également.

Le paramètre ne s’applique que si la couche en entrée est une couche de topologie, une couche de parcelle, une couche de réseau de distribution ou une couche de réseau de traces.

  • INCLUDELa version des classes faisant partie du jeu de données de contrôleur change si les classes proviennent du même espace de travail du jeu de données de contrôleur.
  • EXCLUDESeule la version du jeu de données de contrôleur change.
Boolean

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]))
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.management.MakeFeatureLayer(myFS, 'myFSLayer')

# Change to a branch version named myVersion
arcpy.management.ChangeVersion('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