チュートリアル: Web 編集アプリケーションの作成
ArcGIS Server では、コードを一切書かずに、データを編集するための Web アプリケーションを作成することができます。これらのアプリケーションは、ArcGIS Server Manager で作成します。この例では、Manager で Web 編集アプリケーションを作成する方法について説明します。
アプリケーションの作成は、実際には大きなフレームワークの最終ステップです。まず、ArcSDE ジオデータベースを通じてデータを利用できるようにします。この例では、Microsoft SQL Server Express Edition データベースに対応し、ArcGIS Server の Workgroup レベルで利用できる、データベース サーバ(ArcSDE for SQL Server Express)を使用します。ArcSDE を通じてデータを利用できるようにした後は、データからマップを作成し、適切なシンボルで表示する必要があります。このマップ ドキュメントを ArcGIS Server に公開して、Web アプリケーションのユーザが利用できるようにします。最後に、編集タスクを使用して、Web アプリケーションを作成し、構成します。このドキュメントでは、ワークフローを部分ごとに説明していきます。
ArcSDE を通じたデータの提供
このチュートリアルを実行するために特に必要なデータはありません。ポイント、ライン、ポリゴン レイヤが含まれた独自のデータの一部を使用することをお勧めします。このテスト アプリケーションに独自のデータを使用することにより、製品レベルのアプリケーションを作成する準備が整います。
ArcSDE のインストール
Manager で Web 編集アプリケーションを作成するには、データが ArcSDE ジオデータベースに格納されていなければなりません。これは、ArcSDE ジオデータベースが複数のユーザによる同時編集に対応する設計になっているためです。Web アプリケーションではよくある状況です。
ArcSDE にデータがすでに含まれている場合は、次のセクションに進んでもかまいません。データが別の形式になっている場合は、ArcSDE に移動する必要があります。小規模な導入をセットアップする簡単な方法の 1 つは、ArcGIS Server Workgroup に含まれている ArcSDE を使用することです。これには Microsoft SQL Server Express データベースが使用されます。
ArcSDE for SQL Server Express がインストールされていない場合は、まずそれをインストールする必要があります。ArcGIS Server に付属の ArcSDE CD/DVD には、インストールとポスト インストールに役立つインストール ガイドが含まれています。
注意: このチュートリアルに取り組みたいと考えていて、ArcGIS Server Enterprise がインストールされている場合は、おそらく ArcSDE にデータがすでに含まれているはずです。そうでない場合は、このチュートリアルを続行する前に、ArcSDE Enterprise をインストールして、データをそこに移動する必要があります。次の手順は、ArcGIS Server の Workgroup レベルに対するものであり、ArcGIS Server Enterprise には対応していません。ArcSDE Enterprise ジオデータベースの管理については、ArcGIS Desktop ヘルプの「ArcGIS Server Enterprise でライセンスされるジオデータベースの管理」をご参照ください。
ジオデータベースの作成
ArcSDE for SQL Server Express をインストールしたら、次の手順に従ってジオデータベースを作成します。
- ArcCatalog を起動し、[Database Servers] ノードを選択します。データベース サーバとは、SQL Server Express database と ArcSDE for SQL Server Express がインストールされているコンピュータです。ここにジオデータベースを追加して管理します。
-
[データベース サーバを追加] をダブルクリックして、接続先の SQL Server Express インスタンスを入力します。ほとんどの場合は、<データベース サーバ名>\sqlexpress 形式になります。リストにサーバが表示されます。
ヒント: データベース サーバに正常に接続できない場合は、「データベース サーバのトラブルシューティング」をご参照ください。
- ArcGIS の Server Object Container(SOC)アカウントには、データベース サーバからデータを読み取るための権限が必要です。追加したデータベース サーバを右クリックし、[権限] をクリックします。
- [ユーザの追加] をクリックし、SOC アカウントを追加します。
- 次に、新しいジオデータベースを追加することができます。[Database Servers] のリストで、サーバを右クリックして [新規ジオデータベース] をクリックします。
- ジオデータベースの名前を入力し、格納場所と初期サイズを設定します。初期サイズを小さく設定しすぎても心配はいりません。ジオデータベースは SQL Server Express の 10GB の制限に達するまで、必要に応じて拡大します。
- SOC アカウントにはデータベース サーバを使用するための権限はすでにありますが、次はこのジオデータベースに対する SOC アカウントの権限を定義する必要があります。新しいジオデータベースを右クリックし、[管理] → [権限] をクリックします。
-
SOC アカウントをクリックし、[読み取り/書き込み] の権限を指定して、[OK] をクリックします。
ヒント: リストに SOC アカウントが表示されない場合は、ステップ 3 ~ 4 が完了していることを確認してください。
- ArcCatalog を使用して、新しいジオデータベースに追加したい既存のフィーチャクラスをコピーして貼り付けます。
属性ドメインとサブタイプに関する注意点
編集タスクの操作性を向上させ、データ入力エラーを防ぐために、必要に応じてサブタイプと属性ドメインを使用するようにデータセットを構成してください。これにより、データの分類が可能となり、データの編集時に適切な値が入力されるようになります。編集タスクによってサブタイプとドメインが検出され、それらを使用できることもあります。たとえば、消火栓の色を、赤、黄、青のいずれかに制限するドメインがある場合は、編集タスクのドロップダウン リストで選択できる項目がこれら 3 色のいずれかに限定されます。
次の図は、道路フィーチャクラスがドメインを使用するように設定されている編集タスクの一部を示しています。ユーザはドロップダウン リストを使って道路を分類することができます。
これらのドロップダウン リストを編集タスクで利用できるようにしたい場合は、ドメインとサブタイプを作成してジオデータベースを準備する必要があります。この作業は、サービスの公開や Web アプリケーションの作成に先立って行われることがあります。
マップの作成
Web 編集アプリケーションで使用するマップは、編集可能レイヤと編集不可レイヤの両方で構成することができます。次の手順に従って、マップを作成します。
- ArcMap を起動して、新しい空のマップを開きます。
- マップで表示したいレイヤをすべて追加します。ArcSDE ジオデータベースからのレイヤを少なくとも 1 つ追加する必要があります。編集タスクを通じて編集できるのは、ArcSDE ジオデータベースのレイヤだけです。
-
必要なシンボルとレイヤの順序を設定します。
ヒント: レイヤのシンボル表示を一意な値に基づいて設定すると、シンボルはそれぞれ編集タスクに個々のボタンとして表示されます。これにより、ユーザは作成したいタイプのフィーチャをすばやく選択することができます。たとえば、マップの公園レイヤに個別値レンダラが割り当てられている場合、編集タスクは次のようになります。レンダラは公園タイプのフィールドに基づいています。編集タスクには各タイプの敷地を作成するためのボタンが表示されます。青のボタンをクリックすると、学校用の敷地を作成することができます。
- マップ ドキュメントを保存します。
マップ サービスの公開
マップ ドキュメントが完成したら、マップ サービスとして公開することができます。マップ サービスを ArcGIS Server で公開すると、多くのユーザが同時にアクセスできるようになります。
プールするかどうかの選択
サービスをプール モードで提供するかどうかを選択することができます。プールされるサービスを使用すると、編集セッションを使用している間、サービスを他の多くのユーザと共有することになります。対照的に、プールされないサービスを使用すると、編集セッションを使用している間、ユーザにサービスのインスタンスが 1 つ割り当てられます。プールされないサービスでは、他のユーザがサービスを同時に使用する必要がある場合、サーバのリソースを犠牲にして、サービスのインスタンスを別に作成しなければなりません。
Web 経由の編集では、プールされるサービスとプールされないサービスの両方を使用することができます。プールされるサービスで編集を行うと、編集内容が直ちに保存されます。つまり、データをバージョン対応にすることはできないので、編集内容を元に戻すことはできません。ただし、プールされるサービスを使用すると、プールされないサービスを使用する場合よりもはるかに多くの同時編集に対応することができます。
必要な権限の設定
サービスを公開する前に、「リソースをサービスとして公開するための準備」を読み、そのガイドラインに従ってください。これらのガイドラインは、マップのすべてのデータを読み取り、アクセスするための権限がサーバにあることを確認するのに役立ちます。具体的に言うと、SOC アカウントにはマップ ドキュメントとマップ ドキュメント内のすべてのデータに対する読み取り権限が必要です。また、ユーザが編集するデータの書き込み権限も必要です。
サービスの公開
次の手順に従って、編集に使用できるマップ サービスを公開します。
-
ArcGIS Server Manager にログインして、[サービスの管理] をクリックし、マップ、グローブ、その他 GIS リソースをサービスとして公開します。
ヒント: Manager には、サービスを公開するために使用できるウィザードが 2 つあります。ここでは、[GIS リソースの公開] ウィザードを使用します。これはサービスを作成する最も簡単な方法であり、サービスの作成に必要な最低限の情報を要求します。
サービスを作成するもう 1 つの方法は、[新規サービスの追加] ウィザードです。このウィザードは、サービスを完全に手動で公開し、すべてのサービス パラメータの入力を要求します。
- ウィザードの最初のページでは、公開する GIS リソースを指定します。これは、先ほど作成したマップ ドキュメントです。それが共有ディレクトリにある場合は、マップ ドキュメントを選択することができます。共有ディレクトリにない場合は、マップ ドキュメントのパスを慎重に入力します。
- サービスの [名前] を入力します。サービスをフォルダにまとめている場合は、サービスを公開するフォルダを選択します。[次へ] をクリックしてウィザードの 2 ページ目に進みます。
- [マッピング] ケーパビリティがデフォルトで有効になっていることに注目してください。他に利用可能なケーパビリティは、マップ内のレイヤのタイプによって決まります。この例では、デフォルト値をそのまま使用することにし、[次へ] をクリックします。
- ウィザードの最後のページでは、サービスが作成され、URL が割り当てられることを示す説明が表示されます。[完了] をクリックしてサービスを公開し、ウィザードを閉じます。
重要: このウィザードはデフォルトでプールされるサービスを作成しました。バージョン対応の編集を行う必要がある場合、または元に戻す/やり直す機能が必要な場合は、プールされないサービスに変更する必要があります。Manager で [サービス] タブをクリックし、サービスを選択して [編集](鉛筆)アイコンをクリックします。[プール] タブをクリックして、サービスを [プールしない] に変更します。[保存] をクリックします。
Web アプリケーションの作成
マップ サービスを実行した後は、Web 編集アプリケーションを作成することができます。これには、Web マッピング アプリケーションを作成するための Manager のウィザード インタフェースを使用します。このウィザードで行うことのうち、最も重要なのは、表示するアプリケーションのマップの選択(ローカル接続の使用を指定する)と編集タスクの構成です。
次に、Web アプリケーションの作成手順を示します。
- Manager の [アプリケーション] タブをクリックし、[Web アプリケーションの作成] をクリックします。アプリケーションを作成するためのウィザードが表示されます。
- アプリケーションの [名前] を入力します。この名前はアプリケーションの URL に表示されます。必要に応じて、Manager 内で使用する説明を入力し、[次へ] をクリックします。
- 次のページでは、マップで表示するサービスを選択します。先ほど公開した、編集可能レイヤが含まれたマップ サービスを追加する必要があるので、[マップ リソースの追加] をクリックします。
-
[マップリソースの追加] ダイアログ ボックスで、サーバのリストを調べます。サーバ名の後に「ArcGIS Server Local」が表示されているでしょうか。表示されていなければ、[GIS サーバの追加] をクリックし、[ArcGIS Server Local] 接続の追加を選択し、サーバ名を入力して [追加] をクリックします。
注意: 編集を行うためには、ArcGIS Server のローカル接続が必要です。Web アプリケーションはインターネット経由でも利用できますが、編集を行うためには、アプリケーション自体が GIS サーバへのローカル接続を確立する必要があります。
- サーバの追加が完了すると、マップに追加できるサービスのリストが表示されます。先ほど公開したマップ サービスをクリックし、[追加] をクリックします。
- [現在のマップリソース] リストに追加したマップ サービスが表示されています。[次へ] をクリックしてウィザードの次のページに進みます。
-
このページでは、アプリケーションに追加するタスクを選択することができます。ここでは編集タスクを追加したいので、[タスクの追加] をクリックします。[利用可能なタスク] リストから [編集] を選択し、[OK] をクリックします。
-
編集タスクが選択された状態で、[構成] をクリックします。表示されたダイアログ ボックス(タスク コンフィグレータ)では、次の作業を行うことができます。
-
編集可能なレイヤとバージョンの選択
マップ内のすべてのレイヤを編集用に表示したくないことがあります。同様に、ユーザに特定のバージョンだけを編集させたいことがあります。[一般] タブでは、編集可能なレイヤとバージョンを選択することができます。
-
ユーザが実行できる編集タイプの選択
コンフィグレータの [設定] タブでは、フィーチャの追加、属性の編集、またはフィーチャの編集をユーザに許可するかどうかを選択できます。たとえば、ユーザが新しいフィーチャを追加できるようにすると同時に、データベース内の既存のフィーチャを変更できないようにしたいことがあります。
-
選択ルールの設定
フィーチャを編集するためには、まずフィーチャを選択する必要があります。コンフィグレータには、ユーザが選択を行う方法とユーザが一度に選択できるフィーチャの数を指定するためのさまざまなオプションがあります。これらのオプションは、ここで選択することも、各ユーザがそれぞれの方法で設定できるようにタスクを通じて提供することもできます。
-
スナップ ルールの設定
フィーチャを編集するときに、既存のフィーチャと境界線または頂点を共有したいことがあります。スナップは、フィーチャを既存の頂点または境界線の近くに配置した場合に、フィーチャにその頂点または境界線を共有させるための方法です。スナップはデータ品質を維持するために重要な役割を果たし、オーバーシュートやスリバー ポリゴンなどのトポロジ問題を回避するのに役立ちます。
コンフィグレータの [設定] タブでは、スナップできるフィーチャや、どれくらい近い距離をクリックするとスナップを実行できるか(この距離はスナップ許容値と呼ばれます)といった、スナップ ルールを設定することができます。
-
競合解決ルールの設定
2 人のユーザが同じフィーチャを編集し、それぞれの編集内容を保存したらどうなるでしょうか。コンフィグレータの [詳細] タブでは、データベースがこれらの状況に対処するためのルールを設定することができます。競合解決オプションの詳細については、「編集タスク」をご参照ください。
プールされるサービスを編集している場合、競合解決オプションを設定することはできません。バージョン未対応の編集環境では、編集内容が直ちに保存されるからです。2 人のユーザが同じフィーチャを編集する場合は、最後に行われた編集がデータベースに保存されます。
ヒント: マップに編集可能レイヤが含まれていないことを示すメッセージが表示された場合は、先に説明したように、SOC アカウントにジオデータベースへの読み取り/書き込み権限があることを確認してください。マップを編集するためには、ジオデータベースからのレイヤが少なくとも 1 つ含まれている必要があります。
-
編集可能なレイヤとバージョンの選択
- 編集タスクの構成が完了したら、[OK] をクリックしてダイアログ ボックスを閉じ、[次へ] をクリックしてウィザードの次のページに進みます。ローカル接続に関する情報を読み、必要に応じて、ローカル接続を確立するために使用されるアカウントを変更します。
- 編集タスクを設定するために不可欠な部分が完了したので、[次へ] をクリックしてウィザードの残りのページに進むことができます。これらのページでは、アプリケーションの外観をカスタマイズできます。アプリケーションを作成する準備が整ったら、[完了] をクリックします。
Web 編集アプリケーションの使用
新しい Web アプリケーションを表示すると、マップの上部にタスク リストが表示されます。このタスク バーから編集タスクを開くことができます。編集タスクを専用のフローティング パネル内で実行し、画面上でパネルを移動することができます。
アプリケーションには、右上隅の [ヘルプ] リンクをクリックすると表示されるヘルプが組み込まれています。このヘルプには、[編集タスク] ダイアログ ボックスの各ツールを説明するセクションがあります。このヘルプは HTML で作成されているため、必要に応じてカスタマイズすることができます。
Web アプリケーションでの編集方法は、ArcMap での編集方法とは少し異なります。編集タスクを使用するときは、ArcMap では主にクリック&ドラッグを使用する場所で、ポイント&クリックが必要になることがよくあります。また、スナップを実行してもポインタが画面上のスナップ ポイントに移動するとは限りませんが、ポインタがスナップ許容値内に配置されていればスナップが適用されます。
編集ユーザが使用できるサンプル アプリケーションを準備して、Web 編集環境に慣れてもらうとよいでしょう。編集ユーザがバージョン未対応のデータを操作し、元に戻す/やり直し操作が利用できない場合には、これが特に推奨されます。