arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date}, {include_participating})
|
Name
|
Erläuterung
|
Datentyp
|
|
in_features
|
Der/die mit der angegebenen Version zu verbindende Layer/Tabellensicht.
Hinweis:
Die Sublayer eines Topologie-Layers, Flurstück-Layers, Versorgungsnetz-Layers oder Verfolgungsnetz-Layers sind keine gültigen Eingaben.
|
Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
|
|
version_type
|
Gibt den Typ der Version an, mit der der Eingabe-Feature-Layer verbunden werden soll.
TRANSACTIONAL—Stellt eine Verbindung mit einem definierten Zustand der Datenbank her (traditionelle Version).
HISTORICAL—Stellt eine Verbindung mit einer Version her, die einen definierten Zeitpunkt darstellt, der häufig durch einen Zeit- oder historischen Marker festgelegt wird.
BRANCH—Stellt eine Verbindung mit einer Verzweigungsversion her.
|
String
|
|
version_name
(Optional)
|
Der Name der Version, mit der der Eingabe-Feature-Layer verbunden werden soll. Dieser Parameter ist optional, wenn Sie eine historische Version verwenden.
|
String
|
|
date
(Optional)
|
Das Datum der historischen Version, mit der der Eingabe-Feature-Layer verbunden werden soll.
|
Date
|
|
include_participating
(Optional)
|
Gibt an, ob sich auch der Workspace beteiligter Feature-Classes ändert.
Der Parameter kann nur verwendet werden, wenn der Eingabe-Layer ein Topologie-Layer, Flurstück-Layer, Versorgungsnetz-Layer oder Verfolgungsnetzwerk-Layer ist.
INCLUDE—Die Version der beteiligten Feature-Classes des Controller-Datasets ändert sich, wenn diese aus demselben Workspace stammen wie das Controller-Dataset.
EXCLUDE—Nur die Version des Controller-Datasets ändert sich.
|
Boolean
|
Abgeleitete Ausgabe
|
Name
|
Erläuterung
|
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 Direkt-Modus verwendet wird.
import arcpy
arcpy.env.workspace = r'c:\Connections\toolbox.sde'
arcpy.management.MakeFeatureLayer(r'TOOLBOX.Redlands\TOOLBOX.street','RedlandsStreets')
arcpy.management.MakeFeatureLayer(r'TOOLBOX.Redlands\TOOLBOX.streams','RedlandsStreams')
arcpy.management.MakeFeatureLayer(arcpy.management.SelectLayerByLocation("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'),
'StreamsNearStreets','','','')
arcpy.management.ChangeVersion('RedlandsStreets','TRANSACTIONAL', 'TOOLBOX.proposedStreets2k9','')
arcpy.management.MakeFeatureLayer(arcpy.management.SelectLayerByLocation("RedlandsStreams","WITHIN_A_DISTANCE","RedlandsStreets","100 Meters","NEW_SELECTION",'#'),
'NewStreamsNearStreets','','','')
ChangeVersion: Beispiel 2 (eigenständiges Skript)
Verwenden Sie die Funktion 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.management.MakeFeatureLayer(r'TOOLBOX.Redlands\TOOLBOX.street','RedlandsStreets')
arcpy.management.MakeFeatureLayer(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.management.SelectLayerByLocation("RedlandsStreams",
"WITHIN_A_DISTANCE",
"RedlandsStreets",
"100 Meters",
"NEW_SELECTION",
'#')
arcpy.management.MakeFeatureLayer(selection1,'StreamsNearStreets','','','')
print("Streams within 100 Meters of current streets: {}".format(
arcpy.management.GetCount("StreamsNearStreets")[0]))
# Change to the development version
arcpy.management.ChangeVersion('RedlandsStreets',
'TRANSACTIONAL',
'TOOLBOX.proposedStreets2k9',
'')
# Perform the same analysis on the development version to see the effect of the proposed changes.
selection2 = arcpy.management.SelectLayerByLocatio("RedlandsStreams",
"WITHIN_A_DISTANCE",
"RedlandsStreets",
"100 Meters",
"NEW_SELECTION",
'#')
arcpy.management.MakeFeatureLayer(selection2,'NewStreamsNearStreets','','','')
print("Streams projected to be within 100 Meters of streets after proposed street additions: {}".format(
arcpy.management.GetCount("NewStreamsNearStreets")[0]))
ChangeVersion: Beispiel 3 (eigenständiges Skript)
Verwenden Sie die Funktion ChangeVersion, um einen Feature-Service-Layer in eine benannte Verzweigungsversion zu ändern.
# 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")