ジオプロセシング サービスの例:ジオデータベースのバーションのリスト表示、作成、および削除

複雑性: 初級 データ要件: ArcGIS Tutorial Data for Desktop

フォルダ

GDBVersions

目的

ArcGIS サーバを介してこれらのツールを使用し、エンタープライズ ジオデータベース内のバージョンをリスト表示、作成、および削除します。

サービス

GDBVersions(ジオプロセシング サービス)

ジオプロセシング タスク

ListVersions、CreateVersion、DeleteVersion

入力

エンタープライズ ジオデータベース - 作成または削除するバージョン名

出力

ListVersions は、ジオデータベース内のバージョンのテーブルを出力します。

データ

ユーザは、エンタープライズ ジオデータベースを指定する必要があります。

エクステンション

なし

このサンプルについて

対応するフォルダ

この例のデータは、ArcGIS.com からダウンロードできます。ダウンロードしたら、その zip ファイルを C:\arcgis\ArcTutor\ に解凍します。GP Service Examples\GDBVersions フォルダに、完全なモデルと Python スクリプトが含まれています。

このサンプルについて

この例では、ジオデータベースのバージョンを管理するタスクを含むジオプロセシング サービスを、作成および使用する手順について詳細に示します。このサービスで使用する、ListVersionsCreateVersionDeleteVersion の各モデル ツールは、[データ管理] ツールボックスの[バージョン] ツールセットに含まれるツールから生成されます。これらのジオプロセシング タスクによって、ジオデータベース内のバージョンのリスト表示、バージョンの新規作成、または既存バージョンの削除を行うことができます。アプリケーションは、これらのツールを使用して、マップ サービスやフィーチャ サービスに関連するバージョン対応の編集ワークフローをサポートできます。アプリケーションの要件によっては、必ずしもすべてのタスクを公開する必要がない場合があります。たとえば、アプリケーションでバージョンの切り替えのサポートのみが必要な場合は、ListVersions タスクのみが必要です。

データ

この例では、ジオプロセシング サービスを介してユーザに公開するバージョンが存在する、既存のエンタープライズ ジオデータベースが必要です。

モデルとツールのデータ

このジオプロセシング サービスのツールボックスは、[GDBVersions.tbx] です。

モデルの概要

このモデルをよく理解するには、[GDBVersions.tbx] ツールボックスを展開してください。

ListVersions

ListVersions モデル を右クリックして、[編集] を選択し、ModelBuilder でモデルを開きます。ListVersions モデルを以下の図に示します。1 つの入力変数、Enterprise_GDB があります。モデルを実行するときに、使用するエンタープライズ ジオデータベースへの接続を指定する必要があります。

ListVersions モデルのスクリーン キャプチャ

[VersionListToTable] ツールは、[GDBVersions.tbx] でも提供されているスクリプト ツールです。次のようにして、ツールが実行する Python コードを確認できます。VersionListToTable スクリプトを右クリックし、[編集] を選択して、デフォルトの Python IDE で Python コードを開きます。このスクリプトは、出力テーブルを作成し、Enterprise_GDB 接続で指定したユーザが保有する、パブリック、プロテクト、およびプライベートの各バージョンに関する情報をそのテーブルに取り込みます。

注意注意:

接続でオペレーティング システムの認証を使用している場合、それらのバージョンには、ArcGIS Server を実行するアカウントが保有する、パブリック、プロテクト、およびプライベートの各バージョンも含まれます。通常の ArcGIS のインストールでは、サーバは、インストール時に作成されて構成された ArcGIS のアカウントによって実行されます。

アプリケーションの仕様を満たすバージョンのみを返すように、コードを変更することもできます。

出力テーブルには、各バージョンに関する以下の情報が含まれます。

フィールド

説明

name

バージョンの完全修飾名

access

バージョンが、パブリック、プライベート、またはプロテクトのいずれであるかを示します。

created

バージョンが作成された日付

description

バージョンと共に保存されている説明

isowner

接続したユーザがバージョンを保有しているかどうかを示します。

lastmodified

バージョンを最後に変更した日付

parentversionname

親バージョンの名前

