詳細レベルで部分キャッシュのみが使用できる場合、以下のいずれかの手法を使用して、ユーザーにシームレスなレンダリング環境を提供できます。
「データは利用不能」タイルの使用
マップのあるエリアにタイルが存在しないか、キャッシュが完了していない場合は、オンデマンドでタイルを作成するか、「データは利用不能」タイルを返すように Web サーバーを構成できます。
REST ベースのアプリケーション (たとえば ArcGIS Maps SDK for JavaScript で構築したもの) では、キャッシュのルート レベルに空のタイル (missing.png、missing.jpg、または blank.png) を配置して、「データは利用不能」タイルを構成します。 キャッシュ内にタイルが見つからない場合、サーバーはデフォルトでこのタイルを使用します。 「データは利用不能」タイルを構成するには、次の手順を実行します。
- タイル スキーマのタイルと同じディメンションおよび画像形式の画像を作成します。
- この画像に missing.png または missing.jpg という名前を付けます。
注意:
透過表示の必要なオーバーレイ サービスで透明な空のタイルが必要な場合、その画像に blank.png という名前を付けます。 - 作成した画像をマップ サービスの _alllayers フォルダーに保存します。
次に、パスの例を示します: opt/arcgis/server/usr/directories/arcgiscache/MyMapService/Layers/_alllayers/missing.png。
画像がすべてのレイヤー フォルダーに保存されると、サーバーはキャッシュのルート レベルにある「データは利用不能」タイルで、欠落しているタイルを自動的に置き換えます。
オンデマンド キャッシュ
「データは利用不能」タイルを使用する代わりに、マップのキャッシュされていないエリアにエンド ユーザーが移動したときにタイルが作成されるように、キャッシュを構成できます。 オンデマンドでのキャッシュは、時間またはストレージの制約のために完全にキャッシュできない、マップのあまりアクセスされないエリアを表示する場合にお勧めします。
オンデマンド キャッシュを有効にすると、ArcGIS Server サイトは、キャッシュされていないエリアにユーザーが移動したときにタイルを動的に描画します。 ArcGIS Server サイトは一連のタイルを動的に生成する必要があるため、動的に描画するには通常のリクエストよりも時間がかかります。 この一連のタイルは、マップ サービスがアンチエイリアスを使用している場合は 2048 x 2048 ピクセル、アンチエイリアスを使用していない場合は 4096 x 4096 ピクセルになります。 オンデマンドでキャッシュを動的に生成するプロセスはシングル スレッド処理であり、キャッシュ ジオプロセシング サービスのすべてのインスタンスを使用するわけではありません。 これらの要素は、広いエリアを適度な時間内で動的に描画できるようにマップを作成しておく際に留意すべき重要な事項です。
オンデマンド キャッシュをうまく実装すれば、時間とディスク容量を節約することができます。 多くの場合、マップにはマップ ユーザーにとって意味のない、使い道のない、あるいは興味のないエリアが存在します。そのため、オンデマンドでキャッシュすることで、キャッシュを作成したり、キャッシュに保存したりする必要なく、ユーザーが選択した場合に、これらのエリアを表示することができます。 タイルが生成されると、後続のマップ ユーザーはこれらのエリアのタイルが生成されるのを待つ必要はありません。
オンデマンド キャッシュは便利な機能ですが、適切に実装されていなかったり、むやみに使用したりすると、パフォーマンスに悪影響を与える可能性があることに留意することが重要です。
注意:
オンデマンド キャッシングを使用して生成されたタイル コンテンツは、マップまたはイメージ サービスのキャッシュ ステータスには反映されません。 キャッシュ ステータスを更新するには、[管理モード] パラメーターを [キャッシュ ステータスの再構築] に設定した [マップ サービス キャッシュ ステータスの管理 (Manage Map Server Cache Tiles)] ツールを使用します。
リサンプリング
タイル レイヤーを公開する際、あまりアクセスされないエリアや詳細な縮尺に対するタイル キャッシュの生成をなくし、ディスク スペースを節約し、キャッシュの生成にかかる時間を短縮できます。 このような場合、ユーザーがこれらのエリアに画面移動およびズームすると、クライアント アプリケーションはリサンプリングされたコンテンツをレンダリングします。
リサンプリングは、既存のタイル キャッシュを使用してタイルが生成されていないエリアを埋めるプロセスです。 リサンプリングされたコンテンツは、レイヤーで使用可能な最も近い詳細レベル (タイル) に基づいています。 このプロセスはユーザーに円滑なエクスペリエンスを提供できますが、結果がぼやけた画像になることがあり、特にリサンプリングの詳細レベルがソースの詳細レベルと大きく離れている場合に顕著です。 たとえば、特定のマップ エリア内にキャッシュされたタイルが存在する最大縮尺が 1:5000 で、ユーザーが 1:100 にズームした場合、リサンプリングされたキャッシュは明確さや精度を失います。
ユーザーが、タイル レイヤーの表示範囲に対して定義された最小および最大の縮尺を超えて定期的にズームしていることがわかった場合は、表示範囲を拡大し、大きい縮尺でタイルを構築することをお勧めします。