Skip To Content

イメージ サービス キャッシュとは

イメージ サービス キャッシュは、クライアント アプリケーションのイメージ サービスのパフォーマンスを向上させます。 イメージ サービスのキャッシュを作成すると、サーバー側でタイルが異なるレベルで事前に生成されるため、ArcGIS Server にリクエストがあるたびにモザイク データセットやラスター データセットへの入力を処理するよりも迅速にタイルを表示できます。 イメージ サービス キャッシュで重要な点は、リアルタイムで処理された画像を表示するのではないということです。画像を事前に処理してキャッシュされたタイルを作成し、このキャッシュされたタイルを表示します。

イメージ サービスをキャッシュすると、最終的に、用途に応じてアクセスできる二重用途のイメージ サービスが作成されます。 1 つの用途は、タイル サービスとしてイメージに最速でアクセスできるようにすることです。 もう 1 つの用途は、クエリやダウンロード、個々のアイテムへのアクセス、処理や解析での使用などのために、データにアクセスできるようにすることです。

注意:

すべてのイメージ キャッシュは 8 ビットのデータとして保存されます。

イメージ サービスをキャッシュする理由

イメージ サービス キャッシュの主な利点は、そのパフォーマンスの向上です。 キャッシュされたイメージ サービスは、ArcGIS Server で画像を動的に生成する必要がないため、非常に高速に表示することができます。 イメージ サービス キャッシュの具体的な利点には次のようなものがあります。

  • ベース画像に対するパフォーマンスの向上 - イメージ サービスがベース画像 (つまり、マップの背景) として使用されていて、モザイク手法の変更やクエリの実行のようにユーザーがイメージ サービスのプロパティを変更することが想定されていない場合は、キャッシュをお勧めします。
  • オーバービューの生成のスキップ - 基本画像として使用されるモザイク データセットを公開している場合、キャッシュを生成すると、モザイク データセットのオーバービューをスキップできるので時間を節約できます。 事前処理してタイル化したオルソ写真のコレクションや DEM の陰影図を提供する場合に、この方法を利用できます。
  • 遅いフォーマットのパフォーマンスの向上 - パフォーマンスの低いフォーマットまたは圧縮率が高いフォーマットを公開する場合は、キャッシュの生成をお勧めします。 関数チェーンが複雑であるためにモザイク データセットが遅い場合は、キャッシュによって画像へのアクセスが高速になります。

キャッシュの作成方法

キャッシュは自動的に開始されるわけではありません。 最初に、モザイク データセットまたはラスター データセットを、イメージ サービスとして共有する必要があります。 次に、キャッシュ プロパティを設定します。 これらの作業の後、キャッシュの作成を開始できます。

イメージ サービスをキャッシュすると、マップ サービス キャッシュと同様に、事前に定義された複数の縮尺レベルまたはピクセル サイズでイメージ タイルのコレクションを生成します。 これにより、ユーザーはすばやく表示を拡大または縮小できますが、一致する縮尺でのみ行われます。 また、イメージ サービス キャッシュはデフォルトの RGB バンドの組み合わせとモザイク手法を使って作成されます。

タイル スキーマ

キャッシュのために選択する縮尺と設定するプロパティによってタイル スキーマが構成されます。 タイル スキーマは、統合する可能性のある他のレイヤーと一致している必要があります。 たとえば、ArcGIS Online、Google Maps、Bing Maps といった一般的なタイル スキーマを使用して、キャッシュをこれらのオンライン マッピング サービスで簡単にオーバーレイできます。あるいは、自分の Web アプリケーション内で一貫性を保つよう独自のタイル スキーマを作成できます。 キャッシュはそれぞれタイル スキーマ ファイルを持つため、新しいキャッシュを作成するときにタイル スキーマ ファイルをインポートすると、すべてのキャッシュが同じタイル サイズと縮尺を使用するようになります。

