Skip To Content

Version ändern

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})
ParameterErklärungDatentyp
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.

  • TRANSACTIONALStellt eine Verbindung mit einem definierten Zustand der Datenbank her.
  • HISTORICALStellt eine Verbindung mit einer Version her, die einen definierten Zeitpunkt darstellt, der häufig durch einen Zeit- oder historischen Marker festgelegt wird.
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

NameErklärungDatentyp
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

Verwandte Themen