デフォルトでは、versions というメモリ内テーブルが作成されます。入力ジオデータベースに書き込まれるテーブルを作成するように、モデルを変更することもできます。ListVersions ツールを実行するたびに、以前に作成されたテーブルは削除されて新しいテーブルに置き換えられます。

CreateVersion

CreateVersion モデルを右クリックして、[編集] を選択します。CreateVersion モデルを以下の図に示します。入力変数は次の 2 つです。作成する新しいバージョンのバージョン名および Enterprise_GDB です。モデルを実行するときに、使用するエンタープライズ ジオデータベースへの接続を、前に ListVersions モデルに指定したとおりに、Enterprise_GDB パラメータで指定する必要があります。このモデルを他のモデルと共に公開する予定の場合、必ずそれらと同じエンタープライズ ジオデータベース接続を参照するようにしてください。

CreateVersion モデルのスクリーン キャプチャ

CreateVersion ツールは、Enterprise_GDB で参照されるエンタープライズ ジオデータベースに、バージョン名パラメータで指定された名前を使用して新しいバージョンを作成します。このモデルでは、バージョンは、デフォルトのバージョンからプライベートとして作成されます。これらのパラメータは、アプリケーションに合わせて変更できます。タスクまたはサービスの実行時に、すでに存在するバージョンを作成しようとした場合、エラーが返されます。

DeleteVersion

DeleteVersion モデル を右クリックして、[編集] を選択し、ModelBuilder でモデルを開きます。DeleteVersion モデルを以下の図に示します。入力変数は次の 2 つです。削除するバージョンのバージョン名および Enterprise_GDB です。モデルを実行するときに、エンタープライズ ジオデータベースへの接続を、Enterprise_GDB パラメータで指定する必要があります。このモデルを他のモデルと共に公開する予定の場合、必ずそれらと同じエンタープライズ ジオデータベース接続を参照するようにしてください。

DeleteVersion モデルのスクリーン キャプチャ

RemoveVersion ツールは、Enterprise_GDB で参照されるエンタープライズ ジオデータベースから、指定された名前を使用して既存のバージョンを削除します。ツールは、バージョンの削除に成功した場合、True の値を持つ Boolean 変数を出力します。指定される名前は、バージョンの完全修飾名である必要があります。完全修飾名の取得には、ListVersions ツールを使用できます。[RemoveVersion] ツールは、[GDBVersions.tbx] ツールボックスでも提供されているスクリプト ツールです。スクリプト ツールを右クリックして [編集] を選択することで、ツールが実行する Python コードを確認できます。スクリプト ツールは、入力バージョン名を文字列パラメータで指定して、DeleteVersion ツールを呼び出します。バージョンの削除権限がないか、バージョンが存在しないか、このバージョンに依存する上位バージョンが存在する場合、エラーが返されます。

公開のためのサーバ管理接続の確立

サーバを公開する権限があることを確認してください。権限がある場合、以下の手順に従って、サーバへの接続を確立、公開、または管理します。

手順:
  1. [GIS Servers] [ArcGIS for Server の追加] に移動し、[ArcGIS Server サーバの追加] ダイアログ ボックスを開きます。
  2. [GIS サービスを公開する] または [GIS サーバを管理する] をオンにします。
  3. [一般] パネルで [サーバ管理 URL] の値を入力し、[ユーザ名][パスワード] の値を指定します。
  4. [完了] をクリックすると、接続が完了します。

サービスの作成

