フィーチャ レイヤとは
フゖーチャ レヤは、ArcGIS for Server マップ サービス、ArcGIS for Server フゖーチャ サービスに よってホストされるレヤのフゖーチャを表示するためのグラフゖックス レヤの拡張タプです。グラ フゖックス レヤのように、フゖーチャ レヤはジオメトリと属性情報で構成されたグラフゖック フゖ ーチャを表示します。さらに、フゖーチャ レヤは以下の機能をサポートしています。
編集 - フゖーチャ レヤは Web 上でのフゖーチャを編集するためのキーとなります。
ESRI.ArcGIS.Clinet.Toolkit.dll ラブラリに含まれている編集コントロールはフゖーチャ レヤを使用 して動作するようにデザンされており、フゖーチャ サービスを参照するフゖーチャ レヤ上でのみ編 集を行うことができます。編集についての詳細やフゖーチャ サービスの作成方法については、Editing features トピック(英語)をご参照ください。
フィルタ設定 – ある特定の属性をもつフゖーチャのみに対して操作を行いたい場合、必要なフゖーチャの みを取得するために、フゖーチャ レヤに Where 句を設定することができます。また、ArcGIS for Server フゖーチャ レヤは、ソース のマップ ドキュメントで設定されているフゖルタ設定をデフォル トで保持しているため、マップ ドキュメント内のフゖルタ設定で抽出されたフゖーチャ以外のフゖーチャ を ArcGIS for Server にリクエストすることはできません。
時間の定義 – 特定の時間的な条件に一致するフゖーチャを見分けるためにフゖーチャ レヤを使用する ことができます。たとえば、1930 年よりも前に建築された住宅のみを表示したいとき、住宅を表すレ
ヤが時間に対応したレヤであれば、建築年が 1930 年よりも前の住宅のみを表示するためにフゖーチャ レヤに時間の定義を設定することができます。
選択 – フゖーチャ レヤは、ユーザが表示、編集、または解析の目的で分類したフゖーチャのサブセッ トを表す選択をサポートします。ユーザは空間的、または属性条件を使用して、選択セットにフゖーチャ を追加または削除することができます。フゖーチャ レヤは、選択セットをその他のフゖーチャとは異な るシンボルで描画することができます。また、選択セットは、統計的計算の入力、ジオプロセシング ツー ル、グラフ、そして、対話的な GIS 解析/調査の対象として使用することができます。たとえば、複数の 建物の周囲にポリゴンを描画し、そのポリゴン内の建物に対して太陽光の日射量を計算するためにボタン をクリックする、といった操作を実装することが可能です。選択は、編集中のフゖーチャを選択状態で表 示(ハラト表示)するといった編集ワークフローでも、重要な役割を担っています。選択を行うには、
個々のグラフゖック フゖーチャで Select() メソッドを呼ぶか、Editor の Select コマンドを使用します。
46 マップ ドキュメントまたはフゖーチャ レヤに設定された条件式で抽出されたフゖーチャ以外のフゖー チャは選択することができない点に注意してください。
FeatureLayer ソース 説明 ArcGIS for Server
マップ サービス
ArcGIS for Server ダナミック(キャッシュがない)マップ サービスは、フゖー チャ レヤのソースとなるレヤを含むことができます。各レヤは、マップ サー ビスによって割り当てられるレヤ ID とマップ サービス名を参照する URL によ って識別されます。URL は、ArcGIS REST Services Directory から取得します。
例:
http://serverapps.esri.com/ArcGIS/rest/services/California/MapServer/8 この California マップ サービスは、ID 8 が割り当てられた郡のフゖーチャを表す レヤを含みます。
ArcGIS for Server フィーチャ サービス
ArcGIS for Server フゖーチャ サービスは個々のフゖーチャ レヤを参照します。
各レヤは、サービスによって割り当てられるレヤ ID とフゖーチャ サービス名 を参照する URL によって表されます。URL は、ArcGIS REST Services Directory から取得します。
例:
http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSFi elds/FeatureServer/0
このサンプル サービスは、カンザス州の油田とガス田を表しています。Petroleum
(石油)フゖーチャ サービスは、現在のカンザス州の生産現場のフゖーチャを表す ID 0 が割り当てられたレヤを含んでいます。
ArcGIS for Server フゖーチャ サービスは、フゖーチャ レヤが ArcSDE ジオデ ータベースでホストされている場合に、編集をサポートします。サービスのソース マ ップ ドキュメントに設定されたシンボルやフゖーチャ テンプレートを編集で利用 する場合は、フゖーチャ サービスを使用します。
47 フゖーチャ レヤは、グラフゖックス レヤでは利用できない機能を有効にできるいくつかのプロパテ ゖを保持しています。以下に示す表では、FeatureLayer クラスの主なメンバについて説明します。
FeatureLayer メンバ 説明
Url プロパティ ArcGIS for Server マップ サービスによってホストされているレヤのゕドレスで す。フゖーチャ レヤは、ソースからのフゖーチャとして自動的に追加されます。
Where プロパティ 特定レヤ内でどのフゖーチャを表示するかを定義する条件式です。条件式を指定し ない場合は、すべてのフゖーチャが取得されます。
Mode プロパティ サービスからフゖーチャを取得するための方法を定義します。
Snapshot モードは、レヤがマップに追加された後すぐに、レヤからすべての フゖーチャを取得します。 これによって、情報を取得するためにサーバへのリクエ ストの回数は減りますが、レヤに多くのフゖーチャが含まれている場合は、サーバ に負荷がかかる可能性があります。描画するフゖーチャの数によってブラウザの反応 が遅くなる場合もあり、またサービスが 1 度に返すことができるフゖーチャの制限
(ArcGIS Server 9.3.1 のデフォルトは 500、ArcGIS Server 10 および ArcGIS 10.1 for Server では 1000)に達する可能性もあります。Snapshot モードは、小 さなデータセットや、一時的なデータを扱うときにのみ使用してください。
On Demand モードは、現在の表示範囲内に含まれるフゖーチャのみをリクエスト し、フゖーチャを取得します。On Demand モードは、クラゕントとサーバ間で より多くのやりとりを必要とするので、時系列を表現するゕニメーションの表示には 使用するべきではありません。 しかし、このモードでは必要以上のフゖーチャを取 得することはありません。
Selection Only モードは、最初にフゖーチャをリクエストしません。選択が行われ たときにのみ、フゖーチャが追加されます。 このモードは、クラゕントにすべて のフゖーチャを渡したくない、または渡せない場合や、1 つまたは複数のフゖーチャ をハラト表示したい場合に有効です。ほとんどの場合、このモードは、選択フゖ ーチャの位置を表示するためにダナミック マップ サービス レヤとともに使用 されます。
OnDemandCacheSize プロパティ
Mode が OnDemand の場合、クラゕント側にキャッシュとして格納する現在の マップ範囲外のフゖーチャの数を定義します。フゖーチャがキャッシュに存在する場 合、キャッシュから削除されていない限り、フゖーチャが再びリクエストされること はありません(キャッシュされたフゖーチャ数の上限に達するとフゖーチャはキャッ シュから順次削除されます)。 キャッシュは、セッションを越えて保持されません。
48 FeatureLayer メンバ 説明
SelectionColor プロパティ
フゖーチャ レヤ内の選択されたグラフゖック フゖーチャを表示するための色お よびビジュゕルブラシを定義します。各グラフゖック フゖーチャは、Selected プロ パテゖを保持しています。また、SelectedGraphics と SelectionCount プロパテゖ (GraphicsLayer に実装) は、選択されたグラフゖックの情報を返します。
TimeExtent プロパティ フゖーチャ レヤ内で表される時間の範囲を参照します。このプロパテゖは、読み 取り専用で、ArcGIS for Server マップ サービスまたはフゖーチャ サービスによっ て定義されます。
DisableClientCaching プロパティ
デフォルトでフゖーチャ レヤは、パフォーマンスを向上するためにブラウザ キャ ッシュを使用します。フゖーチャ レヤの元のデータが変更され、すぐにその変更 を反映したい場合、このプロパテゖを True に設定します。
Update メソッド このメソッドは、フゖーチャ レヤのソースに対してクエリを再実行します。レ
ヤまたはテーブルの内容が、サーバ側で変更されたとき、クラゕントでフゖーチャ レヤの変更を明示的に確認するために、このメソッドを呼ぶことができます。ただ しく変更を反映させるために、クラゕント キャッシュを無効にする必要がある場 合があります。
49