タイル スキーマが、アプリケーションの他のレイヤーで使用されているものと一致しないと、キャッシュ レイヤーが表示されない場合があります。 これは、ArcGIS Pro と異なり、多くの Web クライアントはデータをリサンプリングして別のレベルで表示することができないためです。

独自のタイル スキーマを作成している場合は、モザイク データセットまたはラスター データセット内のピラミッドのオーバービューに一致する縮尺またはピクセル サイズ間隔を選択することをお勧めします。 この選択は、作成されているキャッシュ間隔に近いか同じであるオーバービューまたはピラミッドからキャッシュを作成できる場合、キャッシュの品質向上に役立ちます。そうでなければ、キャッシュ タイルが他のキャッシュ タイルから作成されるリスクがあり、画質が低下する可能性があります。 縮尺ごとにソース データを ArcGIS Pro でプレビューして、画像が適切であることを確認してから、その縮尺をタイル スキーマで使用するのもよい方法です。

キャッシュ用の [高度な設定] ページの [最大ソース セル サイズ] の値を入力して、キャッシュのベース セル サイズを制御することもできます。 これを使用して、たとえば、オーバービューまたはピラミッドが停止したキャッシュの構築を開始できます。

キャッシュ タイル

キャッシュ タイルは JPEG または PNG 形式で処理および保存できるため、サーバーはリクエストがあるたびにこれらの画像を提供することができます。

The cache is stored in your server cache directory. When you installed ArcGIS for Server, a server cache directory was created for you in a local folder. If you add more GIS servers to your site, you need to share your server cache directory (using operating system options such as Windows file sharing) so it can be accessed by other machines in your site.

パフォーマンスに関するすべてのメリットを得るため、キャッシングにはオーバーヘッドが伴います。 キャッシュ タイルを作成するための時間とサーバーの処理能力、およびキャッシュ タイルを格納するハードウェアが必要になります。 また、たとえばモザイク データセットなどのソース データが編集されている場合は、キャッシュの更新を実行する必要もあります。 アプリケーションで表示する画像が大きな縮尺で広範な領域にわたる場合は、キャッシュを作成して管理するために必要な時間とストレージがパフォーマンス上の利点を上回るかどうかを確認することをお勧めします。

イメージ サービス キャッシュを作成する手順の詳細

オンデマンド キャッシュ

オンデマンド キャッシュを行うと、タイル スキーマを設定してイメージ サービスを公開できますが、キャッシュは、ユーザーがサービスにアクセスしたとき、アクセスした場所にのみ生成されます。 キャッシュされていないエリアに最初にアクセスしたユーザーは、該当する部分のタイルがサーバーによって描画されるまで待つ必要があります。 これらのタイルはサービスのキャッシュ フォルダーに追加され、サーバー管理者によって更新または削除されるまでサーバー上に残ります。 したがって、後からそのエリアにアクセスしたユーザーは、タイルが作成されるのを待たずに済みます。

オンデマンド キャッシュをうまく利用すれば、時間とディスク容量を節約することができます。 多くのイメージ サービスには、特に縮尺が大きい (拡大表示されている) 場合に、ユーザーにとって必要のない、あるいは興味のないエリアが含まれています。 オンデマンド キャッシュは、こうした必要のないタイルを作成して格納する作業を不要にすると同時に、ユーザーに必要なエリアのみを表示できるオプションを提供します。

マップ サービスとイメージ サービスの両方に適用されるオンデマンド キャッシュを作成する場合、多くの推奨事項があります。

注意:

