フィーチャ サービスのオーサリング
オーサリング プロセスでは、マップ ドキュメントを設定して、サービスによって公開されるデータとシンボルを定義する必要があります。編集を予定している場合は、編集環境の定義も行ってください。
データの定義
マップ ドキュメントに追加するレイヤとテーブルは、サービスによって表示されます。フィーチャ サービス データの要件は次のとおりです。
- すべてのデータは単一の ArcSDE ジオデータベースからのデータである必要があります。
- すべてのデータをジオデータベースに登録する必要があります。
- データの編集を予定している場合、ArcSDE データに対する書き込み権限が必要です。注意:オペレーティング システム認証を使用する場合は、ArcGISSOC ユーザにこれらの権限を与える必要があります。
- バージョン対応データと、バージョン非対応データがサポートされます。ただし、サービスを使って非シンプル タイプ(ネットワーク エッジなど)を編集する予定の場合、バージョン対応が必要です。
ジオメトリック ネットワークやトポロジといった非シンプル タイプの一部であるレイヤはサポートされますが、タイプ自体はサービスによって返されません。たとえば、トポロジの一部であるレイヤを検索することはできますが、トポロジ レイヤ自体は検索できません。
フィーチャ サービスによって、関連データでの検索も実行できます。たとえば、公開されたマップ ドキュメントに、ジオデータベース リレーションシップ クラスを通じて関連付けられたレイヤとテーブルがある場合があります。この場合、フィーチャ サービスによってレイヤで検索を行うことが可能で、実行すると関連レイヤまたはテーブルからオブジェクトが返されます。関連オブジェクトを返す検索をサポートするには、リレーションシップ クラスに関係のあるテーブルとレイヤの両方が、公開されたマップ ドキュメントに含まれている必要がある点に注意してください。関連元および関連先のレイヤまたはテーブルのいずれか一方または両方がマップ ドキュメントに含まれていない場合、フィーチャ サービスはそのリレーションシップを無視します。
編集にフィーチャ サービスを使用する予定の場合、編集するデータのみをマップ ドキュメント(操作レイヤ)に追加することをお勧めします。ベースマップ レイヤなどの編集する必要のないデータは、異なるサービスで公開する必要があります。操作サービスとベースマップ サービスのプランニングについての詳細は、「マップ サービスの計画」をご参照ください。または、ベースマップとして使用できる ArcGIS Online サービスを利用することもできます。オンライン マップおよびサービスをオーバーレイするためのマップの設計に関する詳細は、「ArcGIS Online、Google Maps、および Bing Maps をオーバーレイするためのマップの設計」をご参照ください。
フィーチャ サービスでの編集が制限されているレイヤ タイプもあります。レイヤに Z 値が含まれている場合、デフォルトでは、フィーチャ サービスを使用してフィーチャを編集できません。ただし、フィーチャ サービスを作成した後、フィーチャ サービスのプロパティでこの機能を有効にすれば、Z 値を含むフィーチャをフィーチャ サービスで編集できます。Z 値を持つフィーチャをフィーチャ サービスで編集する方法について詳しくは、「フィーチャ サービスの Z 値フィーチャの編集」をご参照ください。
データに M 値が含まれている場合、それらのフィーチャを削除したり、新しいフィーチャを挿入したり、既存のフィーチャの属性を編集したりできます。ただし、ジオメトリは編集できません。REST エンドポイントおよび SOAP エンドポイントを使用して挿入すると、新しいすべてのフィーチャの M 値が NaN に設定されます。ArcMap のフィーチャ サービスで、ローカルの編集コマンドを使用して M 値を持つフィーチャを編集する場合、すべての編集操作を実行できます。
また、ArcGIS Desktop でフィーチャ サービスを使用して編集する予定の場合(この後の説明をご参照ください)、マップ ドキュメントをオーサリングする際にはフィーチャクラスごとに 1 つのレイヤだけを含めるようにしてください。
マップ ドキュメントの設定
公開したいデータをマップ ドキュメントに追加したら、次のステップはレイヤとテーブルのプロパティの設定です。これらのプロパティは、データがどのように表示されるか、およびクライアントがデータを使って何を実行できるかを定義します。
シンボルの定義
フィーチャ サービスでは、フィーチャを検索する他に、フィーチャのシンボルを取得することもできます。クライアントはこの情報を使用して、サービスに定義されたシンボルを使ってフィーチャを描画することができます。
サービスによって返されるシンボルは、ArcMap ドキュメント(*.mxd)のレイヤのシンボルに基づいています。レイヤごとの各シンボルは、タイプと呼ばれます。たとえば、シンプル レンダラ(1 つのシンボル)を使ってシンボル表示されるレイヤには、1 つのタイプがあります。個別値レンダラが使用されている場合、レンダラの個別値ごとに 1 つのタイプが返されます。
フィーチャ サービスは ArcMap レンダラのサブセットをサポートします。サポートされていないレンダラが使用されている場合、サービスは開始できません。この場合は、サーバ ログを使用して、どのレイヤにサポートされていないレンダラがあるのかを特定できます。
サポートされているレンダリング タイプは次のとおりです。
- シンプル レンダラ
- 個別値レンダラ
- クラス閾値レンダラ
フィーチャ サービスでは多くのシンボル タイプを使用できますが、シンボルがダウングレードされる場合もあります。
ライン レイヤの場合、シンプル ライン シンボルがサポートされています。その他のシンボルが使用されている場合、フィーチャ サービスはそれをシンプル ライン シンボルにダウングレードします。たとえば、マップ ドキュメントにカートグラフィック ライン シンボルを使用した場合、フィーチャ サービス クライアントではシンプル ソリッド ラインとして描画されます。また、ライン シンボルに複数のレイヤがある場合、フィーチャ サービスは最上位レイヤだけを考慮します。
ポリゴン レイヤの場合、シンプル塗りつぶしシンボルとピクチャ塗りつぶしシンボルだけがサポートされます。その他のシンボルが使用されている場合、フィーチャ サービスはそれをシンプル塗りつぶしシンボルにダウングレードします。マルチレイヤ塗りつぶしシンボルの場合、フィーチャ サービスは最上位レイヤだけを考慮します。また、塗りつぶしシンボルのアウトライン シンボルは、上記のライン レイヤの説明と同じレベルでサポートされます。
ポイント レイヤの場合、シンプル マーカー シンボルとピクチャ マーカー シンボルがサポートされます。その他のシンボルが使用されている場合、フィーチャ サービスはそれをピクチャ マーカー シンボルにダウングレードします。マルチレイヤ マーカー シンボルの場合も、レイヤが単一レイヤにマージされるピクチャ マーカー シンボルにダウングレードされます。ハローをマーカー シンボルに設定できるマスク プロパティはサポートされません。
フィーチャ アクセスのあるマップ サービスを開始すると、シンボルが確認されて、必要に応じてダウングレードされます。ダウングレードが必要な場合、どのシンボルがダウングレードされたかを示す警告がサーバ ログに追加されます。
また、カートグラフィック リプレゼンテーションでシンボル表示されたレイヤがマップ ドキュメントにある場合、それらのシンボルはフィーチャ サービスでは利用できず、代わりにデフォルトのシンボルが割り当てられることにも注意してください。
フィーチャ テンプレートの定義
フィーチャ サービスを通じた新しいフィーチャの挿入には、マップ ドキュメントのフィーチャ テンプレートを使用します。テンプレートを使うと、デフォルトで新しいフィーチャをデジタイズして、属性を適切に設定することができます。テンプレートがない場合には、編集セッションの開始時またはサービスの公開時に、デフォルトのテンプレートがタイプごとに作成されます。ArcMap 内で、フィーチャ サービスを通じて新しいテンプレートを作成したり、既存のテンプレートを変更して編集内容をカスタマイズすることもできます。これには、そのタイプのフィーチャを作成するのに使用される、デフォルトの作成ツールの設定が含まれます。テンプレートが作成するフィーチャのタイプに応じた、さまざまなタイプの作成ツールが用意されています。たとえば、ライン テンプレートがある場合は、ライン フィーチャを作成するのに使用できるツールを選択できます。テンプレートに保存されている作成ツールは、フィーチャ サービスを通じて使用できます。例外は「ラインの終点」と呼ばれるポイント ツールで、これはフィーチャ サービスによってサポートされません。テンプレートの詳細については、「フィーチャ テンプレート プロパティの設定」をご参照ください。
マップ ドキュメントが保存されると、テンプレートはマップのレイヤとともに保存されます。マップ ドキュメントが公開されると、フィーチャ サービス クライアントがこれらのテンプレートを利用できるようになります。マップ ドキュメントにレイヤ 、タイプ、およびテンプレートが定義されたら、サービスの公開が可能になります。「フィーチャ サービスの公開」セクションでは、フィーチャ サービスの公開方法について説明しています。
フィールド プロパティ
ArcMap に設定されるフィールド プロパティは、フィーチャ サービスを通じて提供されます。これには、フィールド エイリアス、フィールド表示設定、およびフィールドの読み取り専用プロパティがあります。読み取り専用フィールドには、ObjectID や GlobalID などのシステムで管理されるフィールドや、マップ ドキュメントに読み取り専用として設定されるフィールドが含まれます。更新を適用すると、読み取り専用フィールドに値が設定されていても、フィーチャ サービスはその値を無視します。挿入を適用すると、読み取り専用フィールドと非表示フィールドにはデフォルト値が適用されます(注意: デフォルト値が定義されていない場合は、NULL が適用されます)。
レイヤ説明と著作権情報
マップ ドキュメントに指定されたレイヤ説明とクレジット(著作権)は、フィーチャ サービスの各レイヤにもレイヤ説明と著作権情報として提供されます。
アタッチメント
フィーチャ サービスによって、アタッチメントの検索と編集も実行できます。アタッチメントとは、フィーチャまたはオブジェクトに関連付けられるメディア ファイルです。たとえば、アタッチメントを使うと、野鳥観察に写真やビデオを追加して、観測点をクリックすると表示できるようになります。この機能を使用するには、最初にジオデータベース内のデータセットを、アタッチメントをサポートするように設定する必要があります。詳細については、「フィーチャクラスでのアタッチメントの有効化」をご参照ください。これらのデータセットがマップ ドキュメントに追加され、公開されると、クライアントはフィーチャ サービスを通じてアタッチメントを検索、挿入、および削除することができます。
HTML ポップアップ
フィーチャ サービスは ArcMap での HTML ポップアップ設定もサポートします。HTML ポップアップは、フィーチャに関する HTML 形式の情報を共有するための簡単な方法です。カスタマイズされた HTML を使用して情報を表示できることを除けば、これらは [個別属性] ツールとほぼ同じように動作します。ArcMap での HTML ポップアップの設定方法についての詳細は、「フィーチャ レイヤに関する HTML ポップアップ プロパティの設定」をご参照ください。
時間のサポート
時系列データがサポートされ、フィーチャ サービスを通じて表示することができます。時系列データは時間内の状態を表すデータです。時間の情報は 1 つまたは複数の属性フィールドに格納され、特定の時間や時間間隔のデータを視覚化するために使用できます。時系列データは、レイヤ のプロパティの [時間] タブで時間を有効にすることにより、フィーチャ サービスを通じて表示できます。データセットの時間を有効にする方法については、「データの時間対応化
座標系
フィーチャ サービスは、マップ ドキュメントのレイヤの座標系が異なる場合にも対応できます。フィーチャ サービスの使用時に、必要に応じて座標系の変換が行われます。たとえば、クライアントがレイヤの座標系とは異なる座標系を使ってフィーチャ サービスを通じてフィーチャを挿入する場合、格納される前にレイヤの座標系に変換されます。ジオメトリに関する空間検索でも、正しい結果を返すために、適用される前にレイヤの座標系に変換されます。
必要に応じて、地理(測地)座標変換も使用されます。たとえば、レイヤが NAD27 に格納されて、WGS 1984 の座標系を持つサービスを通じてフィーチャが挿入される場合、フィーチャが格納される前に WGS 1984 から NAD27 への測地座標変換が実行されます。公開前にマップ ドキュメントのデータ フレーム プロパティで変換を設定することにより、変換方法を制御できます。変換方法がマップに定義されていない場合は、デフォルトの変換が実行されます。
ワークフローの例
野鳥観察フィーチャ サービス
次のセクションでは、マップ ドキュメントの設定、データの定義、および野鳥観察フィーチャ サービスを通じて提供されるシンボルの定義を行う方法の例を示します。このフィーチャ サービスでは、野鳥観察コミュニティが野鳥観察の結果をマップ上に直接ポストし、写真、音声ファイル、ビデオ ファイルなどのメディア ファイルを特定の観測点に追加することができます。
データの定義
フィーチャ サービスのオーサリングの最初のステップは、サービスを通じて使用可能なデータの定義です。この例では、ArcSDE ジオデータベースの Bird_Sightings という名前のフィーチャクラスから始めます。このフィーチャクラスにアタッチメントを関連付けるには、アタッチメントを ArcCatalog に追加する必要があります。これには、ArcSDE に接続し、フィーチャクラスを右クリックしてから、[アタッチメント] → [アタッチメントを作成] を選択します。これによって、アタッチメントと、フィーチャクラスをアタッチメント テーブルに関連付けるリレーションシップ クラスを格納するテーブルが作成されます。アタッチメントをフィーチャクラスに追加する方法の詳細については、「フィーチャクラスでのアタッチメントの有効化」をご参照ください。
この例では、このワークフローのためにデータをバージョン対応登録する必要はないため、バージョン対応登録されないままになります。
シンボルの定義
ArcSDE ジオデータベースでデータを設定したら、次のステップはデータの ArcMap への追加とシンボルの定義です。サービスによって返されるシンボルは、ArcMap ドキュメント(*.mxd)のレイヤのシンボルに基づいています。レイヤごとの各シンボルは、タイプと呼ばれます。この例では、野鳥観察レイヤはデフォルトでシンプル レンダラ(1 つのシンボル)でシンボル表示されています。
ここでは、観察のタイプに基づいて野鳥観察レイヤをシンボル表示することにします。これには、個別値レンダラを使用できます。レイヤをレンダリングする方法を変更するには、レイヤを右クリックして [プロパティ] を選択します。[プロパティ] ダイアログ ボックスで [シンボル] タブをクリックし、[カテゴリ] で [個別値] を選択します。次に、レイヤのシンボル表示に使用したいフィールドを選択します。この場合、観察に関する 3 つの固有のタイプ(野鳥観察、巣の観察、希少な鳥の観察)があるため、3 つのタイプ(観察タイプごとに 1 つ)がサービスによって返されます。
レンダラが選択されたので、次のステップでは各観察タイプを表すシンボルを選択します。この例では、鳥のシンボルは Esri のシンボル選択から選択されました。前景および背景には観察のタイプごとに異なる色が設定され、フィーチャ サービス内で簡単に区別できるようになっています。マップ ドキュメントを公開すると、シンボルは PNG グラフィックスに変換され、クライアントに返されます。
シンボルを設定したら、次のステップはフィーチャ サービスを通じて利用できる編集環境の定義です。
編集環境の定義
このフィーチャ サービスの目的は、野鳥愛好家が野鳥観察とそのすべての関連情報をマップに入力できるようにすることです。フィーチャ サービスを通じた編集には、マップ ドキュメントのフィーチャ テンプレートを使用します。テンプレートを作成しない場合には、サービスの公開時にデフォルトのテンプレートがタイプごとに作成されます。ただし、新しいテンプレートを作成したり、既存のテンプレートを変更して編集内容をカスタマイズすることもできます。
この例では、このフィーチャ サービスのテンプレートを作成します。それには、フィーチャクラスを右クリックしてから、[フィーチャの編集] → [フィーチャ テンプレートの整理] を選択します。[レイヤ] でレイヤを選択してから [新規テンプレート] をクリックします。これによって、テンプレートを作成できる [テンプレート] ウィザードが表示されます。野鳥観察のすべてのタイプのテンプレートの作成を選択します。テンプレートを作成したら、追加のテンプレートを作成するためにテンプレートをコピーすることができます。
このフィーチャ サービスに、希少な鳥の観察タイプのテンプレートをもう 1 つ追加したいとします。希少な鳥の観察とは、季節外れの鳥や、絶滅寸前の鳥の観察です。テンプレートのコピーを作成するには、コピーしたいテンプレートを選択してから [コピー] をクリックします。この例では、2 タイプの希少な鳥の観察を表現するように各テンプレートをカスタマイズするために、希少な鳥の観察のテンプレートのコピーを作成しました。テンプレートをカスタマイズするには、[フィーチャ テンプレートの整理] ウィンドウでそのテンプレートをダブルクリックします。これによってテンプレート プロパティが表示され、テンプレートの名前とデフォルトのフィールド値を編集できます。
絶滅寸前の希少な鳥の観察用テンプレートでは、観察タイプは「希少な鳥」に、説明は「絶滅寸前」に設定されています。季節外れの希少な鳥の観察用テンプレートでは、観察タイプは「希少な鳥」に、説明は「季節外れ」に設定されています。
残りの属性も、各テンプレート内で適切なデフォルト値に設定できます。この例では、絶滅寸前の希少な鳥の観察には追跡調査が必要であるため、追跡調査の属性はデフォルトで「はい」に設定することができます。季節外れの希少な鳥の観察には追跡調査は不要であるため、追跡調査の属性は「いいえ」に設定できます。
テンプレートの一部の属性をデフォルト値に設定することにより、エンド ユーザはフィーチャのタイプを選択してデジタイズするだけで済むため、編集作業が単純化されます。レイヤ、タイプ、およびテンプレートをマップ ドキュメントに定義したら、サービスを公開できます。フィーチャ サービスの公開についての詳細は、「フィーチャ サービスの公開」をご参照ください。サービスが公開されると、エンド ユーザは Web クライアントまたは ArcGIS Desktop を介してサービスにアクセスし、検索や編集を行うことができます。