コンパクト キャッシュ格納形式の詳細
ArcGIS Server 10.0 では、コンパクト キャッシュ格納形式が導入されました。これは、マップ キャッシュ タイルを個々のファイルとして格納するのではなく、大きなファイルにグループ化する新しい方法です。タイルをグループ化して格納する利点は、以下のとおりです。
- ファイル数が減るため、キャッシュのコピーが容易になります。
- キャッシュのディスク上の合計サイズが小さくなります。
- タイル作成中のディスク I/O 回数が減るため、通常はタイルの作成速度が上がります。
- ネットワーク トラフィックが減るため、複数のコンピュータによる導入時に、タイル作成中のスケーラビリティが向上します。
コンパクト キャッシュの仕組み
コンパクト キャッシュでは、多数のタイルがバンドルと呼ばれる大きなファイルにグループ化されます。バンドルには最大 16,384 のタイルが含まれます。その結果、キャッシュ内のファイル数は数千または数百万ではなく、数十または数百になります。ディスクでコンパクト キャッシュの表示を確認すると、拡張子 *.bundle の付いたバンドル ファイルがあるのがわかります。拡張子 *.bundlx の付いた、対応するインデックス ファイルも表示されます。
各レベルにバンドルを 1 つだけ含む、小さなキャッシュを作成することができます。一般的には、地理データの一部が交差するバンドル境界を作成し、1 つのレベルに複数のバンドルを格納します(地理データが小さいときには、バンドルには最大許容数である約 16,000 ものタイルが含まれない場合があります)。大きなキャッシュには多数のバンドルが含まれます。
バンドル境界はタイル スキーマ原点によって決定され、調整することはできません。例えば、町内/通りレベルの縮尺である 1:4096 の場合、最大数のデータを含む 1 つのバンドルでは、米国東部にある中規模の郡を包含できます。
バンドルを使ったタイルの作成
タイルの作成時、各バンドルは、バンドルのタイルを作成する ArcSOC.exe プロセス(実行中のサービス インスタンス)に割り当てられます。1 つのバンドルに対し、同時に処理を行える ArcSOC.exe は 1 つだけです。
小さなキャッシュの場合、小さなフィーチャ境界に基づいてキャッシュすることになり、使用可能な ArcSOC.exe プロセスの使用率が 100% に満たないことがあります。これは、ArcSOC.exe の数が使用可能なバンドル数よりも多いため、一部の ArcSOC.exe がアイドル状態になっているからです。
大きなキャッシュの処理時に、ArcSOC.exe の使用率が低いことが原因でタイル作成時間が長くなっている場合には、より大きなフィーチャを使用してキャッシュ ジョブを分ける必要があります。
コンパクト キャッシュの更新方法
コンパクト キャッシュのタイルを更新する場合、バンドル全体が再作成されることはありません。代わりに、4096 x 4096 ピクセル(アンチエイリアスを使用しない場合)または 2048 x 2048 ピクセル(アンチエイリアスを使用する場合)の小さなエリアが更新されます。ArcGIS のドキュメントでは、この面積の単位を「スーパータイル」と呼ぶことがあります。
バンドルからのタイルの取得
Web API を含む ArcGIS クライアントは、コンパクト キャッシュ形式で作成されたバンドル ファイルを読み取ることができます。Web の場合、クライアントはタイルの特定のレベル、行、列の呼び出しをサーバに対して発行します。ArcGIS Server はリクエストを受け取り、バンドルから適切なタイルを返します。
バンドルの内部アーキテクチャについては、Esri は公開用のドキュメントを用意していません。 仮想ディレクトリからタイルを取得する独自のロジックをコーディングされた場合は、各タイルを単一のファイルとして格納する、ArcGIS Server バージョン 9.3.1 以前の唯一のオプションであった「エクスプロード」形式を引き続きお使いください。