Skip To Content

操作レイヤーについて

このトピックの内容

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

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

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

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

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

  • クエリを使用して、特定の条件に合うフィーチャのサブセットを選択し、マップ グラフィックスとテキストを使用してクエリ結果を表示。
  • ダイナミック マップ サービスとして
  • キャッシュされたマップ サービスとして

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

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

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

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

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

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

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

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

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

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

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

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