Web フィーチャ レイヤーの使用

Web フィーチャ レイヤー (フィーチャ サービスとも呼ばれます) は、Web 上のデータの表示、検索、および編集をサポートするために共有されるレイヤーです。 AllSource はサービス エディターとして、サポートされるデータベースのさまざまなジオデータベース データセットおよび機能をサポートしています。 次のセクションでは、AllSource で Web からフィーチャ レイヤーを操作する場合の一般的なタスクを示します。

共有プロセスの詳細については、「Web フィーチャ レイヤーの共有」をご参照ください。

Web フィーチャ レイヤーの情報モデル

AllSource では、Web フィーチャ レイヤーは、次のジオデータベース機能をサポートしています。

  • シンプル ジオメトリ - ポイント、ライン、ポリゴン
  • リレーションシップ クラス
  • アタッチメント
  • ドメイン
  • サブタイプ
  • マルチパッチ
  • マルチポイント

登録済みデータ ストアのデータを参照する ArcGIS Enterprise の Web フィーチャ レイヤーでは、上記のデータセットに加えて、次のデータセットがサポートされています。

  • ユーティリティ ネットワーク
  • パーセル ファブリック
  • トポロジ
  • アノテーション
  • ディメンション
  • 3D オブジェクト フィーチャ レイヤー
注意:

現時点で、フィーチャ データセットや交通ネットワークなどのデータセットはサポートされていません。

データベース データを参照する Web フィーチャ レイヤーは、シンプルなポイント、ライン、ポリゴン フィーチャをサポートします。

コンテンツ ウィンドウでの Web フィーチャ レイヤーの表示

Web フィーチャ レイヤーをマップまたはシーンに追加するには、アクティブなポータル接続または ArcGIS Server 接続から追加するか、Web マップを開くか、パスからデータを追加するときの URL を指定します。 Web フィーチャ レイヤーには、サブレイヤーを含めることができます。 レイヤー全体を追加したり、レイヤーを参照して、個々のサブレイヤーを追加できます。 Web フィーチャ レイヤーをマップに追加する際、レイヤーはすべてのサブレイヤーを含むグループ レイヤーとして、[コンテンツ] ウィンドウにも追加されます。 これらのサブレイヤーは、グループ レイヤー内で並べ替えたり、グループ レイヤーの外に移動して単独で配置することができます。 グループ レイヤーは整理目的で使用され、レイヤーの機能には影響しません。 個々のサブレイヤーをマップに追加する場合、[コンテンツ] ウィンドウで個別に表示されます。

Web フィーチャ レイヤーを追加する方法の詳細

Web からのフィーチャ レイヤーの操作

Web フィーチャ レイヤーを AllSource に追加した後の振舞いは、ジオデータベースの他のフィーチャ レイヤーと同じです。 レイヤーに関する情報を取得するには、[レイヤー プロパティ] ダイアログ ボックスにアクセスします。 [コンテンツ] ウィンドウでレイヤーを右クリックして [プロパティ] をクリックするか、レイヤー名をダブルクリックします。 [レイヤー プロパティ] ダイアログ ボックスではフィルター設定を設定して、範囲、データ ソース (URL)、座標系、その他のレイヤー プロパティの情報を検索できます。

ホスト Web フィーチャ レイヤーを使用する場合、ポータルのレイヤーの所有者は、レイヤーのフィールドとインデックスを追加および削除できます。 これは、AllSource で現在 Web フィーチャ レイヤーに対してサポートされている唯一のデータ定義言語 (DDL) 操作です。 さらにレイヤーが共有更新グループと共有されている場合、このグループのメンバーもレイヤーのフィールドとインデックスを追加および削除できます。

レイヤーのラベリング、表示設定範囲、シンボルは、レイヤーが存在するポータルまたは ArcGIS Server サイトの設定に基づいて、自動的に設定されます。 これらの設定は、[レイヤー プロパティ] ダイアログ ボックスの [表示設定] および [ラベリング] タブを使用してオーバーライドできます。

レイヤー プロパティの設定方法の詳細

Web からのデータを処理するパフォーマンスを向上させるために、AllSource は表示、検索、編集操作のローカル キャッシュを維持しています。

注意:

レイヤーを編集する場合は、フィルター設定を含む、公開されているレイヤーをキャッシュすることはお勧めしません。 これは、サービスベースのフィルター設定は AllSource で使用できないためです。 これらのレイヤーを使用すると、フィルター設定を満たしていないフィーチャが、他のアプリケーションでは表示されなくても、AllSource で表示される可能性があります。 これらのフィーチャは、セッション中に表示されなくなる場合があり、AllSource を次に開いたときには表示されなくなります。

キャッシュの仕組みの詳細

制限通知の表示