モザイク データセットを使用して作成されたイメージ サービスの場合: オンデマンド キャッシュの作成、または 1 レベルのキャッシュのみの作成では、キャッシュを作成できることを確認する必要があります。作成できない場合、キャッシュは空白になります。 キャッシュをオンデマンドで生成する場合は、各キャッシュ レベルで画像が表示されることを確認してください。 表示されない場合は、モザイク データセットのオーバービューを構築するか、画像の可視性に影響する可能性のある他の設定を変更してみます。 [マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを使用するときは、ランダムな縮尺を構築または再構築しないでください。 すべての縮尺を構築するか、以前に大きな縮尺で構築されている場合は小さな縮尺のみを構築してください。

イメージ サービスをキャッシュする必要性の判断

イメージ サービス キャッシュは、1 または 3 バンドを使用し、特定のモザイク手法を使用した、ある時点でのイメージ サービスのスナップショットを表します。 そのため、キャッシュが最も効果的なのは、デジタル オルソ写真地図のコレクションや陰影起伏標高イメージ サービスのような頻繁に変更されないイメージ サービスです。

データが変化する可能性が高い場合 (たとえば更新が頻繁な場合) は、キャッシュ ツールを使用して、キャッシュを定期的に更新することができます。 また、これらの更新を自動的に行うようスケジュールすることもできます。

イメージ サービスのソース データを表示する必要があり、時間の遅延を容認できない場合は、オンデマンド キャッシュの使用を検討することをお勧めします。

許容時間内での更新が変更に追いつかない場合、あるいは異なるイメージ プロパティでイメージ サービスを頻繁に変更する必要がある場合、イメージ サービスはキャッシュに適していません。

詳細:

ArcGIS Pro を使用している場合、通常、ラスター データが画面に追加されると、ラスター データにストレッチが適用されます。このため、イメージ サービスの外観が Web アプリケーションと ArcGIS Pro で異なる場合があります。 外観を同じにするために、ArcGIS Pro で適用されたストレッチをエクスポートし、公開およびキャッシュの前にイメージ サービスに追加できます。

ArcGIS Pro でストレッチをエクスポートする詳細については、「シンボル設定をテンプレートとして保存」をご参照ください。

ラスター関数テンプレート (*.rft.xml) をイメージ サービスに適用する詳細については、「リアルタイム処理を制御するパラメーター」をご参照ください。

イメージ サービス キャッシュの更新方法

イメージ サービス キャッシュは、マップ サービス キャッシュの場合と同じ方法で管理されます。

モザイク データセットのアイテムがモザイク データセットから作成したイメージ サービスに対して更新されると、[ダーティ エリアの計算 (Compute Dirty Area)] ツールが実行され、変更されたエリアを特定するフィーチャクラスが作成されます。 このフィーチャクラスを使用して、影響を受けたキャッシュ タイルを再構築することができます。

キャッシュされたイメージ サービスとキャッシュされていないイメージ サービスへのアクセス

キャッシュされたイメージ サービスを表示する場合、イメージ サービスの機能は制限されます。 たとえば、モザイク手法や送信時の圧縮手法は変更できません。 ただし、シンボルや拡張の変更や、ピクセルの個別属性表示の実行、データの検索、ソース データのダウンロードなどの処理は実行できます。

イメージ サービスを動的に処理して、モザイク手法などの機能を使用する必要がある場合は、レイヤーのモードを変更できます。 モードを変更するには、イメージ サービスのレイヤーを右クリックして、[キャッシュ ビュー モードを有効化] をオフにします。 イメージ サービスをキャッシュ サービスとして使用するには、このオプションをオンに戻します。

Web アプリケーション内のキャッシュされたイメージ サービスにアクセスする (ArcGIS Maps SDK for JavaScript を使用して開発したイメージ サービスなど) には、ArcGISTiledMapServiceLayer クラスを使用します。ダイナミック イメージ サービスとしてアクセスするには ArcGISImageServiceLayer クラスを使用します。 また、Open Geospatial Consortium (OGC) の Web Map Tile Service (WMTS) プロトコルを使用して、キャッシュされたイメージ サービスにアクセスすることもできます。

イメージ サービスの REST エンドポイントでは、ダイナミック イメージ サービスを提供する ExportImage と、キャッシュされたイメージ サービスへのアクセスを提供する GetTile の両方がサポートされます。

キャッシュされたイメージ サービスへのアクセスの詳細