編集タスク
編集タスクは、ArcSDE ジオデータベースのフィーチャおよび属性を Web ベースで編集するためのツール一式を提供します。このタスクを使用するには、アプリケーションから編集したいマップ サービスに ArcGIS Server Local 接続を通じてアクセスすることと、マップ サービスに ArcSDE ジオデータベースのレイヤが少なくとも 1 つ追加されている必要があります。シェープファイル、パーソナル ジオデータベース、およびファイル ジオデータベースのレイヤは編集できませんが、これらのタイプのレイヤがマップ サービスに含まれていてもかまいません。
編集タスクで何が実行できるか
編集タスクをアプリケーションに追加すると、そのアプリケーションのユーザは、データを編集して保存するためのさまざまなツールにアクセスできるようになります。編集タスクには、フィーチャの作成、移動、コピー、分割、マージ、削除のためのツールが含まれています。さらに、フィーチャの頂点を表示し、それらの場所を編集することもできます。アプリケーションで編集タスクを構成する際には、ユーザが編集できるバージョンとレイヤを選択することができます。編集時には、アプリケーションのユーザがスナップ オプションと選択オプションを調整することができます。
Web 環境での編集は、デスクトップでの編集とは少し異なります。サンプルのデータセットを用意して、利用可能なツールやそれらの動作に慣れておくとよいでしょう。たとえば、編集時にスナッピングを有効にした場合、頂点を配置するまで画面上でスナッピングは発生しません。配置された頂点は、適切な頂点、エッジ、または端点にスナップされます。
注意: スナップ許容値を確認するには、[スナップ許容値の円を表示] チェックボックスをオンにし、現在のカーソル位置のスナップ先を確認するには、S キーを押します。
編集タスクに含まれているツールを使用する方法
編集タスクの各ツールに関する詳細なヘルプを表示するには、Web マッピング アプリケーションの右上隅にある [ヘルプ] リンクをクリックします。[データの編集] ページには、編集タスクに含まれているすべてのツールを使用するための図および手順が含まれています。
編集タスクのカスタマイズ
編集タスクはカスタマイズできます。編集タスクにカスタム機能を追加する方法に関するサンプルおよび手順については、開発者ヘルプの「EditorTask コントロール」をご参照ください。
また、Web マッピング アプリケーションのヘルプをカスタマイズして、編集タスクに追加するツールの説明を記述することもできます。データの編集に関するヘルプ ファイルは、C:\Inetpub\wwwroot\<アプリケーション名>\Help\EditorTask.htm にあります。テキスト エディタまたは HTML エディタを使用して、カスタマイズした編集タスクの説明に合わせてこのトピックを編集することができます。
プールされるサービスとプールされないサービスでの編集
編集タスクは、プールされるサービスとプールされないサービスの両方で使用できます。プールされるサービスを使用する場合は、サーバでより多くの同時ユーザをサポートすることができます。これは、ユーザのアプリケーション セッションにおいてユーザごとに固有のサービス インスタンスを作成する必要がないためです。ユーザはプールされるサービス インスタンスを共有することができます。プールされるサービスで編集タスクを実装する前に、次の点に注意してください。
- プールされるサービスの編集は、バージョン未対応のデータでのみ利用可能です。
- プールされるサービスを編集する際、編集内容を元に戻す、またはやり直すことはできません。
- 競合は常に編集セッションを優先して解決されます。これは、フィーチャに最後に実行された編集が、以前に実行された編集を上書きすることを意味します。
バージョン対応データとバージョン未対応データの編集
編集タスクは、バージョン対応データとバージョン未対応データの編集をサポートしています。バージョン対応データを編集タスクで編集するには、プールされないサービスを使用する必要があります。
バージョン未対応データは、プールされるサービスまたはプールされないサービスのどちらでも編集できます。バージョン未対応データを編集する際には、編集内容を元に戻すまたはやり直すことや、自動リコンサイル オプションを調整することはできません。フィーチャに対して最後に保存された編集によって、常に、以前の編集内容が上書きされます。
競合を解決する方法
2 人のユーザが編集タスクを使って同じフィーチャを同時に編集した場合はどうなるでしょうか。編集タスクは、次の 2 つの設定に基づいて、競合(コンフリクト)を自動的にリコンサイルします。
- 競合はオブジェクト(行)によって定義されているか、属性(列)によって定義されているか: 2 人のユーザが同じフィーチャの別々の属性を編集した場合、それは競合と見なされるでしょうか。競合をオブジェクト(行)で定義することを選択した場合、この状態は競合として扱われ、一方のユーザの編集だけが適用可能となります。これに対し、競合を属性(列)で定義することを選択した場合は、両方の編集が適用可能となります。したがって、競合を属性(列)で定義した場合に競合が発生するのは、2 人のユーザが同じ属性を編集したときに限られます。
- 競合の解決ではデータベースを優先するか、編集セッションを優先するか: 2 人のユーザが同じフィーチャを編集していて、一方のユーザが先に編集内容を保存した場合、もう一方のユーザが編集内容を保存したらどうなるでしょうか。競合解決でデータベースを優先することを選択した場合、後から保存された編集内容は適用されません。この設定については「早い者勝ち」と考えることができます。競合解決で編集セッションを優先することを選択した場合は、後から保存した編集内容によって他のユーザの編集内容が上書きされます。編集セッションを優先する競合解決については、「後から来た者勝ち」と考えることができます。
デフォルトでは、競合はデータベースを優先して、オブジェクト(行)によって解決されます。この設定を変更したい場合は、ArcGIS Server Manager で編集タスクの [構成] ボタンをクリックし、[詳細] タブをクリックして自動リコンサイル オプションを設定します。
また、競合している編集を保存するときにユーザにメッセージを送信するかどうかを選択することもできます。メッセージは「この編集セッションの開始後に、ターゲット バージョンが更新されました。ターゲット バージョンの更新内容をこの編集セッションにマージ中に、競合を検出し解決しました。」という内容になります。他のユーザの編集によって変更された内容は、マップを更新すると表示されます。
編集タスクに関する補足情報
次に、編集タスクの振舞いと機能に関して知っておく必要のある情報を示します。
- 編集タスクは、フィーチャと属性の簡単な編集を目的として設計されており、ジオデータベースの振舞いは認識しません。したがって、編集タスクを使ってトポロジやネットワークの整合チェックを行ったり、ArcSDE を管理したり、バージョンを作成したりすることはできません。この種の操作は、Web 編集セッションの前後に ArcGIS Desktop で行うことをお勧めします。
- 編集タスクは、マップ サービス定義(MSD)ファイルから公開されたマップ サービスに使用することはできません。MSD ベースのマップ サービスはマップ表示を最適化するために設計されており、編集に必要な ArcObjects にはアクセスしません。編集タスクで使用するすべてのマップ サービスは、ArcMap ドキュメント(MXD)から公開される必要があります。
- 編集タスクは、アノテーション レイヤ、結合されたフィールド、スタンドアロン テーブル(関連テーブルを含む)では使用できません。
- 編集タスクは、ジオデータベースで作成されたサブタイプとドメインをサポートします。また、編集操作を実行するユーザには、コード値ではなくドメインの説明が表示されます。たとえば、県の区分インフラストラクチャ データベースで Web 編集セッションを実行する場合、Web ADF によって市区町村などの必要なサブタイプを選択してから、住宅地、商業地、工場地帯などの適切なドメインを選択できます。最も重要なのは、コード値の R ではなく、ドメインの説明である Residential(住宅地)が表示されることです。
- 1 つのアプリケーションに含めることができる編集タスクは 1 つだけです。
- 編集タスクでマルチポイント フィーチャを作成することはできません。作成しようとすると、「このジオメトリ タイプはサポートされていません。」というメッセージが表示されます。ただし、編集タスクを使って、既存のマルチポイント フィーチャを移動、コピー、または削除することはできます。また、編集タスクを使って、既存のマルチポイント フィーチャの属性を編集することも可能です。
-
デフォルトでは、編集タスクは [フィーチャの選択] ツールが適用されるたびに新しい選択セットを作成します。この振舞いを実行時に変更して、選択エンベロープが常に現在の選択セットに追加する、現在の選択セットから削除する、またはエンベロープ内で選択されたフィーチャの状態を切り替えるようにします。そのためには、編集タスクで [設定] をクリックし、[フィーチャの設定] パネルを展開して [選択方法] を変更します。
-
個別値レンダラが適用されているレイヤを編集すると、フィーチャを作成するための複数のボタンが表示されます。これらのボタンを使用して、レンダラのベースとなるタイプのフィーチャをすばやく作成することができます。
次に示すように、マップ サービスの敷地フィーチャクラスには個別値レンダラが定義されているため、フィーチャを作成するための複数のボタンが表示されます。
- 編集タスクはレイヤ名の重複をサポートしません。アプリケーションに編集タスクを追加する前に、ソース マップ ドキュメントにおいて編集対象のすべてのレイヤに一意な名前が付いていることを確認してください。
- Web アプリケーションで編集タスクを設定する詳細な手順については、ArcGIS Server ヘルプの「チュートリアル: Web 編集アプリケーションの作成」をご参照ください。