コンパクト キャッシュ格納形式を使用すると、タイルを個々のファイルとして格納するのではなく、大きなファイルにグループ化することができます。この形式にはいくつかの利点があります。
- ファイル数が減るため、キャッシュのコピーが容易になります。
- キャッシュのディスク上の合計サイズが小さくなります。
- タイル作成中のディスク I/O 回数が減るため、通常はタイルの作成速度が上がります。
- ネットワーク トラフィックが減るため、複数のコンピューターによる配置時に、タイル作成中のスケーラビリティが向上します。
キャッシュ格納形式の概要
ArcGIS 10.0 より前のバージョンでは、タイル キャッシュはエクスプロード形式でしか利用できませんでした。つまり、各タイルは、サイズが 256 px x 256 px の個別の JPEG または PNG ファイルとして格納されます。したがって、すべてのタイルを格納するエクスプロード キャッシュ フォルダーは非常に大きくなります。
タイル キャッシュのサイズを大幅に減らすために、[コンパクト] キャッシュ形式が 10.0 で導入されました。コンパクト キャッシュは、1 ファイルあたり最大 16,384 タイルを格納する *.bundle ファイルを使用します。コンパクト キャッシュはより小さく、簡単にコピーできます。
キャッシュを作成またはエクスポートする際に、その格納形式を [コンパクト] または [エクスプロード] にすることができます。
コンパクト キャッシュの詳細
コンパクト キャッシュでは、多数のタイルがバンドルと呼ばれる 1 つの大規模なファイルにグループ化されます。その結果、キャッシュ内のファイル数は数千または数百万ではなく、数十または数百になります。ディスクでコンパクト キャッシュの表示を確認すると、*.bundle の拡張子が付いたバンドル ファイルがあるのがわかります。
compact と呼ばれる初期バージョンのコンパクト キャッシュでは、その形式も拡張子 *.bundlx が付いた個別のインデックス ファイルで構成されました。個別の *.bundlx ファイルで構成すると、キャッシュがネットワーク共有またはクラウド ストアでホストされる場合のパフォーマンスに悪影響を及ぼすため、2 つ目のバージョンのコンパクト キャッシュ (compactv2) が 10.3 で導入されました。このバージョンは、キャッシュ作成時にデフォルトで使用されるようになり、*.bundlx ファイルは *.bundle ファイルに含められています。これにより、クライアントがキャッシュに対して実行する呼び出しの数が半減し、ネットワーク共有またはクラウド ストアのキャッシュを使用または提供する際のパフォーマンスが向上します。
compactv2 バージョンのコンパクト キャッシュは ArcGIS Server 10.3 以降でのみ使用できます。この形式はオープン規格です。
10.3 より前のバージョンで作成されたキャッシュで compactv2 のパフォーマンスの向上を図る場合は、[マップ サービス キャッシュ格納形式のアップグレード (Upgrade Map Server Cache Storage Format)] ツールを使用してキャッシュをアップグレードする必要があります。キャッシュをアップグレードしても新しいタイルは作成されませんが、ファイルは改善された形式に準拠しているものとして認識されます。
メモ:
[マップ サービス キャッシュ格納形式のアップグレード (Upgrade Map Server Cache Storage Format)] ツールは、ArcGIS Pro では使用できません。代わりに、ArcMap または ArcGIS Server にインストールされている Python を使用してください。
改善されたコンパクト キャッシュ格納形式には、以前のバージョンの ArcGIS との下位互換性はありません。たとえば、バージョン 10.3 以降を使用して作成またはアップグレードされたコンパクト キャッシュを移動したり、以前のバージョンのソフトウェアで使用することはできません。
[マップ サービス キャッシュのエクスポート (Export Map Server Cache)] ツールは、出力に compact 形式を使用するため、このツールを使用して、以前のバージョンの ArcGIS Server との互換性がある新しいキャッシュを作成できます。以前のバージョンを実行している ArcGIS Server サイトに compactv2 キャッシュをコピーする場合は、「キャッシュのコピー」をご参照ください。
コンパクト キャッシュの操作
キャッシュの作成中に、テンポラリ ファイルの *.lock と *.done がキャッシュ フォルダーに生成されます。*.lock ファイルを使用すると、ArcGIS Server で、作成プロセスにあるバンドルを記録できます。*.lock ファイルがあっても、バンドルがクライアントにアクセスできないということではありません。同様に、*.done ファイルを使用すると、ArcGIS Serverで、作成済みのバンドルを記録できます。キャッシュ ジョブが終了したら、*.lock ファイルと *.done ファイルをすべて削除する必要があります。
各レベルにバンドルを 1 つだけ含む、小さなキャッシュを作成することができます。一般的には、地理データはいくつかのバンドルの境界にまたがっているため、1 つのレベルに複数のバンドルが格納されます (地理データが小さいときには、バンドルには最大許容数である 16,000 ものタイルが含まれない場合があります)。大きなキャッシュには多数のバンドルが含まれます。
バンドルの境界はタイル スキーマ原点によって決定され、調整することはできません。たとえば、町内/通りレベルの縮尺である 1:4096 の場合、最大数のデータを含む 1 つのバンドルでは、米国東部にある中規模の郡を包含できます。
コンパクト キャッシュの更新
コンパクト キャッシュのタイルを更新する場合、バンドル全体が再作成されることはありません。代わりに、4096 x 4096 ピクセル (アンチエイリアスを使用しない場合) または 2048 x 2048 ピクセル (アンチエイリアスを使用する場合) の小さなエリアが更新されます。ArcGIS のドキュメントでは、このエリアの単位をスーパータイルと呼ぶことがあります。
バンドルからのタイルの取得
Web API を含む ArcGIS クライアントは、コンパクト キャッシュ形式で作成されたバンドル ファイルを読み取ることができます。Web クライアントは、ArcGIS Server サイトに対して、特定のレベル、行、および列のタイルを取得するための呼び出しを発行します。ArcGIS Server はそのリクエストを受信し、バンドルから適切なタイルを返します。
仮想ディレクトリからタイルを取得する独自のロジックをコーディングした場合は、引き続きエクスプロード形式をお使いください。この形式は、各タイルを単一のファイルとして格納するもので、ArcGIS Server 10.0 より前のバージョンでは唯一のオプションでした。