接続バージョンの変更 (Change Version) (データ管理)

サマリー

レイヤーまたはテーブル ビューのワークスペースを、指定されたバージョンに接続するために変更します。

使用法

  • このツールは、フィーチャ レイヤーとテーブル ビューのみに有効です。

  • 入力フィーチャ レイヤーまたはテーブル ビューを作成するために使用されたエンタープライズ ジオデータベース接続ファイルまたはフィーチャ サービスは、このツールでは編集されません。 入力フィーチャ レイヤー、テーブル ビュー、トポロジー レイヤー、パーセル レイヤー、ユーティリティ ネットワーク レイヤー、またはトレース ネットワーク レイヤーのオープンなワークスペースだけが変更されて指定したバージョンに接続されます。

  • トランザクション ビューと履歴ビューがサポートされます。

パラメーター

ラベル説明データ タイプ
入力レイヤー

指定したバージョンに接続するレイヤーまたはテーブル ビュー。

注意:

トポロジー レイヤー、パーセル レイヤー、ユーティリティ ネットワーク レイヤー、トレース ネットワーク レイヤーの各サブレイヤーは有効な入力ではありません。

Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
バージョン タイプ

入力フィーチャ レイヤーの接続先のバージョンのタイプを指定します。

  • トラディショナル バージョンデータベースの特定の状態に接続します (トラディショナル バージョン)。
  • 履歴バージョン時間における特定の時点を表すバージョンに接続します。多くの場合は時刻または履歴マーカーで指定します。
  • 分岐バージョンブランチ バージョンに接続します。
String
バージョン名
(オプション)

入力フィーチャ レイヤーの接続先のバージョンの名前。 履歴バージョンを使用する場合は、このパラメーターはオプションです。

String
日時
(オプション)

入力フィーチャ レイヤーの接続先の履歴バージョンの日付。

Date
コントローラー データセットに属しているクラスを含む
(オプション)

参加対象クラスのワークスペースも変更するかどうかを指定します。

入力レイヤーがトポロジー レイヤー、パーセル レイヤー、ユーティリティ ネットワーク レイヤー、またはトレース ネットワーク レイヤーの場合のみ、このパラメーターが適用されます。

  • オン - コントローラー データセットのワークスペースからのものと同じ場合に、コントローラー データセットの参加対象クラスのバージョンが変更されます。 これがデフォルトです。
  • オフ - コントローラー データセットのバージョンだけが変更されます。
Boolean

派生した出力

ラベル説明データ タイプ
出力レイヤー

更新された入力データセット。

Feature Layer

arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date}, {include_participating})
名前説明データ タイプ
in_features

指定したバージョンに接続するレイヤーまたはテーブル ビュー。

注意:

トポロジー レイヤー、パーセル レイヤー、ユーティリティ ネットワーク レイヤー、トレース ネットワーク レイヤーの各サブレイヤーは有効な入力ではありません。

Feature Layer; Table View; Topology Layer; Parcel Layer; Utility Network Layer; Trace Network Layer
version_type

入力フィーチャ レイヤーの接続先のバージョンのタイプを指定します。

  • TRANSACTIONALデータベースの特定の状態に接続します (トラディショナル バージョン)。
  • HISTORICAL時間における特定の時点を表すバージョンに接続します。多くの場合は時刻または履歴マーカーで指定します。
  • BRANCHブランチ バージョンに接続します。
String
version_name
(オプション)

入力フィーチャ レイヤーの接続先のバージョンの名前。 履歴バージョンを使用する場合は、このパラメーターはオプションです。

String
date
(オプション)

入力フィーチャ レイヤーの接続先の履歴バージョンの日付。

Date
include_participating
(オプション)

参加対象クラスのワークスペースも変更するかどうかを指定します。

入力レイヤーがトポロジー レイヤー、パーセル レイヤー、ユーティリティ ネットワーク レイヤー、またはトレース ネットワーク レイヤーの場合のみ、このパラメーターが適用されます。

  • INCLUDEコントローラー データセットのワークスペースからのものと同じ場合に、コントローラー データセットの参加対象クラスのバージョンが変更されます。
  • EXCLUDEコントローラー データセットのバージョンだけが変更されます。
Boolean

派生した出力

名前説明データ タイプ
out_feature_layer

更新された入力データセット。

Feature Layer

コードのサンプル

ChangeVersion (接続バージョンの変更) の例 1 (Python ウィンドウ)

次の 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 (接続バージョンの変更) の例 2 (スタンドアロン スクリプト)

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 (接続バージョンの変更) の例 3 (スタンドアロン スクリプト)

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

# Change to a branch version named myVersion
arcpy.management.ChangeVersion('myFSLayer', "BRANCH", "portaladmin.myVersion")

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック