タイル パッケージを構築する前に、使用するタイル スキーマとパッケージ キャッシュを構築するのに必要なリソースについて検討することが重要です。また、場合によっては、マップ ドキュメントがタイル スキーマのどの縮尺レベルでも有効になるように、追加の設計作業を行う必要もあります。
大規模なキャッシュの作成には長い時間と多くのリソースが必要になるので、キャッシュの生成に取りかかる前に、想定どおりの結果が得られるようにしておく必要があります。可能であれば、小さいマップ エリアでキャッシュを試験的に構築するか、最初のいくつかのレベルのキャッシュを作成して、期待どおりの画像が表示されることを確認しておきます。
キャッシュするマップの設計
紙の地図を作成する場合、その縮尺はただ 1 つです。地図の詳細エリアを示す範囲には、さらに 1 つか 2 つの縮尺が使用されることはあります。縮尺の数が非常に少ない場合であっても、マップの総描 (間引き)、シンボル、およびラベリングを正確に調整することは、通常、困難な作業です。キャッシュされ、コンピューター画面で表示されるマップをパッケージ化する際には、マップがすべてのキャッシュ縮尺で判読でき、効果的に使用されるようにする必要もあります。
テンプレートを使用した計画の開始
ArcGIS Resources では、ダウンロード可能な複数縮尺のマップのサンプルが提供されています。これらの「マップ テンプレート」には、サンプルのマップ ドキュメントおよびデータセットが含まれており、これは独自のデータおよび設計ニーズに対応するように変更できます。公開の時点では、道路、地形、公共インフラストラクチャ、山道、歴史上の出来事、および参照オーバーレイ (画像上に表示) のテンプレートが使用でき、他のテンプレートも今後追加される予定です。テンプレートを使用しない場合でも、いくつかのテンプレートをダウンロードし、マップの [コンテンツ] ウィンドウおよびデータセットの構造を検証することで、効果的な複数縮尺のマップを構築する方法を学習できます。
このヘルプ トピックの残りの部分では、テンプレートで適用されているマップ キャッシュの設計原則について説明します。
縮尺の選択と縮尺依存の設定
ラベルとフィーチャに縮尺依存を適用すると、マップが正しく設計されていることを保証できます。下のサンプルのキャッシュ イメージをご覧ください。マップ上でイメージを拡大表示すると、テキストとシンボルが示す情報の量が増えていくことがわかります。道路の線は太くなり、都市はポイントではなくポリゴンによって表されるようになります。同様に、縮小表示のときに使用されるデータセットは拡大表示すると粗くなりすぎるので、マップがより詳細なデータセットに切り替わります。道路とそれらのラベルはマップを煩雑にするので、最大拡大縮尺のときだけ表示されます。このような縮尺に依存した変化は、マップでより多くの情報を系統的に伝えるのに役立ちます。
マップ上のフィーチャまたはラベルを特定の縮尺でのみ表示したり、縮尺に応じて描画方法を切り替えたりすることが可能です。マップのレイヤーに設定する縮尺依存とタイル スキーマに対して選択する縮尺レベルは、慎重に組み合わせる必要があります。フィーチャに縮尺依存を適用しても、タイル スキーマにそのフィーチャを表示できる縮尺レベルが含まれていなければ、意味がありません。
たとえば、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 メルカトル (球体補正) 投影座標系を使用します。
レイヤー表示の計画
パッケージ化により、タイル パッケージ内のすべてのレイヤーは 1 つの画像に結合されます。このため、最終的なパッケージでレイヤーのオン/オフを設定することはできません。この効果によってキャッシュが高速化します。サーバーにとっては、多くのイメージを取得するよりも、1 つのイメージを取得するほうが高速です。
ここで、レイヤーのオン/オフを設定できるようにする方法について説明します。解決策の 1 つは、マップ内で関連するレイヤーをグループ化し、各グループを別のマップ ドキュメントに格納することです。各マップ ドキュメントからタイル パッケージを作成します。
たとえば、銀行、レストラン、美術館、図書館、ショッピング センター、土地区画、道路、河川、市区町村の境界線、湖、公園、および標高のレイヤーが含まれたマップ ドキュメントがあるとします。
ArcMap を使ってドキュメントを表示する場合は、これらのレイヤーのオン/オフを自由に設定することができます。ただし、タイル パッケージを使ってこのマップをパッケージ化する場合は、レイヤーのいくつかを組み合わせることをお勧めします。レイヤー リストを調べて、以下の 3 つのグループに論理的に分類し、それぞれのグループからマップ ドキュメントを個別に作成することができます。
マップ ドキュメント 1 (対象ポイント)
- 銀行
- レストラン
- 美術館
- 図書館
- ショッピング センター
マップ ドキュメント 2 (文化景観)
- パーセル
- 道路
- 公園
- 市区町村の境界線
マップ ドキュメント 3 (自然フィーチャ)
- 河川
- 湖
- 標高
各マップ ドキュメントに対して、タイル パッケージを作成できます。どのパッケージにも必ず同じタイル スキーマを使用してください。そうすれば、3 つのマップ サービスのオーバーレイが可能になります。
自然フィーチャを文化景観と分けて表示する必要がない場合は、マップ ドキュメント 2 および 3 を 1 つのマップ ドキュメントにまとめて、パフォーマンスをさらに向上させることができます。
キャッシュの作成時間の見積り
タイル パッケージを作成する場合、ArcGIS Runtime for WPF および Java で構築されたアプリケーションでは、指定した各縮尺レベルでキャッシュに指定したエリアの全範囲を対象とするマップ イメージを描画する必要があります。さらに、キャッシュを保持するために必要なファイルとフォルダー構造も作成する必要があります。
タイル パッケージ作成の所要時間は、選択された縮尺レベル、タイル パッケージの構築に割り当てられたコンピューター リソースの量、およびマップ上の情報の密度にも依存します。高性能なコンピューターを使用したとしても、大きなパッケージの生成には数日を要することがあります。多くの場合、タイル パッケージの作成にかなり時間がかかるとしても、タイル パッケージを使用することによって得られるパフォーマンス上の利点はそれを上回ります。
縮尺レベルの選択
タイル パッケージの縮尺レベルを選択する際には、マップを拡大表示すればするほど、マップ範囲をカバーするのに必要なタイルの数が増え、パッケージの生成に時間がかかることに注意してください。縮尺分母を 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 タイル |
マップ上の情報の密度
タイル パッケージのサイズとパッケージを作成するのに必要な時間は、どちらもマップ内の情報量に左右されます。色の変化やパターンの数が多いエリアでは、均一的なエリアよりもファイル サイズの大きいキャッシュ タイルが生成されます。たとえば、高解像度のラスター イメージが使用されているマップでは、通常、タイルのファイル サイズが大きくなります。これは、ディスク上の元の画像サイズが原因ではなく、イメージ ピクセル間の色やパターンの変化が原因です。
同様に、レイヤーの数が多く、ArcMap での描画にかなり時間のかかるマップの場合、一般に、パッケージの作成にも時間がかかります。これは、タイルを作成するときに、縮尺レベルごとにマップの適切なレイヤーを繰り返し描画する必要があるためです。