手順:
    以下に、3 つのタスクを含むサービスを作成する手順を示します。サービスを作成する前に、まずモデルを実行し、タスクごとに結果を作成する必要があります。公開するタスクに対して結果を 1 つ生成するだけでよい場合は、3 つすべてのタスクを含めなくても構いません。
  1. カタログ ウィンドウで、C:\arcgis\ArcTutor\GP Service Examples\GDBVersions に移動します。

    モデルを編集する場合があるため、GDBVersions ディレクトリ全体をコピーして、別のローカル ディレクトリに貼り付けておくことをお勧めします。そのディレクトリで、変更することができます。

  2. 公開するいずれかのモデル ツールをダブルクリックし、そのダイアログ ボックスを開きます。
  3. [Enterprise_GDB] パラメータに、エンタープライズ ジオデータベースを設定します。
  4. CreateVersion ツールまたは DeleteVersion ツールに対しても、生成または削除するバージョンを指定する必要があります。DeleteVersion に対しては、必ず完全修飾バージョン名を指定してください。
  5. [OK] をクリックしてツールを実行します。

    ツールの実行が終了すると、新しい結果が [結果] ウィンドウに書き込まれます。[結果] ウィンドウを開くには、ArcMap メイン メニューで [ジオプロセシング] [結果] の順にクリックします。

  6. [結果] ウィンドウの結果を調べて、ツールが正常に実行されたことを確認します。実行が失敗した場合、結果の横にエラー アイコン エラー が表示されます。
  7. 公開するその他のモデル ツールについて、ステップ 1 から 5 までを繰り返します。

ジオプロセシング サービスを作成する手順

ジオプロセシング サービスを作成するには、結果を共有します。

手順:
  1. [結果] ウィンドウで、上記で生成したいずれかの結果を右クリックし、[共有] [ジオプロセシング サービス] の順に選択します。[サービスとして共有] ウィザードが開きます。
  2. 公開先のサーバ、およびサービスを保存するフォルダを選択します。サービスのデフォルトの名前は、ツール名と同じです。デフォルトのサービス名を適用するか、新しい名前を入力することができます。
  3. [サービスとして共有] ウィザードの最後のパネルで、[続行] をクリックして [サービス エディタ] を開きます。
  4. 別のタスクを追加するには、[結果の追加]結果の追加 ボタンをクリックして、[結果の追加] ダイアログ ボックスを開きます。[結果の追加] ダイアログ ボックスで、上記の別の結果を選択し、[OK] をクリックします。別のタスクを追加するには、ステップ 4 を繰り返します。
  5. これは必須です
  6. [サービス エディタ][パラメータ] ページで、サービスを素早く実行するために、[実行モード][同期] に変更します。
  7. ジオプロセシング サービスについては、残りのデフォルト値を適用します。[公開] ボタン 公開 をクリックして、サービスを公開します。
    [サービス エディタ] を使用してジオプロセシング サービスを公開する方法について詳しくは、「ジオプロセシング サービスの公開の概要」をご参照ください。

ジオプロセシング サービスの使用

次の手順は、前の手順で公開したジオプロセシング サービスを使用する方法を示したものです。

手順:
  1. 新しい ArcMap ドキュメントを開きます。
  2. カタログ ウィンドウで、[GIS サーバ] の下のサーバ接続に移動し、前のセクションで公開したジオプロセシング サービスを見つけて展開します。公開済みのタスクが表示されます。
  3. [ListVersions] タスクをダブルクリックして、そのタスクのダイアログ ボックスを開きます。
  4. [OK] をクリックしてジオプロセシング タスクを実行します。

    出力が、GPInMemoryWorkspace のテーブルとして返されます。このテーブルを開き、エンタープライズ ジオデータベース内のバージョンのリストを表示できます。

  5. [CreateVersion] タスクを公開している場合、以下を実行します。
    1. [CreateVersion] タスクをダブルクリックして、そのタスクのダイアログ ボックスを開きます。
    2. 作成するバージョンの名前を指定します。
    3. [OK] をクリックしてジオプロセシング タスクを実行します。
    4. ステップ 1 から 4 までを繰り返します。新しいバージョンが新しい出力テーブルに表示されていることに注目してください。
  6. [DeleteVersion] タスクを公開している場合、以下を実行します。
    1. [DeleteVersion] タスクをダブルクリックして、そのタスクのダイアログ ボックスを開きます。
    2. 削除するバージョン(たとえば、上記の手順で作成したバージョン)の完全修飾名を指定します。
    3. [OK] をクリックしてジオプロセシング タスクを実行します。
    4. ステップ 1 から 4 までを繰り返します。バージョンが削除されたために、新しい出力テーブルに表示されないことに注目してください。

関連トピック

5/10/2014