AllSource で特定の Web フィーチャ レイヤーを表示する際、フィーチャが多すぎて一度にすべてを表示できない場合があります。 この制限に達すると、アプリケーションの上部隅に、Feature limit exceeded! Not all features are displayed. を示す警告通知が表示されます。これは、1 つ以上のレイヤーが完全に表示されなかったことを示しています。 すべてのフィーチャを表示するには、小さなエリアを拡大して、表示されるフィーチャを減らす必要があります。

空間参照

AllSource には、マップの空間参照を指定する機能があります。 ユーザーがデータの空間参照とは異なるマップの空間参照を要求すると、AllSource はリアルタイムでデータをマップの空間参照に投影変換します。

データベースを参照する Web フィーチャ レイヤーの場合、基になるデータの空間参照と、公開に使用されるマップの空間参照が、Web フィーチャ レイヤーのメタデータに記録されます。 これらの Web フィーチャ レイヤーがマップに追加されるとき、AllSource はソースの空間参照を使用します。 これには、空間参照のリアルタイム投影がないため、クエリおよび編集時に性能上のメリットがあります。

ホスト Web フィーチャ レイヤーの場合、データ共有用のマップで使用される空間参照で、データが常にバックエンドのデータ ストアにコピーされます。 共有されるデータの空間参照がマップの空間参照とは異なる場合、AllSource はデータをマップの空間参照に変換します。

マップの空間参照を変更することで、別の空間参照を使用することができます。 マップの空間参照の変更方法については、「座標系の指定」をご参照ください。

注意:

ArcGIS Enterprise または ArcGIS Server の古いバージョンと AllSource の新しいバージョンを使用すると、一部の投影変換がサポートされなくなる場合があります。 これは、AllSource に追加された新しい投影変換が、以前のバージョンの ArcGIS Enterprise に追加されていないためです。 このシナリオでは、フィーチャ レイヤーが描画されない可能性があり、サーバーでサポートされている空間参照を使用する必要があります。

Web フィーチャ レイヤーの編集

一般的に、Web フィーチャ レイヤーは、他のベクター データと同様に編集できます。 Web フィーチャ レイヤーに対して行うことができる編集のタイプは、フィーチャ サービスのプロパティによって制御されます。 公開されるデータ、編集者権限、およびサービスで有効になる機能に応じて、さまざまな編集パターンがあります。 編集パターンに影響する機能には、バージョン管理機能があります。 公開者がブランチ バージョン対応データを公開するときにこの機能を有効にすると、編集者が AllSource の Web レイヤーを編集できる方法が変わります。

注意:

レイヤーの管理者および所有者は、編集が有効化されていない場合でも、AllSource のフィーチャ レイヤーを編集できます。 これは、登録済みのデータ ソース (ArcGIS Server フィーチャ レイヤー) とホスト フィーチャ レイヤーを参照するフィーチャ レイヤーに該当します。

レイヤー所有者と管理者は、レイヤーで編集が有効化されていない場合でも、ArcGIS Enterprise および ArcGIS Online ポータルのホスト フィーチャ レイヤーを編集することもできます。 Web フィーチャ レイヤーが共有更新グループと共有されている場合、レイヤーに対して編集が有効化されていなくても、グループのメンバーはレイヤーの編集を許可する昇格した権限も保有しています。

ArcPy でのデータの使用

ArcPy を使って、Web フィーチャ レイヤーにアクセスできます。 レイヤーが参照するフィーチャ サービスのサブレイヤーの URL を指定することで、個々のレイヤーやテーブルを開くことができます。

ArcPy から Web フィーチャ レイヤーにアクセスする方法の詳細

Web フィーチャ レイヤー ワークフローの最適化

Web フィーチャ レイヤーを操作する際、以下のワークフローのいずれかを最適化して、パフォーマンスを改善したり、タスクの実行に必要な作業量を最小限に抑えたりできます。

空間オーバーレイ

可能な場合、バックエンドのデータ ストア、サーバー、またはデータベースでアペンド処理を実行するワークフローを使用することをお勧めします。 これにより、大量のデータを Web フィーチャ レイヤーにアペンドする際のパフォーマンスを最適化できます。

たとえば、ジオデータベースを参照するフィーチャ サービスの場合、データベース コネクションにより、[アペンド (Append)] ジオプロセシング ツールを使用して基礎ジオデータベースに対する大量のデータ読み込み操作を実行することをお勧めします。 ArcGIS Enterprise のホスト サービスの場合、フィーチャ レイヤーのアイテム ページか ArcGIS REST APIアペンド操作を使用することができます。 ArcGIS Online のホスト サービスの場合、管理者およびサービス所有者は、supportAppend プロパティが True のとき、ArcGIS REST API によりアペンド ジオプロセシング ツールを使用することができます。 管理者以外のユーザーが ArcGIS REST API でアペンド ジオプロセシング ツールを使用する場合は、フィーチャ サービスのアペンド機能が有効なっている必要があります。

データの切詰め

