マップ キャッシュの計画
マップ キャッシュを構築する前に、使用するタイル スキーマとキャッシュを構築するのに必要なリソースについて検討することが重要です。また、場合によっては、マップ ドキュメントがタイル スキーマのどの縮尺レベルでも有効になるように、追加の設計作業を行う必要もあります。
大規模なキャッシュの作成には長い時間と多くのリソースが必要になるので、キャッシュの生成に取りかかる前に、想定どおりの結果が得られるようにしておく必要があります。可能であれば、小さいマップ エリアでキャッシュを試験的に構築するか、最初のいくつかのレベルのキャッシュを作成して、期待どおりの画像が表示されることを確認しておきます。
キャッシュするマップの設計
紙の地図を作成する場合、その縮尺はただ 1 つです。地図の詳細エリアを示す範囲には、さらに 1 つか 2 つの縮尺が使用されることはあります。縮尺の数が非常に少ない場合であっても、マップの総描(間引き)、シンボル、およびラベリングを正確に調整することは、通常、困難な作業です。キャッシュされ、コンピュータ画面で表示されるマップを作成する際には、マップがすべてのキャッシュ縮尺で判読でき、効果的に使用されるようにする必要もあります。
テンプレートを使用した計画の開始
ArcGIS Resources では、ダウンロード可能な複数縮尺のマップのサンプルが提供されています。これらの「マップ テンプレート」には、サンプルのマップ ドキュメントが含まれており、これは独自のデータおよび設計ニーズに対応するように変更できます。テンプレートを使用しない場合でも、いくつかのテンプレートをダウンロードし、マップのコンテンツ ウィンドウおよびデータセットの構造を検証することで、効果的な複数縮尺のマップを構築する方法を学習できます。
このヘルプ トピックの残りの部分では、テンプレートで適用されているマップ キャッシュの設計原則について説明します。Web アプリケーションで ArcGIS Online、Bing Maps、または Google Maps サービスをオーバーレイするマップを設計する場合は、「ArcGIS Online、Google Maps、または Bing Maps をオーバーレイするマップの設計」もご参照ください。
縮尺の選択と縮尺依存の設定
ラベルとフィーチャに縮尺依存を適用すると、マップが正しく設計されていることを保証できます。下のサンプルのキャッシュ イメージをご覧ください。マップ上でイメージを拡大表示すると、テキストとシンボルが示す情報の量が増えていくことがわかります。道路の線は太くなり、都市はポイントではなくポリゴンによって表されるようになります。同様に、縮小表示のときに使用されるデータセットは拡大表示すると粗くなりすぎるので、マップがより詳細なデータセットに切り替わります。道路とそれらのラベルはマップを煩雑にするので、最大拡大縮尺のときだけ表示されます。このような縮尺に依存した変化は、マップでより多くの情報を系統的に伝えるのに役立ちます。
マップ上のフィーチャまたはラベルを特定の縮尺でのみ表示したり、縮尺に応じて描画方法を切り替えたりすることが可能です。マップのレイヤに設定する縮尺依存とタイル スキーマに対して選択する縮尺レベルは、慎重に組み合わせる必要があります。フィーチャに縮尺依存を適用しても、タイル スキーマにそのフィーチャを表示できる縮尺レベルが含まれていなければ、意味がありません。
たとえば、1:2,000 以上に拡大表示したときにフィーチャが表示されるように縮尺範囲の指定を行っている場合、キャッシュの最大縮尺を 1:2,500 に設定すると、それらのフィーチャは表示されなくなります。タイル スキーマに 1:1250 の縮尺を追加すると、フィーチャが表示されるようになります。さらに縮尺を追加したくない場合は、1:3,000 以上に拡大表示したときにフィーチャが 表示されるように縮尺範囲の指定を変更できます。
変更できないマップについてキャッシュを作成する場合でも、マップの特性を活かすようにタイル スキーマを設計することが可能です。可能であれば、マップを ArcMap で開き、レイヤ プロパティを調べて、縮尺依存のレイヤが存在するかどうかと、それらがどの縮尺でレイヤのオン/オフが切り替わるかを確認します。レイヤに縮尺依存がある場合は、タイル スキーマにレイヤを表示できる縮尺レベルを追加することを検討してください。たとえば、レイヤが 1:150,000 〜 1:250,000 の縮尺で表示可能に設定されている場合は、タイル スキーマに縮尺として 1:200,000 を追加すると、キャッシュのレイヤが表示されるようになります。
座標系の選択
キャッシュするマップのデータ フレームでは、どのような座標系でも使用できます。ただし、キャッシュを別のキャッシュでオーバーレイする場合は、両方のキャッシュで同じ座標系を使用する必要があります。これは、オンライン マップ サービスから取得したタイルにキャッシュをオーバーレイする場合にも当てはまります。ArcGIS Online サービス、Google マップ、および Microsoft Bing Maps はすべて WGS 1984 Web メルカトル(球体補正)投影座標系を使用します。
10.0 以前のバージョンでは、ArcGIS Online サービスは WGS 1984 地理座標系を使用していました。これらのサービスは更新されていないため、ArcGIS Online サービスをオーバーレイするために構築する新しいキャッシュは WGS 1984 Web メルカトル(球体補正)を使用する必要があります。
レイヤ表示の計画
キャッシュ ツールは、マップ サービスのすべてのレイヤを 1 つのイメージに結合します。このため、レイヤのオン/オフを設定することはできません。この効果によってキャッシュが高速化します。サーバにとっては、多くのイメージを取得するよりも、1 つのイメージを取得するほうが高速です。
以前のバージョンの ArcGIS Server で利用可能であった [融合キャッシュ] オプションと [マルチレイヤ キャッシュ] オプションは、バージョン 10.1 で廃止されました。今ではすべてのキャッシュが融合であり、これが実質的にすべてのケースで最高のパフォーマンスを発揮するオプションになっています。
ここで、レイヤのオン/オフを設定できるようにする方法について説明します。解決策の 1 つは、マップ内で関連するレイヤをグループ化し、各グループを別のマップ ドキュメントに格納することです。各マップ ドキュメントからマップ サービスを公開し、キャッシュを作成します。
たとえば、銀行、レストラン、美術館、図書館、ショッピング センター、土地区画、道路、河川、市区町村の境界線、湖、公園、および標高のレイヤが含まれたマップ ドキュメントがあるとします。
ArcMap を使ってドキュメントを表示する場合は、これらのレイヤのオン/オフを自由に設定することができます。ただし、マップ キャッシュを使ってこのマップを Web 上に公開する場合は、いくつかのレイヤを組み合わせることをお勧めします。レイヤ リストを調べて、以下の 3 つのグループに論理的に分類し、それぞれのグループからマップ ドキュメントを個別に作成することができます。
マップ ドキュメント 1(対象ポイント)
- 銀行
- レストラン
- 美術館
- 図書館
- ショッピング センター
マップ ドキュメント 2(文化景観)
- パーセル
- 道路
- 公園
- 市区町村の境界線
マップ ドキュメント 3(自然フィーチャ)
- 河川
- 湖
- 標高
これらのマップ ドキュメントごとに、マップ サービスを使ってキャッシュを作成することができます。どのキャッシュにも必ず同じタイル スキーマを使用してください。そうすれば、3 つのマップ サービスのオーバーレイが可能になります。
自然フィーチャを文化景観と分けて表示する必要がない場合は、マップ ドキュメント 2 および 3 を 1 つのマップ ドキュメントにまとめて、パフォーマンスをさらに向上させることができます。
キャッシュの作成時間の見積り
マップ サービスのキャッシュを作成する際、サーバはキャッシュ作成のために指定されたエリアの全範囲をカバーするマップ イメージを、指定された縮尺レベルごとに描画する必要があります。さらに、キャッシュを保持するために必要なファイルとフォルダ構造も作成する必要があります。
キャッシュを作成するための所要時間は、選択された縮尺レベル、キャッシュの構築に割り当てられたサーバ リソースの量、およびマップ上の情報の密度にも依存します。高性能なサーバを使用したとしても、大きなキャッシュの生成には数日を要することがあります。多くの場合、キャッシュの作成にかなり時間がかかるとしても、キャッシュを使用することによって得られるパフォーマンス上の利点はそれを上回ります。
キャッシュの生成に時間がかかることがありますが、サービスがタイム アウトすることを懸念する必要はありません。CachingTools サービスは、非常に長いタイムアウト値を使用します。
縮尺レベルの選択
キャッシュの縮尺レベルを選択する際には、マップを拡大表示すればするほど、マップ範囲をカバーするのに必要なタイルの数が増え、キャッシュの生成に時間がかかることに注意してください。縮尺分母を 2 で割るたびに、マップの矩形エリアをカバーするためのタイルの数が 4 倍になります。たとえば、縮尺が 1:500 の矩形マップに含まれるタイルの数は縮尺が 1:1,000 のマップの 4 倍になり、縮尺が 1:250 の矩形マップに含まれるタイルの数は縮尺が 1:1,000 のマップの 16 倍になります。
キャッシュ内のタイルの数の増え方を把握するには、ArcMap でマップを開きます。幅 256 ピクセル、高さ 256 ピクセルの領域にマップの 1 つのエリアを表示します(このエリアは表示設定によって異なります。おそらく一辺が 2.5 〜 3.25 インチ [6.35 〜 8.26 cm] になるでしょう)。これが、デフォルト設定でキャッシュ タイル 1 枚がカバーするエリアです。次に、現在の縮尺の分母を 2 で割ります(たとえば最初に 1:40,000 の縮尺でマップを表示していた場合は、1:20,000 まで拡大表示します)。この縮尺では、同じエリアをカバーするのに 4 つのタイルが必要になります。縮尺分母を再び 2 で割ると、エリアをカバーするのに必要なタイルは 16 個になります。次の表は、元の矩形エリアをカバーするのに必要なタイルの数が、縮尺分母を 2 で割るたびに増えていく様子を示しています。最初の 1:32,000,000 の縮尺では、一辺が 256 ピクセルのタイル 1 つで米国西部のサイズのエリアをカバーできます。
レベル |
縮尺 |
タイルの数 |
---|---|---|
第 1 レベル |
1:32,000,000 |
1 タイル |
第 2 レベル |
1:16,000,000 |
4 タイル |
第 3 レベル |
1:8,000,000 |
16 タイル |
第 4 レベル |
1:4,000,000 |
64 タイル |
第 5 レベル |
1:2,000,000 |
256 タイル |
第 6 レベル |
1:1,000,000 |
1,024 タイル |
第 7 レベル |
1:500,000 |
4,096 タイル |
第 8 レベル |
1:250,000 |
16,384 タイル |
第 9 レベル |
1:125,000 |
65,536 タイル |
第 10 レベル |
1:62,500 |
262,144 タイル |
第 11 レベル |
1:31,250 |
1,048,576 タイル |
サーバ リソース
キャッシュを操作するために割り当てられている CachingTools ジオプロセシング サービスのインスタンスの数が多ければ多いほど、キャッシュの生成時間は短縮されます。キャッシュに割り当てるインスタンスの数については、「マップ キャッシュを作成するためのサーバ リソースの割り当て」をご参照ください。
マップ上の情報の密度
キャッシュのサイズとキャッシュを作成するのに必要な時間は、どちらもマップ内の情報量に左右されます。色の変化やパターンの数が多いエリアでは、均一的なエリアよりもファイル サイズの大きいキャッシュ タイルが生成されます。たとえば、高解像度のラスタ イメージが使用されているマップでは、通常、タイルのファイル サイズが大きくなります。これは、ディスク上の元の画像サイズが原因ではなく、イメージ ピクセル間の色やパターンの変化が原因です。
同様に、レイヤの数が多く、ArcMap での描画にかなり時間のかかるマップの場合、一般に、キャッシュの作成にも時間がかかります。これは、サーバがタイルを作成するときに、縮尺レベルごとにマップの適切なレイヤを繰り返し描画する必要があるためです。
キャッシュの作成状況の監視
キャッシュの終了ステータスを表示するには、カタログ ツリーでサービスを右クリックし、[キャッシュ ステータスの表示] をクリックします。また、[マップ サービス キャッシュ ステータスの管理(Manage Map Server Cache Status)] ツールを実行して、タイルを作成したエリアのフィーチャクラスを取得したりすることもできます。[バンドル ステータスのレポート] オプションを選択します。
ハードウェアの準備
キャッシュは、GIS または Web サーバ層のコンピュータ、あるいは個別の SAN(ストレージ エリア ネットワーク)デバイスまたは NAS(ネットワーク接続ストレージ)デバイスに格納できます。リソースに余裕がある場合は、配置されている 1 つ以上のコンピュータをキャッシュの構築および格納のためだけに使用することも検討してください。
デフォルトでは、Windows がファイルを格納できる最小ディスク容量(クラスタ サイズ)は 4KB です。サイズが 4KB 未満のタイルが多数含まれているエクスプロード キャッシュを作成している場合、キャッシュがディスクで使用するサイズは実際のファイルのサイズよりもはるかに大きいことに注意してください。それに対し、連続するインデックス化されたデータのストリームでタイルを格納することにより無駄に使用されるディスク容量を最小限にするために [コンパクト] 格納形式が設計され、導入されました。
タイルの多くがクラスタ サイズよりも小さくなるかどうかを判断する最も効率的な方法は、マップの代表的なエリアのテスト キャッシュを作成して、タイルのサイズがどれぐらいになるかを確認することです。ファイル サイズが小さくなる傾向があり、より小さいクラスタ サイズで格納するほうが適切なキャッシュのタイプは、次のとおりです。
- PNG 8 のキャッシュ
- ベースマップをオーバーレイするために設計されたフィーチャが散在しているキャッシュ
- タイルの寸法が比較的小さいキャッシュ(256 x 256 以下)。これには、Google Maps または Bing Maps をオーバーレイするキャッシュが含まれます。
- 縮尺が大きい、エリアが不毛地域である、データが不足しているなどの理由で空のタイルが多数あるキャッシュ
上記の小さいファイル サイズに関する説明は、格納形式が [エクスプロード] である場合にのみ該当します。それに対し、連続するインデックス化されたデータのストリームでタイルを格納することにより無駄に使用されるディスク領域を最小限にするために [コンパクト] 格納形式が設計され、導入されました。詳細については、「使用可能なマップ キャッシュ プロパティ」をご参照ください。