Web ツールを構築するには、データの出力レンダリングと座標系は重要な情報となります。 ツールが正常に実行されて出力が作成されると、ツールの作成者としての役割は終了すると思っている人も多いでしょう。 では、果たして本当にそうでしょうか。 Web で動作する効果的なツールを作成するには、適切なシンボルと座標系によってツールが明確に定義されていることを理解し、それを確かなものにするために時間をかけたかどうかは、ツールのユーザーの満足度を大いに左右します。
出力シンボル
地理的な出力を行う Web ツールは、以下のいずれかの方法で結果を提供します。
- クライアントに結果フィーチャが送信され、クライアントがそれを描画する。
- マップ サービスからクライアントにマップ イメージが送信される (マップ イメージはサーバー上で描画済み)。
注意:
Web ツールを使用するクライアントは、サービスがそのように設定されている場合を除き、結果をマップ イメージとして求めることはできません。 サービスの公開者または管理者は、Web ツールの使用前にこの設定を有効にしておく必要があります。
クライアントが出力を描画する場合
デフォルトでは、Web ツールがクライアントで正常に実行されると、出力フィーチャが返されます。 それらのフィーチャをマップに描画またはレンダリングするのは、そのクライアントの役割です。 Javascript API では、コードが結果を取得し、レンダラーを設定し、最終的に Web アプリ クリエイターが定義したとおりに結果を描画する必要があります。 デスクトップ アプリケーションでは、Web ツールからフィーチャを取得して描画します。 クライアントは、操作しながらシンボルを変更できます。
サーバーからマップ イメージが返される場合
Web ツールを作成する際、出力をマップ イメージとして表示するよう設定できます (サービスが非同期に実行するよう設定されている場合)。 サービスの出力フィーチャはマップ イメージとして描画され、そのイメージがクライアントに返されます。 このような場合、通常はフィーチャは返されません (サービス公開者が、フィーチャを返さないよう設定していることがあります)。 サーバー上で結果を作成してマップ イメージを返す方法は、以下のようなさまざまなケースで有益です。
- 大容量データ (大容量ラスター) や、膨大な数のフィーチャをクライアントに返すのが実用的ではない場合。
- 出力フィーチャをクライアントで描画できない場合。 たとえば、ラスター (.tif) は Web アプリでは描画できません。
- クライアントが高度なカートグラフィック品質の描画やレンダリングを行えない場合。 マップ イメージでは、公開時の出力結果のシンボル設定が使用されます。
座標系
Web ツールが処理するすべてのデータセットには座標系が必要です。 一般的に、ツールが処理するすべてのデータは同じ座標系に配置されるため、Web ツールでは他の座標系を検討することはありません。 ただし、データを認識して変更しなければならない場合もあります。
Web アプリでは、ほぼ主体的に Web メルカトル座標系 (WKID: 102100) が使用されます。 Web アプリにフィーチャを出力する Web ツールを構築する際、必要に応じて Web メルカトルでデータを生成します。 マップに結果を表示することだけが目的であれば、不必要な変換を削減できる Web メルカトルが最善の選択肢です。 しかし、面積や距離の正確な測定を優先する場合は、対象エリアに適したローカル座標系の方が適しているでしょう。 ジオプロセシング ツールは、特定のツールの出力座標系が定義されている場合を除き、入力の座標系に基づいてデータの処理と出力を行います。 Web ツールを構築する前に、データを再投影するか、そのままの状態を維持するかを決断する際は、この点を念頭に置いておいてください。
Web ツールのジオプロセシング サービスには、出力座標系の値を受け入れるオプションがあります。 ツールがサーバーで実行されたときに、クライアント アプリケーションは特定の座標系で出力を返すよう指示することができます。 前述のように、処理は入力の座標系に基づいて行われるため、出力は同じ座標系になります。 この設定により、特定の座標系で処理が続行されますが、サーバーは必要に応じてデータを投影し、指定した座標系で最終的な出力結果を返します。 REST で同期ジオプロセシング サービスの出力空間参照として outSR を設定する方法については、context パラメーターをご参照ください。非同期ジオプロセシング サービスの出力空間参照として設定する方法については、context パラメーターをご参照ください。