切り詰め (Truncate) 操作では、すべてのフィーチャ、またはフィーチャ サービス レイヤー内の添付ファイルを削除できます。 ArcGIS Online のホスト サービスの場合、管理者およびサービス所有者は、supportTruncate プロパティが True のとき、ArcGIS REST API により切り詰めジオプロセシング ツールを使用することができます。

フィールド演算

フィールド演算のパフォーマンスを改善するには、[フィールド演算 (Calculate Field)] ジオプロセシング ツールを使用し、可能な限り SQL 式を使用して演算を行います。 SQL オプションを使用できる場合、サーバーで演算が実行され、パフォーマンスが向上します。

注意:

結合テーブルのフィールド値の計算は、SQL オプションではサポートされていません。

標準化された SQL クエリの強制

AllSource で Web フィーチャ レイヤーの SQL クエリを記述する場合、クエリが標準化された SQL を使用して整合チェックされる場合が多くあります。 このため、フィーチャ レイヤーが実行されている ArcGIS Server サイトは、可能な限り標準化された SQL を強制する必要があります。 これは、特定の時間ベースの SQL クエリを実行する際に重要な場合があります。サポートされているデータベース実装の多くで、時間の操作に若干異なる SQL 構文が使用されるためです。

管理者のみが、ArcGIS Server サイトの標準化された SQL 設定を変更できます。 ArcGIS Online は、標準化された SQL クエリのみを使用します。

マップ イメージ レイヤーからフィーチャ レイヤーのみを検索

マップ イメージ レイヤー (マップ サービス) を公開し、解析または検索のためにデータへのフィーチャ アクセスを有効にする場合、マップ イメージ レイヤーから AllSource マップに個々のサブレイヤーを追加できます。 これらのレイヤーは、Web フィーチャ レイヤー (フィーチャ サービス) からサブレイヤーを追加するのと同じ方法で追加できますが、マップ イメージ レイヤーのサブレイヤーを追加する場合、データは編集できません。 これにより、編集できないフィーチャ サービスを公開することなく、データへの読み取り専用フィーチャ アクセスを実現できます。

注意:

個々のサブレイヤーを追加するには、ダブルクリックしてマップ イメージ レイヤーを展開し、参照します。

日付フィールドの操作

レイヤーが、AllSource で使用可能な時間対応レイヤーとして見なされるには (たとえば、タイム スライダーがあるなど)、テンポラル レイヤーの時間プロパティは、公開中または公開後にフィーチャ サービス レイヤーで時間対応になっている必要があります。

協定世界時 (UTC) とは、イギリスのグリニッジ近くに位置する地球の本初子午線 (経度ゼロ度) の現在時間とほぼ等しい時間で、グリニッジ標準時 (GMT) よりも精度の高い後継の標準時です。

ホスト フィーチャ レイヤーを公開すると、レイヤーを公開したときに日付フィールドにローカル タイム ゾーンの情報が含まれるかどうかを指定できます。 これにより、公開プロセスでデータベースに格納するローカル タイム データを UTC に変換することができます。 公開時にタイム ゾーンを指定しない場合、日付値は変換されずデータは UTC で保存されたものと想定されます。 フィーチャ サービスで日付フィールドと時間フィールドを操作する場合は、日付は通常 UTC で表記されるものと想定されます。 エンタープライズ ジオデータベースのデータを参照するフィーチャ レイヤーを公開するときに、日付フィールドが現地時間で格納される場合は、日付フィールドに対してタイム ゾーンを指定できます。 この情報は、フィーチャ サービスが UTC 時間に日付情報を変換し、その形式で返すために使用します。

フィーチャ サービスは優先タイム ゾーンまたは不明のタイム ゾーンのいずれかが定義されるように構成できます。 詳細については、「サービス パラメーター」をご参照ください。

サービスに優先タイム ゾーンが定義されている場合、データ内のすべての日付値が優先タイム ゾーンで表されます。 つまり、優先タイム ゾーンでのみ表示、検索、編集を行えます。 サービスに不明なタイム ゾーンが定義されている場合、データ ソースからデータを読み取るサーバー上で変換は行われません。 そのため、AllSource では、表示、検索、編集のための変換は行われません。

優先タイム ゾーンと不明な時間のどちらも定義されていない Web フィーチャ レイヤーを操作する場合、AllSource で検索または表示するために日付フィールドに変換は適用されません。 AllSource の検索で返されたデータ値は、Web フィーチャ レイヤーから返された UTC 時間で表示されます。 これは、ArcGIS API for JavaScript を使用する Web ブラウザーなどのアプリケーションとは異なります。 これらの Web アプリケーションは、通常、データの表示に使用されるデバイスの現地時間に合わせて日付値を変換します。 基準日検索によってフィーチャ レイヤーが公開されると、計算や編集を行ったときにデータのタイム ゾーンを考慮に入れなければ、予期しない値が返されることがあります。