ArcGIS Server のためのマップ作成の検討事項
サーバ上でマップを利用可能にするためには、ArcMap でマップを作成し、ArcGIS Server に公開して、結果のマップ サービスを使用する必要があります。ArcGIS Server を使ってできることの多くは、初期の作成段階で準備します。このトピックでは、ArcGIS Server に公開するためのマップを作成するときに検討する問題を取り上げます。
一般的なヒント
次のヒントは、ArcGIS Server で公開するすべてのマップ ドキュメントにとって重要です。
- データ フレーム名およびレイヤ名では、英数字以外の文字やスペースを使用しないでください。これらの名前が URL に含まれていると、Web サーバによっては、スペースや特殊文字を正しく解釈できないことがあります。さらに、キャッシュ フォルダにはデータ フレームとレイヤに基づいた名前が付きます。このため、サービス用のキャッシュを作成しようとしたときに、オペレーティング システムがキャッシュ フォルダに名前を付けようとして特殊文字にうまく対処できないことがあります。
- ドキュメントのプロパティに機密情報を設定しないでください。ArcGIS Server には ArcGIS Services Directory が備わっています。このアプリケーションを使用して、サーバのコンテンツを参照し、サービスに関するメタデータを取得することができます。(ArcGIS Server のデフォルト構成の)Services Directory を通じてサービスを誰にでも見えるようにする計画を立てている場合にも、秘密にしておきたい機密情報がマップ ドキュメントに含まれていることがあります。表示される情報を確認するには、マップ ドキュメントを開いて [ファイル] → [ドキュメント プロパティ] をクリックします。マップを公開する前に、Services Directory を通じて表示したくない作成者のユーザ名、コメント、その他の情報をこのダイアログ ボックスで削除する必要があります。
- セキュリティで保護されている ArcGIS Server マップ サービス レイヤをマップ ドキュメントから削除します。ArcGIS Server では、保護されているサービスをマップ サービスに含めることができません。一般に、サービスを他のサービス内に埋め込む方法は推奨されません。代わりに、追加するサービスへ直接接続するようにクライアントを設定してください。
- マップ ドキュメントをサービスとして公開する前に、ArcMap ベースマップ レイヤ([新規作成] → [ベースマップ レイヤ] で作成)を削除します。ベースマップ レイヤによってパフォーマンスが向上するのは ArcMap 表示環境のみです。マップ サービスではメリットが得られません。ベースマップ レイヤをマップに残す場合は、それらをグループ レイヤとして作成し直してください。ベースマップ レイヤを高速マップ サービスとして利用し、アプリケーションの背景地図として提供する場合は、ベース データ レイヤのみを含むマップ ドキュメントを別に作成し、それをキャッシュ マップ サービスとして公開してください。ArcGIS Server の高速ベース マップを作成する場合は、キャッシュ機能を使用すると便利です。
-
データ フレームの背景色は、デフォルトの Null 背景色のままにせず、明示的に設定してください。マップ サービスは背景色を透過表示として扱うため、マップ内の別の場所で使用されている色は選択しないでください。マップの白い部分が透過表示されないようにするには、背景色を白に近い色に設定することができます(RGB 254, 255, 255 など)。
[データ フレーム プロパティ] ダイアログ ボックスの [フレーム] タブで背景色を設定できます。
- ArcGIS Server で使用する PMF ファイルを公開する前に、[Publisher の設定] を開いて [アプリケーション] タブを表示します。[ArcReader 限定] をオフにして、[PMF を使用するアプリケーションを限定しない] をオンにします。
パフォーマンスを向上させるためのマップ キャッシュ
変更される可能性の低いデータがマップ内に含まれている場合は、パフォーマンスを向上させるためにマップをキャッシュすることを検討してください。マップをキャッシュすると、特定の縮尺レベルでレンダリングされた一連のマップ イメージを作成します。実際のキャッシュは、マップをサービスとして公開した後に実行されます。ただし、マップをキャッシュすることがわかっている場合、これはマップの作成プロセスに影響をおよぼします。キャッシュ対象のすべての縮尺で適切に表示されるようにマップを作成します。キャッシュされたタイルはデータの単なる”絵”にすぎず、実際のレンダリング エンジンとラベリング エンジンはキャッシュの作成後には使用されないため、カートグラフィック ツールを使用してもパフォーマンスへの影響はありません。
マップをキャッシュできない場合、レンダリング エンジンとラベリング エンジンはマップ サービスのパフォーマンスに影響をおよぼします。
キャッシュされていないマップのパフォーマンスに関するヒント
マップ キャッシュは必要に応じて作成してください。ただし、頻繁に変化するデータが大量にある場合は、マップ キャッシュを作成して維持することは不可能かもしれません。そのような場合は、次のヒントを参考にして、マップのパフォーマンスを改善することができます。[マップ サービス公開] ツールバーを使用してマップを解析すれば、マップ ドキュメントのパフォーマンスを改善できる部分をすばやく特定できます。
-
データ レイヤに縮尺範囲を指定したレンダリングを設定する: レイヤを表示する縮尺範囲を指定して、マップが縮小表示されたとき不要なレイヤが描画されないようにします。データ量が多いレイヤまたは詳細データのレイヤを描画させるのは、マップが大縮尺に拡大される場合だけでよいでしょう。
-
不要なレイヤとデータ フレームを削除する: レイアウト ビューとデータ ビューの両方をチェックし、マップの目的とは無関係なデータ フレームとレイヤがマップ ドキュメントに含まれていないことを確認します。たとえば、レイアウト ビューにサービスを使用するどのアプリケーションでも表示されないデータ フレームが含まれている場合は、そのデータ フレームを削除します。
-
フィルタ設定を適切に使用する: フィルタ設定を使用してマップ上のデータ量を制限すれば、マップを短時間で描画できます。たとえば、ある県のマップを作成していて、フィーチャクラスに国全体のデータが含まれる場合は、フィルタ設定を使用するとその県の境界線内にあるフィーチャだけを表示し、県外のフィーチャを非表示にすることができます。ただし、フィルタ設定が複雑すぎると、パフォーマンスが低下する可能性があります。
レイヤ シンボルを単純化する: MXD ベースのマップ サービスの場合、複雑なシンボルは単純なシンボルより描画に時間がかかります。可能であれば、シンプル ライン シンボルとシンプル塗りつぶしシンボルを使用し、マルチレイヤ シンボル、複雑な破線パターン、ハッシュ ライン、アウトラインを含むシンボルは避けてください。高速道路標識シンボルは描画パフォーマンスを遅くさせることがあります。
ピクチャ塗りつぶしシンボルを使用する際は、BMP ではなく EMF ファイルを使ってパフォーマンスを改善することができます。
ESRI_Optimized スタイルを使用すると、マップ内のシンボルを簡単に単純化することができます。このスタイルには、パフォーマンスに優れ、デフォルトの Esri スタイルを使用した場合に近い表示を保つ、ライン シンボルと塗りつぶしシンボルが含まれます。このスタイルの操作方法については、ArcGIS Desktop ヘルプの「スタイル コンテンツの整理」をご参照ください。
ヒント:可能であれば、MXD ではなく、マップ サービス定義(MSD)を使用してサービスを公開してください。MSD 対応のサービスでは最適化された描画エンジンを使用できるので、単純なシンボルと複雑なシンボルの両方をすばやく描画できます。MSD を使用する場合は、すべてのシンボルを単純化する必要がありません。
キャッシュされたマップ サービスを作成する場合、マップを単純化しても、完成したマップの描画速度は変わりません。マップの単純化が影響を与えるのはキャッシュの作成速度だけです。キャッシュの作成時間に問題がない場合は、シンボルの単純化を考慮する必要がありません。
-
ラベルではなくアノテーションを使用する: ラベルの配置を決定するには計算が必要になるので、通常はアノテーション レイヤを使用するほうが高速です。
-
ラベルを単純化する: マップにラベルが含まれている場合は、ラベルとフィーチャの重なり回避のウェイトを控えめに使用します。ハロー、オフセット、およびその他のラベル効果もパフォーマンスを低下させます。
-
ラベルに縮尺依存のレンダリングを設定する: マップを縮小表示するときに描画が必要なラベルの数が増えると、それだけ時間がかかります。マップ ドキュメントを調べて、小さい縮尺では表示する必要のないラベルかどうかを判断します。
-
データとマップで同じ座標系を使用する: ソース データとマップ ドキュメントの座標系が異なる場合、データをリアルタイムに投影変換する必要があり、それによってパフォーマンスが低下します。パフォーマンスを最適化するために、データとマップ ドキュメントの両方で同じ座標系を使用してください。それが不可能な場合は、リアルタイムに投影変換する必要があるレイヤに適切な地理座標変換が適用されるようにしてください。
マップを Web ADF 編集タスクで使用する場合
マップを Web ADF 編集アプリケーションで使用する場合は、タスクの表示とパフォーマンスを制御するために、マップの作成時に行えることがいくつかあります。
最も重要なのは、マップ内の編集可能レイヤが編集タスクで使用する ArcSDE ジオデータベースに含まれていなければならないことです。小規模な導入では、これは Microsoft SQL Server Express を使用する ArcSDE かもしれませんし、大規模な導入の場合は、Oracle などのエンタープライズ RDBMS を使用する ArcSDE かもしれません。マップ内の編集されない他のレイヤは、ArcSDE ジオデータベースに含まれていなくてもかまいません。
作成するフィーチャ タイプを編集タスクのユーザがすばやく選択できるようにするには、個別値に基づくシンボルを使用します。個別値レンダラに基づくシンボルは、編集タスクのボタンに反映されます。
マップの敷地レイヤに個別値レンダラが割り当てられている場合、編集タスクは上のようになります。レンダラは公園タイプのフィールドに基づいています。編集タスクには各タイプの敷地を作成するためのボタンが表示されます。たとえば、青のボタンをクリックすると、学校用の敷地を作成することができます。
編集タスクに役立つもう 1 つの方法は、属性ドメインを使用するようにデータベースを構成することです。フィールドでドメインを使用すると、値を入力する代わりにドロップダウン リストを使って値を設定できるようになります。これらのドロップダウン リストは、属性をすばやく設定し、データ入力エラーを回避するのに役立ちます。以下の図は、[Street Class] フィールドにドメインが適用された場合にエディタ タスクに表示されるドロップダウン リストを示しています。
マップを Web アプリケーションのジオプロセシングで使用する場合
Web アプリケーションでジオプロセシングを行う場合は、タスクの入力と出力のシンボルを指定することができます。そのためには、ArcToolbox でモデルを選択し、ArcMap のコンテンツ ウィンドウにドラッグしてツール レイヤにする必要があります。サービスを公開する前に、ツール レイヤの入力シンボルと出力シンボルを設定することができます。
マップにツール レイヤを追加せず、ジオプロセシング Web アプリケーションでマップを使用する場合、結果はクライアント側で描画されます。このようにする場合は、複雑なシンボルを使用できなくなります。
Web ADF ジオプロセシング タスクの詳細、およびサーバ上で結果を描画する場合とクライアント上で結果を描画する場合の比較については、「チュートリアル: ジオプロセシング サービスの公開」をご参照ください。
マップを使用して、サーバ上で分散ジオデータベースの操作を実行する場合
このマップ サービスで、ArcMap の [分散ジオデータベース] ツールバーを使用する場合は、マップの作成時にジオデータベース レイヤを追加する必要があります。マップをサービスとして公開する際には、[ジオデータ アクセス] ケーパビリティを有効にすることができます。これにより、同じ名前の関連するジオデータ サービスが作成されます。マップ サービスとジオデータ サービスの両方が実行されている場合は、ArcMap インタフェースを使ってサーバ上でデータの抽出や複製を行うことができます。
マップを使用して、サーバ上でネットワーク解析を実行する場合
マップをサーバ上でのネットワーク解析に使用する場合は、ネットワーク データセットを参照するネットワーク解析レイヤを追加する必要があります。そうすると、マップ サービスを公開する際にネットワーク解析機能を有効にできます。これにより、マップ上でネットワーク解析タスクを実行するための Web サービスが作成されます。
マップをモバイル デバイスで表示する場合
[モバイル データ アクセス] ケーパビリティを使用すると、マップ サービスのコンテンツを抽出してモバイル デバイスで表示できます。マップがモバイル デバイスで表示されることがわかっている場合は、マップを単純にします。背景レイヤや参照レイヤでポリゴンをスムージングする、ラスタの解像度を下げるといった、データの単純化を検討します。これはマップの描画が高速化するのに役立ちます。
作成する Web アプリケーションに著作権情報を表示する場合
Manager で Web マッピング アプリケーションを作成する際には、マップ ドキュメント内の著作権情報が検索されます。著作権情報が検出されると、マップの隅にリンクが表示され、ユーザがリンクをクリックするとフローティング パネルに著作権情報が表示されます。この方法で著作権情報を表示させたい場合は、ArcMap でデータ フレームまたはレイヤのプロパティを表示する必要があります。[一般] タブをクリックし、[著作権] テキスト ボックスに著作権情報を入力します。
ArcGIS API for JavaScript、Flex、または Silverlight で開発した REST ベースのアプリケーションでマップを使用する場合は、[説明] も入力してください。この説明は Services Directory で参照できます。REST アプリケーション開発者はこの説明を使用して、独自のメッセージや情報ウィンドウを実装できます。また、サービスを検索するときにも役立ちます。
Web アプリケーションのコンテンツ ウィンドウに表示するレイヤ名とマップ フィーチャの説明
Web アプリケーションのコンテンツ ウィンドウに表示されるレイヤ名とマップ フィーチャの説明は、ArcMap のコンテンツ ウィンドウで入力したレイヤ名またはマップ フィーチャの説明を反映します。Web マッピング アプリケーションのコンテンツ ウィンドウには見出しがありませんが、サービス名が表示されます。次の図は、ArcMap のコンテンツ ウィンドウと Web ADF のコンテンツ ウィンドウを比較したものです。