ArcGIS には、1 つのキャッシュから別のキャッシュにタイルをまとめて転送するときに役立つ 2 つのジオプロセシング ツールが含まれています。これらは [マップ サービス キャッシュのエクスポート (Export Map Server Cache)] と [マップ サービス キャッシュのインポート (Import Map Server Cache)] で、どちらも [サーバー ツール] ツールボックスにあります。これらは、異なる組織のタイルから 1 つのプライマリ キャッシュを構成する、共同のキャッシュ ジョブを行う場合に便利です。これらのツールは、タイルのサブセットをコンピューターに移動して、オフラインで使う場合にも使用できます。
エクスポート/インポート ツールの便利な使用方法
次の例は、エクスポートおよびインポート ツールの便利な使用方法を理解するのに役立ちます。
キャッシュの随時更新
あなたが州のイメージ キャッシュの管理を担当しているとします。州内の郡の 1 つに新しい高解像度のイメージがあり、あなたが管理を担当するキャッシュへの追加を希望しています。あなたは郡に対し、そのキャッシュを外付けハードディスク ドライブか、エクスポートされたファイルを取得できる、アクセス可能なネットワークの場所にエクスポートするように依頼します。その後、タイルを自分のキャッシュにインポートします。
共同キャッシュ
キャッシュのタイムリーな更新の考え方を拡張して、複数のタイル提供者を対象にすることができます。あなたが地域の複数の地方自治体を連携する Web マッピング プロジェクトを取りまとめているとします。各地方自治体には独自の GIS データベースとマッピング アプリケーションがありますが、すべての自治体がカートグラフィック スタイルとキャッシュ タイル スキーマを一致させることに同意しています。
この例では、各地方自治体が作成したタイルで構成される、共同キャッシュを構築することにしました。各地方自治体が、境界線の範囲内のキャッシュ タイルをエクスポートします。その後、それらのタイルを Web マップ用の 1 つのプライマリ キャッシュにインポートします。インターネット上でマップを表示する一般ユーザーは、データが異なるソースから集められたことにも気付かないかもしれません。
切断されたキャッシュ
ArcMap はタイル キャッシュを他のラスター データセットと同様に、ディスクから読み込むことができます。対応するマップ サービスは必要ありません。これによって、タイルのサブセットを他のコンピューターに移動してオフラインで使用するという、エクスポート ツールとインポート ツールの 3 つ目の例が可能になります。
あなたは大都市で働いており、イメージが格納されたキャッシュ マップ サービスを設定したとします。従業員は ArcMap でこのサービスを使用して、自分の仕事に利用したいと考えます。しかし、一部の従業員は時折、インターネットを使用できない現場にノート パソコンを持ち込む必要があります。
あなたはネットワーク上の共有の場所に、キャッシュのコピーをエクスポートすることにしました。これで、従業員はこの場所から自分のノート パソコンへ、タイルをインポートすることができます。必要以上のタイルを取得しないようにするために、従業員は対象エリアのフィーチャクラスを作成し、インポート エリアを定義するために使用します。従業員がノート パソコンで ArcMap を実行する際には、他のラスター データセットの場合と同様に、インポートされたキャッシュを参照してマップに追加します。
タイルのエクスポート/インポートの基本
タイルのエクスポート/インポートのワークフローは、次の手順で構成されます。
1. タイル セットのエクスポート
最初に、[マップ サービス キャッシュのエクスポート] ツールを使って、ソース キャッシュからタイルをエクスポートします。必要に応じて、エクスポートの範囲を制限する対象エリアを定義することができます。この点で、これらのツールは、タイルのコピーと貼り付けを実行するよりも便利です。単純なコピーと貼り付けでは、タイルのサブセットから対象エリアを空間的に分断するのは困難でしょう。
フィーチャクラスの境界線に基づいてエクスポートすると、エクスポートエリアは原則的にフィーチャクラスの境界線にクリップされます。周辺タイル上のフィーチャクラスの境界線の外側にあるエリアは、透明になるか (ソース キャッシュが PNG または MIXED の場合)、背景色が設定されます (ソース キャッシュが JPEG の場合)。
ソースのエクスポート先には、ネットワーク上の共有の場所や Web 対応フォルダーを指定できます。また、ネットワークに接続されていないノート パソコンや、ハード メディアにエクスポートする場合もあります。クラウド コンピューティングのシナリオで見られるように、ArcGIS Server アカウントがエクスポート先に対する書き込みアクセス権を持たない場合は、[データをサーバーからコピー] チェックボックスをオンにすることができます。これにより、タイルがサーバーの出力ディレクトリに置かれ、クライアントはそこからタイルをダウンロードします。このオプションを使用すると速度は遅くなりますが、より幅広いクライアントがエクスポートを利用できるようになります。
タイル スキーマと基本的なキャッシュ ディメンション情報はそれぞれ、conf.xml および conf.cdi ファイルがタイルとともにエクスポートされます。これらのファイルは、キャッシュについての基本情報を取得するために、ArcMap などのクライアントには不可欠なものです。
最後に、[マップ サービス キャッシュのエクスポート] によって、キャッシュ格納形式 ([コンパクト] と [エクスプロード]) を切り替えることができます。これは、キャッシュ内に格納形式を混在させることはできないために必要になります。ネットワーク非接続環境にコピーする大きなタイル セットをエクスポートする場合は、[コンパクト] 形式を使用します。[コンパクト] 形式の場合、[エクスプロード] 形式よりもディスク容量が少なくて済み、コピーの速度もかなり速くなります。
2. タイルを接続されていないラスター データセットとして使用
タイルをエクスポートしたら、ArcMap のラスター データセットとして、ディスクから直接使用することができます。[データの追加] をクリックして、タイルをエクスポートした場所を参照します。多くのワークフローではこの手順は不要ですが、任意に選択できます。また、必要に応じてここで終了し、他の場所にタイルをインポートしないことを選択することもできます。
3. タイルを他のキャッシュにインポート (任意)
[マップ サービス キャッシュのインポート] ツールを使用すると、エクスポートされたタイル セットが既存のキャッシュにインポートされます。キャッシュのタイル スキーマが一致している必要があります。キャッシュのイメージ形式も一致しているか、あるいはインポート先のキャッシュがイメージ形式として [MIXED] を使用している必要があります。
必要に応じて、インポートの対象エリアを定義することができます。これは、他のユーザーがキャッシュ全体をエクスポートしており、その特定の部分だけを取得したい場合に便利です。
ArcGIS Server アカウントがソース キャッシュに対する読み取りアクセス権を持たない場合は、[データをサーバーにアップロード] チェックボックスをオンにすることができます。これにより、タイルはサーバーのシステム ディレクトリに置かれます。サーバーはタイルを自動的にサーバーのキャッシュ ディレクトリに移動します。
イメージ形式の重要性
あるキャッシュから別のキャッシュにインポートする際は、キャッシュ画像の形式が一致する必要があります。
可能であれば、タイル キャッシュのエクスポート/インポートを実行するときは PNG キャッシュまたは MIXED 形式キャッシュを使用してください。JPEG キャッシュは、タイルの背景色を透過として認識することができません。背景色を含む JPEG タイルを使用しなければならない場合には、これらのタイルの背景色がインポート先のキャッシュに取り込まれる点に注意してください。インポート先のキャッシュと元の背景色が異なる場合、インポートによってそのキャッシュは 2 つの背景色を持つことになります。
タイルのマージまたは上書きの選択
タイルをキャッシュにエクスポートまたはインポートする際、元のキャッシュの透明なピクセルは、デフォルトで無視されます。その結果、インポート先のキャッシュでイメージはマージまたはブレンドされます。たとえば、ベースマップ イメージを上書きすることなく、ポイント フィーチャやライン フィーチャを含むタイルをベースマップ キャッシュにインポートできます。
ブレンドされたイメージが適切にならないような状況では、インポートやエクスポートを強制して対象エリアのすべてのピクセルを置き換える必要があります。これを行うには、エクスポート ツールやインポート ツールを実行するときに [タイルの上書き] ボックスをオンにします。元のキャッシュに透明なピクセルが含まれる場合、インポート先のキャッシュはこれらのエリアが透明になることに注意してください。
この選択は、透明なピクセルをサポートしていない JPEG キャッシュには無関係です。
フィーチャクラスの境界線に基づいてエクスポートする際のラベルの処理
フィーチャクラスの境界線に基づいてタイルをエクスポートする場合、フィーチャクラスの境界線の外部にあるラベルまたはラベルの一部は、エクスポートされたキャッシュに表示されません。このため、ラベルがフィーチャクラスの境界線にまたがるか、その外部に配置されることが多い、ラベルが密集したエリアでは、作業が困難になります。
マップ ラベルが特定のフィーチャクラスに基づいてエクスポートされる傾向にあることがわかっている場合、ラベルがこれらのフィーチャクラスの境界線にオーバーラップするのを避ける、Maplex ウェイト ルールを設定することができます。[ラベリング] ツールバーの [ラベル ウェイト ランキング] をクリックしてウェイトを設定します。
以下の図は、ウェイト ルールをどのように設定して、ラベルと州ポリゴンの境界線のオーバーラップを回避するかを示しています。このルール タイプを使用すると、州の境界線に沿って実行されるエクスポートによって、ラベルが半分にクリップされることがなくなります。
ウェイトに 1000 を指定すると、フィーチャにラベルがオーバーラップしなくなります。ウェイトはポリゴン境界に設定されるものであり、ポリゴン自体に設定されるものではありません。ポリゴンにこのウェイトが設定されると、州内にラベルが表示されなくなります。ラベルが州の境界の外側に配置されるのを避けたい場合 (海岸線に沿って配置されることがある)、州の境界線の逆を表すポリゴンを作成し、そのポリゴン上にラベルが配置されることを禁止するとよいでしょう。
クライアントがタイルをインポートするのに使用するフィーチャクラスを、常に制御できるとは限りません。しかし、Maplex ラベル ウェイトを使用すれば、タイルのエクスポート時に、ラベルの正しい処理の実現に向けて大きく前進することができます。
クライアントがキャッシュ タイルをエクスポートすることを許可
ArcGIS クライアント API では、オフラインで使用できるように、アプリケーションでマップ タイルをサーバーからダウンロードできます。ArcMap の [サービス エディター] の高度なキャッシュ ページで [クライアントがキャッシュ タイルをエクスポートすることを許可] チェックボックスをオンにすると、REST API での一連の操作が有効になり、これらのダウンロードを実行する権限が与えられます。これらの操作の詳細については、「タイルのエクスポート」をご参照ください。
大きなタイルのダウンロードは、サーバーのパフォーマンスに悪影響を及ぼし、クライアント デバイスの格納領域を圧迫する可能性があります。[エクスポートするキャッシュの上限] 設定を使用すると、クライアントが一度に要求できるタイルの最大数を定義できます。
ヒント:
ダウンロードできるタイルの最大数を決めるには、クライアントがダウンロードする平均面積を決定し、その面積内のタイルの合計数を調べると便利です。「キャッシュの終了ステータスの表示」をご参照ください。
エクスポートされたタイルがサーバー出力ディレクトリに配置されます。クライアントにタイルのエクスポートを許可した場合、サーバー出力ディレクトリ内で許可されるファイルの最大保存期間を延長することをお勧めします。デフォルトは 10 分ですが、これは、クライアントが消去される前にタイルを取得するには十分でない場合があります。この編集を行う手順については、「ArcGIS Server Manager でのサーバー ディレクトリの編集」をご参照ください。
エクスポートのパフォーマンス
REST を使用したタイルのエクスポートは、caching controller サービスによって実行されます。マップ、イメージ サービス および CachingTools サービスに割り当てられるインスタンスの数は、パフォーマンスに影響を与えません。特定の時間でサポートされる exportTiles の並列処理数を増やすには、caching controller サービスのインスタンスの数を増やす必要があります。3*N という式を使用します。ここで、N はサイト内の 1 台の ArcGIS Server コンピューター上のコアの数です。