概要
フィーチャ レイヤーまたはテーブル ビューのワークスペースを、指定されたバージョンに接続するために変更します。
使用法
-
このツールは、フィーチャ レイヤーとテーブル ビューのみに有効です。
-
入力フィーチャ レイヤーまたはテーブル ビューを作成するために使用されたエンタープライズ ジオデータベース接続ファイルまたはフィーチャ サービスは、このツールでは編集されません。入力フィーチャ レイヤーまたはテーブル ビューの開いているワークスペースだけが、指定されたバージョンに接続するために変更されます。
-
トランザクション ビューと履歴ビューがサポートされます。
構文
arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date})
パラメーター | 説明 | データ タイプ |
in_features | 指定したバージョンに接続するフィーチャ レイヤーまたはテーブル ビュー。 | Feature Layer; Table View |
version_type | 入力フィーチャ レイヤーの接続先のバージョンのタイプを指定します。
| String |
version_name (オプション) | 入力フィーチャ レイヤーの接続先のバージョンの名前。履歴バージョンを使用する場合は、このパラメーターはオプションです。 | String |
date (オプション) | 入力フィーチャ レイヤーの接続先の履歴バージョンの日付。 | Date |
派生した出力
名前 | 説明 | データ タイプ |
out_feature_layer | 更新された入力データセット。 | フィーチャ レイヤー |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで ChangeVersion 関数を使用する方法を示しています。
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 関数を一般的なバージョン対応の解析ワークフローで使用します。
# 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]))
ChangeVersion 関数を使用し、フィーチャ サービス レイヤーを指定ブランチ バージョンに変更します。
# 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")
環境
このツールは、ジオプロセシング環境を使用しません。
ライセンス情報
- Basic: いいえ
- Standard: はい
- Advanced: はい