フォルダー | GDBVersions |
目的 | ArcGIS サーバーを介してこれらのツールを使用し、エンタープライズ ジオデータベース内のバージョンをリスト表示、作成、および削除します。 |
サービス | GDBVersions (ジオプロセシング サービス) |
ジオプロセシング タスク | ListVersions、CreateVersion、DeleteVersion |
入力 | エンタープライズ ジオデータベース - 作成または削除するバージョン名 |
出力 | ListVersions は、ジオデータベース内のバージョンのテーブルを出力します。 |
データ | ユーザーは、エンタープライズ ジオデータベースを指定する必要があります。 |
エクステンション | なし |
対応するフォルダー
この例のデータは、ArcGIS.com からダウンロードできます。ダウンロードしたら、その zip ファイルを C:\arcgis\ArcTutor に解凍します。GP Service Examples\GDBVersions フォルダーに、完全なモデルと Python スクリプトが含まれています。
このサンプルについて
この例では、ジオデータベースのバージョンを管理するタスクを含むジオプロセシング サービスを、作成および使用する手順について詳細に示します。このサービスで使用する、ListVersions、CreateVersion、DeleteVersion の各モデル ツールは、[データ管理] ツールボックスの [バージョン] ツールセットに含まれるツールから生成されます。これらのジオプロセシング タスクによって、ジオデータベース内のバージョンのリスト表示、バージョンの新規作成、または既存バージョンの削除を行うことができます。アプリケーションは、これらのツールを使用して、マップ サービスやフィーチャ サービスに関連するバージョン対応の編集ワークフローをサポートできます。アプリケーションの要件によっては、必ずしもすべてのタスクを公開する必要がない場合があります。たとえば、アプリケーションでバージョンの切り替えのサポートのみが必要な場合は、ListVersions タスクのみが必要です。
データ
この例では、ジオプロセシング サービスを介してユーザーに公開するバージョンが存在する、既存のエンタープライズ ジオデータベースが必要です。
モデルとツールのデータ
ジオプロセシング サービスのツールボックスは、[GDBVersions.tbx] です。
モデルの概要
このモデルをよく理解するには、[GDBVersions.tbx] ツールボックスを展開してください。
ListVersions
ListVersions モデル を右クリックして、[編集] を選択し、ModelBuilder でモデルを開きます。ListVersions モデルを以下の図に示します。1 つの入力変数、Enterprise_GDB があります。モデルを実行するときに、使用するエンタープライズ ジオデータベースへの接続を指定する必要があります。
[VersionListToTable] ツールは、[GDBVersions.tbx] でも提供されているスクリプト ツールです。次のようにして、ツールが実行する Python コードを確認できます。VersionListToTable スクリプトを右クリックし、[編集] を選択して、デフォルトの Python IDE で Python コードを開きます。このスクリプトは、出力テーブルを作成し、Enterprise_GDB 接続で指定したユーザーが保有する、パブリック、プロテクト、およびプライベートの各バージョンに関する情報をそのテーブルに取り込みます。 アプリケーションの仕様を満たすバージョンのみを返すように、コードを変更することもできます。
出力テーブルには、各バージョンに関する以下の情報が含まれます。
フィールド | 説明 |
---|---|
name | バージョンの完全修飾名 |
access | バージョンが、パブリック、プライベート、またはプロテクトのいずれであるかを示します。 |
created | バージョンが作成された日付 |
description | バージョンと共に保存されている説明 |
isowner | 接続したユーザーがバージョンを保有しているかどうかを示します。 |
lastmodified | バージョンを最後に変更した日付 |
parentversionname | 親バージョンの名前 |
デフォルトでは、versions というメモリ内テーブルが作成されます。入力ジオデータベースに書き込まれるテーブルを作成するように、モデルを変更することもできます。ListVersions ツールを実行するたびに、以前に作成されたテーブルは削除されて新しいテーブルに置き換えられます。
CreateVersion
CreateVersion モデルを右クリックして、[編集] を選択します。CreateVersion モデルを以下の図に示します。入力変数は、作成する新しいバージョンのバージョン名および Enterprise_GDB の 2 種類です。モデルを実行するときに、使用するエンタープライズ ジオデータベースへの接続を、前に ListVersions モデルに指定したとおりに、Enterprise_GDB パラメーターで指定する必要があります。このモデルを他のモデルと共に公開する予定の場合、必ずそれらと同じエンタープライズ ジオデータベース接続を参照するようにしてください。
CreateVersion ツールは、Enterprise_GDB で参照されるエンタープライズ ジオデータベースに、バージョン名パラメーターで指定された名前を使用して新しいバージョンを作成します。このモデルでは、バージョンは、デフォルトのバージョンからプライベートとして作成されます。これらのパラメーターは、アプリケーションに合わせて変更できます。タスクまたはサービスの実行時に、すでに存在するバージョンを作成しようとした場合、エラーが返されます。
DeleteVersion
DeleteVersion モデル を右クリックして、[編集] を選択し、ModelBuilder でモデルを開きます。DeleteVersion モデルを以下の図に示します。入力変数は、削除するバージョンのバージョン名および Enterprise_GDB の 2 種類です。モデルを実行するときに、エンタープライズ ジオデータベースへの接続を、Enterprise_GDB パラメーターで指定する必要があります。このモデルを他のモデルと共に公開する予定の場合、必ずそれらと同じエンタープライズ ジオデータベース接続を参照するようにしてください。
RemoveVersion ツールは、Enterprise_GDB で参照されるエンタープライズ ジオデータベースから、指定された名前を使用して既存のバージョンを削除します。ツールは、バージョンの削除に成功した場合、True の値を持つ Boolean 変数を出力します。指定される名前は、バージョンの完全修飾名である必要があります。完全修飾名の取得には、ListVersions ツールを使用できます。[RemoveVersion] ツールは、[GDBVersions.tbx] ツールボックスでも提供されているスクリプト ツールです。スクリプト ツールを右クリックして [編集] を選択することで、ツールが実行する Python コードを確認できます。スクリプト ツールは、入力バージョン名を文字列パラメーターで指定して、DeleteVersion ツールを呼び出します。バージョンの削除権限がないか、バージョンが存在しないか、このバージョンに依存する上位バージョンが存在する場合、エラーが返されます。
公開のためのサーバー管理接続の確立
サーバーを公開する権限があることを確認してください。権限がある場合、以下の手順に従って、サーバーへの接続を確立、公開、または管理します。
- [GIS サーバー] > [ArcGIS Server の追加] に移動し、[ArcGIS Serverの追加] ダイアログ ボックスを開きます。
- [GIS サービスを公開する] または [GIS サーバーを管理する] をオンにします。
- [一般] パネルで [サーバー管理 URL] の値を入力し、[ユーザー名] と [パスワード] の値を指定します。
- [完了] をクリックすると、接続が完了します。
サービスの作成
- [カタログ] ウィンドウで、C:\arcgis\ArcTutor\GP Service Examples\GDBVersions に移動します。
モデルを編集する場合があるため、GDBVersions ディレクトリ全体をコピーして、別のローカル ディレクトリに貼り付けておくことをお勧めします。そのディレクトリで、変更することができます。
- 公開するいずれかのモデル ツールをダブルクリックし、そのダイアログ ボックスを開きます。
- [Enterprise_GDB] パラメーターに、エンタープライズ ジオデータベースを設定します。
- [OK] をクリックしてツールを実行します。
ツールの実行が終了すると、新しい結果が [結果] ウィンドウに書き込まれます。[結果] ウィンドウを開くには、ArcMap メイン メニューで [ジオプロセシング] > [結果] の順にクリックします。
- [結果] ウィンドウの結果を調べて、ツールが正常に実行されたことを確認します。実行が失敗した場合、結果の横にエラー アイコン が表示されます。
- 公開するその他のモデル ツールについて、ステップ 1 から 5 までを繰り返します。
ジオプロセシング サービスを作成する手順
ジオプロセシング サービスを作成するには、結果を共有します。
- [結果] ウィンドウで、上記で生成したいずれかの結果を右クリックし、[共有] > [ジオプロセシング サービス] の順に選択します。[サービスとして共有] ウィザードが開きます。
- 公開先のサーバー、およびサービスを保存するフォルダーを選択します。サービスのデフォルトの名前は、ツール名と同じです。デフォルトのサービス名を適用するか、新しい名前を入力することができます。
- [サービスとして共有] ウィザードの最後のパネルで、[続行] をクリックして [サービス エディター] を開きます。
- 別のタスクを追加するには、[結果の追加] ボタンをクリックして、[結果の追加] ダイアログ ボックスを開きます。[結果の追加] ダイアログ ボックスで、上記の別の結果を選択し、[OK] をクリックします。別のタスクを追加するには、ステップ 4 を繰り返します。
- [サービス エディター] の [パラメーター] ページで、サービスをすばやく実行するために、[実行モード] を [同期] に変更します。
ジオプロセシング サービスの使用
次の手順は、前の手順で公開したジオプロセシング サービスを使用する方法を示したものです。
- 新しい ArcMap ドキュメントを開きます。
- [カタログ] ウィンドウで、[GIS サーバー] の下のサーバー接続に移動し、前のセクションで公開したジオプロセシング サービスを見つけて展開します。公開済みのタスクが表示されます。
- [ListVersions] タスクをダブルクリックして、そのタスクのダイアログ ボックスを開きます。
- [OK] をクリックしてジオプロセシング タスクを実行します。
出力が、GPInMemoryWorkspace のテーブルとして返されます。このテーブルを開き、エンタープライズ ジオデータベース内のバージョンのリストを表示できます。
- [CreateVersion] タスクを公開している場合、以下を実行します。
- [CreateVersion] タスクをダブルクリックして、そのタスクのダイアログ ボックスを開きます。
- 作成するバージョンの名前を指定します。
- [OK] をクリックしてジオプロセシング タスクを実行します。
- ステップ 1 ~ 4 を繰り返します。新しいバージョンが新しい出力テーブルに表示されていることに注目してください。
- [DeleteVersion] タスクを公開している場合、以下を実行します。
- [DeleteVersion] タスクをダブルクリックして、そのタスクのダイアログ ボックスを開きます。
- 削除するバージョン (たとえば、上記の手順で作成したバージョン) の完全修飾名を指定します。
- [OK] をクリックしてジオプロセシング タスクを実行します。
- ステップ 1 ~ 4 を繰り返します。バージョンが削除されたために、新しい出力テーブルに表示されないことに注目してください。