フィーチャの取得
ArcGIS Viewer for Silverlight で使用するフィーチャ レイヤの構成オプションでは、フィーチャをどのように取得するかを指定できます。フィーチャの取得オプションには、レイヤ内のすべてのフィーチャを一度に取得する方法と、現在の範囲内のフィーチャのみを取得する方法があり、これら 2 つのオプションは次のとおりです。
- 現在の範囲内のフィーチャを取得(デフォルト) - 必要に応じて、現在のマップ範囲内のフィーチャのみを要求し取得する方法です。つまり、マップ範囲が変更されたときは、新しい範囲内のフィーチャを要求し、それらをマップ上に描画します。このとき、前に取得したフィーチャもそのままレイヤに保持されます。この方法でフィーチャを取得する場合、クライアントとサーバ間でやり取りする回数が増えますが、マップ表示に必要なフィーチャのみをダウンロードできます。
- すべてのフィーチャを取得 - レイヤがマップに追加された時点で、そのレイヤのすべてのフィーチャを取得する方法です。この場合、クライアントとサーバ間で何度も情報をやり取りする必要はありません。ただし、レイヤに多数のフィーチャが含まれており、マップ範囲に多数のフィーチャを描画する場合は、パフォーマンスが低下する可能性があります。さらに、1 回のリクエストでサーバが返せる最大フィーチャ数より、レイヤ内のフィーチャ数が多くなることもあり、その場合、最大数を超えた分のフィーチャはレイヤに追加されません。ArcGIS Server 9.3.1 のフィーチャ レイヤは、デフォルトで 1 回のリクエストで最大 500 のフィーチャを返し、ArcGIS Server 10 以降のフィーチャ レイヤは、デフォルトでは 1 回のリクエストで 1,000 のフィーチャを返します。これらのデフォルト設定はサーバ管理者が変更できます。
レイヤのフィーチャ取得を構成するには、次の手順に従います。
- [レイヤの構成] パネルを開きます。
- 構成するレイヤを選択します。
- 選択したレイヤを右クリックして、[構成] をクリックします。または、[レイヤの構成] パネルの下部にある [構成] ボタンをクリックします。
- 表示される [構成] パネルで、[フィーチャの取得] グループを展開します。
- [マップ範囲内のフィーチャのみを取得します] を選択して、現在の範囲内のフィーチャを取得できるようにします。
- [キャッシュ サイズ] には、レイヤに保持するフィーチャの最大数を指定します。マップ範囲を変更すると、新しい範囲内のフィーチャが取得され、前に要求したフィーチャもそのまま保持されます。ただし、レイヤのフィーチャ数がキャッシュ サイズで指定した値を超えた場合、キャッシュ サイズに収まるようにレイヤからフィーチャが削除されます。その際、最も古いフィーチャから順に削除されます。
注意:
この場合も、フィーチャはクライアントのレイヤから削除されるだけで、サーバ上のデータは変更されません。
6/8/2012