操作レイヤについて

各 Web GIS アプリケーションには、特定のユーザ グループが使用する操作レイヤのセットが必要です。通常、操作レイヤのデータは少数の専用レイヤに限定され、ユーザが特定のレベルにズームしたときにのみ表示されます。データはクライアントにストリーミングされた後、クライアントでレンダリングおよび管理されます。

このパターンの背景には、いくつかの理由があります。まず、操作レイヤは多くの場合ダイナミックであるため、普通は事前にキャッシュされません。次に、ユーザは操作レイヤの応答性が高く、素早い描画とマウス クリックによって詳細が表示され、特定の機能へのリンクが表示されることを期待します。最後に、操作レイヤはベースマップ サービスと同じ座標系である必要があります。座標系の不一致はオーバーレイの問題やパフォーマンスの低下、および Web GIS アプリケーションでのエラーにつながるため、これは特に重要です。

クライアント側でのダイナミック レンダリングやユーザ操作は、JavaScript、Flex、および Silverlight 用の ArcGIS Web マッピング API などのブラウザ API を使用して実装できます。ただし、操作レイヤのデータが大きすぎて、ブラウザで効果的にレンダリングできない場合もあります。この場合は、操作レイヤのデータをサーバ側でレンダリングする必要があります。

操作マップ レイヤを公開する 3 つの方法

操作マップ レイヤをサーバに公開するには、いくつかの方法があります。

マップ グラフィックスとテキストとしてのクエリ結果の表示

操作情報を表示するのに最も効率的な方法の 1 つは、クエリの結果を使用することです。ユーザは GIS サーバを検索し、サーバはフィーチャ結果のセットを小さなレコード セットとして返します。サーバから返されるクエリ結果としては、フィーチャのセット、フィーチャの座標、各フィーチャの属性セットなどがあります。この結果は、対話型のグラフィックスと説明情報としてマップに表示されます。結果は操作、図表化およびサマリ処理ができ、クリックして各フィーチャの詳細情報にアクセスできるハイパーリンクとして使用できます。

この手法では、通常、結果のマップ レイヤを作成するアプリケーション プログラミングが必要です。Esri のそれぞれの ArcGIS Web マッピング API には、クエリの実行方法、および結果をクライアント側グラフィックスとしてマップ上に表示する方法に関するヘルプが付属しています。

ダイナミック マップ サービスとして

公開できるマップ サービスの種類の 1 つは、ダイナミック マップ サービスです。名前が示すとおり、マップ レイヤ表示が動的に生成されます。つまり、マップ サービスを表示するようクライアントがサーバにリクエストするたびに、レンダリングが行われて表示されます。結果のマップ イメージは、リクエスト元のアプリケーションに送られ、ベースマップにオーバーレイされます。

ダイナミック マップ サービスを作成するには、まず 1 つまたは少数の専用レイヤを含む ArcMap ドキュメントを作成する必要があります。これをマップ サービスとして公開できます。公開されたマップ サービスは、Web GIS アプリケーションで利用されます。ユーザは、操作情報を使って作業できるようになります。

ダイナミック マップ サービスには、操作レイヤの最新で正確なステータスを提供するという利点があります。ただし、動的マップ レイヤを使った方法では多くの場合、Web 上のマップの描画がかなり遅くなります。

キャッシュされたマップ サービスとして

操作マップ レイヤのもう 1 つの提供方法は、キャッシュ マップ サービスを使用することです。この方法では、マップ表示は事前に処理されて、マップ キャッシュとして格納されます。この場合、クライアントがマップをサーバにリクエストするたびに、操作マップ レイヤの表示を生成する必要はありません。かわりに、適切なマップ タイルがサーバから取得され、パフォーマンスとスケーラビリティが大幅に向上します。

適用できるケースとして、操作マップ レイヤが静的で、変更の頻度が低い場合があります。この場合は、サーバからリクエストされるたびに新たにマップを処理するのではなく、マップを事前処理しておき、定期的に更新するという方法が取れます。この方法で、誰でも高速で効率的なマップ サービスにアクセスして使用できます。

キャッシュ マップ サービスはきわめてスケーラブルであるため、サーバ上の多くの同時アクセスにすばやく応答できます。大量のユーザ トラフィックが見込まれる場合、キャッシュを頻繁に更新する必要がありますが、レイヤをキャッシュするだけのメリットはあるでしょう。

キャッシュのタイルをすべて作成する時間あるいは空きディスク領域が確保できないなら、一部のタイルを事前に作成し、残りは必要になった時点で作成することをお勧めします。最初のクライアントが Web GIS アプリケーションにアクセスしたときに、マップ キャッシュがリクエストされたエリア(マップ タイルのセット)を処理し、キャッシュが構築されます。同じマップ タイルにアクセスする他のユーザは、新しいマップ キャッシュを使用することになります。ユーザがリクエストするたびに、キャッシュされたマップ タイルがあれば、それを取得します。ない場合は、タイルを処理してディスク上にキャッシュします。マップ表示の処理を行う必要があるのは、最初のユーザのみです。他のユーザは操作レイヤのキャッシュされたマップにアクセスできます。

キャッシュ マップ サービスの作成方法については、「マップ キャッシュとは」をご参照ください。

9/14/2013