Zusammenfassung
Der Workspace für jeden Eingabe-Layer bzw. jede Tabellensicht wird geändert, um eine Verbindung mit der angeforderten Version herzustellen.
Verwendung
-         Kann nur für Feature-Layer und Tabellensichten verwendet werden. 
-         Die zum Erstellen der Eingabe-Feature-Layer oder Tabellensicht verwendete Enterprise-Geodatabase-Verbindungsdatei wird von diesem Werkzeug nicht bearbeitet. Es wird lediglich der geöffnete Eingabe-Feature-Layer bzw. die geöffnete Tabellensicht geändert, um eine Verbindung mit der angegebenen Version herzustellen. 
-         Transaktions- und historische Sichten werden unterstützt. 
Syntax
ChangeVersion(in_features, version_type, {version_name}, {date})| Parameter | Erklärung | Datentyp | 
| in_features | Der/die mit der angegebenen Version zu verbindende Feature-Layer/Tabellensicht. | Feature Layer; Table View | 
| version_type | Der Versionstyp, zu dem gewechselt werden soll. 
 | String | 
| version_name (optional) | Name der Version, zu der gewechselt werden soll. Optional bei Verwendung von historischen Versionen. | String | 
| date (optional) | Datum der historischen Version, zu der gewechselt werden soll. | Date | 
Abgeleitete Ausgabe
| Name | Erklärung | Datentyp | 
| out_feature_layer | Das aktualisierte Eingabe-Dataset. | Feature-Layer | 
Codebeispiel
ChangeVersion – Beispiel 1 (Python-Fenster)
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion ChangeVersion im unmittelbaren Modus verwendet wird.
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','','','')
ChangeVersion – Beispiel 2 (eigenständiges Skript)
Verwenden Sie das Werkzeug ChangeVersion in einem versionierten Standard-Analyse-Workflow.
# 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]))
Umgebungen
Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja