マップの作成に関する注意事項

Web 上でマップを利用できるようにするには、ArcMap でマップを作成して ArcGIS Server サイトで公開した後に、クライアント アプリケーションでそのマップ サービスを使用する必要があります。マップ サービスを使ってできることの多くは、初期の作成段階で準備する必要があります。このトピックでは、サイトに公開するマップを作成する際の注意事項について説明します。

一般的なヒント

次のヒントは、ArcGIS Server サイトで公開するすべてのマップ ドキュメントにおいて重要です。

パフォーマンスを向上させるためのマップ キャッシュ

変更される可能性の低いデータがマップ内に含まれている場合は、パフォーマンスを向上させるためにマップをキャッシュすることを検討してください。マップをキャッシュすると、特定の縮尺レベルでレンダリングされた一連のマップ イメージを作成します。実際のキャッシュは、マップをサービスとして公開した後に実行されます。ただし、マップをキャッシュすることがわかっている場合、これはマップの作成プロセスに影響します。キャッシュ対象のすべての縮尺で適切に表示されるようにマップを作成します。キャッシュされたタイルはデータの単なる”絵”にすぎず、実際のレンダリング エンジンとラベリング エンジンはキャッシュの作成後には使用されないため、カートグラフィック ツールを使用してもパフォーマンスへの影響はありません。

マップをキャッシュできない場合、レンダリング エンジンとラベリング エンジンはマップ サービスのパフォーマンスに影響を与えます。詳細については、「マップ キャッシュとは」をご参照ください。

キャッシュされていないマップのパフォーマンスに関するヒント

マップ キャッシュは必要に応じて作成してください。ただし、頻繁に変化するデータが大量にある場合は、マップ キャッシュを作成して維持することは不可能かもしれません。そのような場合は、次のヒントを参考にして、マップのパフォーマンスを改善することができます。マップ ドキュメントを公開するときに、[サービス エディタ] を使用してマップを解析することができます。これにより、マップ ドキュメントのパフォーマンスを向上させる方法を簡単に判定できます。

マップ サービスの表示パフォーマンスを改善する

クライアントが ArcGIS Server にリクエストを送信してマップ サービスを表示するときに、通常はサーバからの応答がブラウザによって一定期間キャッシュされ、再利用されます。この動作によって、ArcGIS Server はマップ サービスの最高の表示パフォーマンスを実現できます。ただし、アプリケーションでのマップ サービスと関連データの使用方法に応じて、ブラウザがキャッシュ内の応答を使用する期間を調整することを検討してください。これを行うには、cacheControlMaxAge というプロパティをサービスの JSON(JavaScript Object Notation)に追加します。

cacheControlMaxAge プロパティの使用方法

ArcGIS Server マップ サービスの応答には、エンティティ タグ(ETag)ヘッダーとキャッシュ コントロール ヘッダーが含まれています。ETag ヘッダーの値は、応答の一意の識別子です。キャッシュ コントロール ヘッダーには、キャッシュから応答を再利用できる最大期間に関する情報をブラウザに提供する max-age 値が含まれています。この値は、cacheControlMaxAge プロパティによって制御されます。

リクエストが繰り返された場合、キャッシュの最大期間の期限が切れていなければ、ブラウザは、サーバにリクエストを送信しないで、キャッシュされている応答を使用します。キャッシュの最大期間の期限が切れている場合、ブラウザは、リクエストをサーバに送信し、キャッシュ内の応答に対応する ETag 値を使用して IF-NONE-MATCH ヘッダーを設定する必要があります。ArcGIS Server は、リクエストを評価し、ETag 値を使用して、応答が変更されているかどうかを判定します。サーバからの応答がブラウザ上のコピーと異なる場合、サーバはまったく新しい応答をブラウザに送信します。応答がブラウザ上のコピーと同一である場合、サーバは、キャッシュ内の応答を引き続き使用するようにブラウザに警告します。

cacheControlMaxAge プロパティの値の定義

ArcGIS Server 管理者は、cacheControlMaxAge プロパティを定義して、ブラウザがキャッシュされた応答を使用できる期間を指定できます。ArcGIS Server が完全な応答を送信する必要性を軽減することによって、ブラウザのキャッシュを効率化し、アプリケーションを最適化し、ネットワーク帯域幅を節約することができます。

マップ サービスのデフォルト値は 0 です。これは、ブラウザが必ずリクエストを再送し、ArcGIS Server がそのリクエストを処理して、コンテンツが変更されている場合に完全な応答をブラウザに送信するということを意味します。このデフォルト値は、ほとんどのアプリケーションで有効に機能します。

データセットやシンボルが頻繁に変更されるマップ サービスの場合、5 分(300 秒)などの値を指定することをお勧めします。アニメーションなどの時間に対応するデータを使用するアプリケーションでは、アニメーションをより滑らかに表示するために、この値を増やすことを検討してください。

cacheControlMaxAge プロパティをサービスに追加してデフォルト値を指定するには、以下の手順を実行します。

  1. Web ブラウザで ArcGIS Server Administrator Directory を開き、管理者権限を持つユーザでログインします。URL の形式は、http://gisserver.domain.com:6080/arcgis/admin です。
  2. [services] をクリックして、変更するマップ サービスを [Services] リストから選択します。サービスがリストに表示されない場合は、[Root folder]の下のディレクトリに配置されている可能性があります。
  3. [Service - <サービス名> (<サービス タイプ>)] ページで下までスクロールし、[edit] をクリックします。
  4. [Service Properties] ダイアログ ボックスで、サービス JSON の "properties" セクションを見つけます。
  5. cacheControlMaxAge プロパティをそのセクションに追加して、そのプロパティの値(秒単位)を指定します。以下に例を示します。
    "properties": {
      "cacheControlMaxAge": "300",
    
  6. [Save Edits] をクリックします。
  7. [Service - <サービス名> (<サービス タイプ>)] ページの[Properties] セクションで、cacheControlMaxAge プロパティと、それに指定した値が表示されていることを確認します。

マップをモバイル デバイスで表示する場合

[Mobile Data Access] ケーパビリティを使用すると、マップ サービスのコンテンツを抽出してタブレット PC や Windows Mobile デバイスで表示できます。マップがモバイル デバイスで表示されることがわかっている場合は、マップを単純にします。背景レイヤや参照レイヤでポリゴンをスムージングする、ラスタの解像度を下げるといった、データの単純化を検討します。これにより、マップの描画が高速になります。

マップを使用して、サーバ上でネットワーク解析を実行する場合

マップをサーバ上でのネットワーク解析に使用する場合は、ネットワーク データセットを参照するネットワーク解析レイヤを追加する必要があります。マップ サービスを公開する際に、[Network Analysis] ケーパビリティを有効にできます。これにより、マップ上でネットワーク解析タスクを実行するための Web サービスが作成されます。

6/13/2014