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