グローブ キャッシュの仕組み

ArcGlobe には内部データ構成方式のデータ タイリングがあるため、膨大なデータ ソースを効果的に扱う能力があります。あとで使用するためのデータ タイルの格納をデータ キャッシュと呼びます。ArcGlobe を使用する際、データ タイルは常にメモリ キャッシュに格納され、必要に応じてディスク キャッシュに格納されます。このように格納されたデータ レイヤのデータ タイルをレイヤ データ キャッシュと呼びます。データ キャッシュの利点には、表示パフォーマンスの改善と、反復的なデータ リクエストの削減が含まれます。

グローブ サービスは、レイヤ データ キャッシュに大きく依存します。このキャッシュは、表示に使用されるレンダリング済みのタイルで構成されます。サービスは、タイルをリアルタイムに作成するよりも、タイルをキャッシュから取得するサービスのほうが高速です。このため、グローブ サービスは常にキャッシュを使用します。

グローブ キャッシュとマップ キャッシュ

2D マップ サービスの作業をしたことがあれば、マップ キャッシュの概念には精通しているかもしれません。グローブ キャッシュは、マップ キャッシュとは異なるファイル形式とフォルダ階層を使って格納されます。ただし、Esri グローブ クライアント(ArcGlobe および ArcGIS Explorer Desktop)は、2D グローブ キャッシュを読み取ることができるため、既存のマップ キャッシュがあれば、常にグローブ キャッシュを複製する必要はありません。

標高レイヤではグローブ キャッシュが必要です。これは、標高レイヤがオンデマンドの生成でサポートされていないためです。総合的なパフォーマンスを向上させるために、すべてのレイヤでキャッシュを生成することをお勧めします。

キャッシュの作成方法

グローブ キャッシュに最初に組み込むデータの量は、管理者が決定します。キャッシュには、完全データ キャッシュ、部分データ キャッシュ、オンデマンド(JIT)データ キャッシュの 3 種類があります。

完全データ キャッシュ

完全データ キャッシュは、データセットに定義されているすべての領域と詳細レベルを対象に、データ タイルを生成して保存することを意味します。完全データ キャッシュは、ArcGlobe 使用して、すべてのレイヤで実現することができます。可能であれば、グローブ サービスを導入する方法として完全データ キャッシュの生成を推奨します。

注意注意:

標高としてのラスタ データをグローブ サービスの一部として提供するためには、常にその完全データ キャッシュが必要です。具体的な方法については「グローブ キャッシュ タイルの作成」をご参照ください。

部分データ キャッシュ

部分データ キャッシュは、キャッシュを特定の詳細レベルでのみ生成したものです。部分データ キャッシュのみを構築した場合、キャッシュでカバーされない詳細レベルのデータ タイルは、必要に応じてサーバ上で生成することができます。

データが広範なエリアを多くの詳細レベルでカバーする場合、部分キャッシュの方が完全キャッシュより実用的です。部分データ キャッシュは、ユーザが最も操作すると思われる詳細レベルで構成しておきます。クライアントが他の詳細レベルをリクエストした場合は、それらのタイルをオンデマンド キャッシュで生成することができます。

オンデマンド データ キャッシュ

オンデマンド データ キャッシュでは、クライアントによってリクエストされた表示エリアと詳細レベルのタイルのみを生成します。グローブをナビゲートすると、サーバがタイルを生成してそれらをキャッシュに追加します。このモードのデータ キャッシュは、アクセスしたエリアだけがキャッシュされることから、オンデマンドまたはジャスト イン タイム(JIT)データ キャッシュと呼ばれます。これらのタイルはディスク上に保存されるため、別のユーザが同じエリアと詳細レベルの表示をリクエストした場合は、それらを再利用できます。

オンデマンド キャッシュを使用すると(最初にキャッシュ作成に費やす時間がないため)グローブ サービスを最も短い時間で公開できますが、最初にタイルをリクエストするクライアントのパフォーマンスは、タイルがすでにキャッシュされている場合よりも低下します。

オンデマンド キャッシュに対して、標高としてのラスタ データを除くすべてのデータ タイプがサポートされます。

キャッシュの作成

グローブ キャッシュを作成するには、次の 2 つの作業が必要です。

  1. キャッシュ プロパティの設定
  2. グローブ キャッシュ タイルを作成する

サーバ キャッシュ ディレクトリ

サーバ キャッシュ ディレクトリは、ディスク上でキャッシュ タイルが格納されるフォルダです。ArcGIS Server サイトを作成する場合、サーバ ディレクトリのために指定した場所にサーバ キャッシュ ディレクトリが作成されます。1 つのサーバ キャッシュ ディレクトリに複数のサービスのキャッシュを保持できます。サーバには、必要に応じて複数のサーバ キャッシュ ディレクトリを追加することもできます。その結果、[サービス エディタ][キャッシュ] タブでは、キャッシュを格納するために使用するサーバ キャッシュ ディレクトリを選択することができます。

別の GIS サーバ コンピュータをサイトに追加する場合、サイト内のすべてのコンピュータから参照できるように、サーバ キャッシュ ディレクトリでファイル共有を有効化する必要があります。このプロセスは、ArcGlobe または ArcMap のどちらで作業している場合でも同じです。詳細については、「サーバ ディレクトリについて」および「複数のコンピュータによる導入の構成」をご参照ください。サーバがディレクトリ内にタイルを正常に配置できるように、ArcGIS Server アカウントに必ずサーバ キャッシュ ディレクトリへの書き込みアクセス権限を与えてください。キャッシュを作成し終えたら、書き込みアクセス権限を必要に応じて削除することができます。

グローブ キャッシュの格納方法

すべてのグローブ キャッシュは、サーバ キャッシュ ディレクトリの GlobeCache フォルダに格納されます。GlobeCache フォルダを作成する必要はありません。最初にグローブ サービスを作成したときに、フォルダが自動的に作成されます。グローブ サービスを作成する際には、常に、サービスにサーバ キャッシュ ディレクトリを割り当てます。そのレイヤ キャッシュは自動的に GlobeCache フォルダに格納されます。

複数のグローブ サービスを同じサーバ キャッシュ ディレクトリに割り当てることができます。同じサーバ キャッシュ ディレクトリに割り当てられたグローブ サービスはすべて、同じ GlobeCache フォルダを共有します。

一般に、グローブ サービスのレイヤごとに、GlobeCache ディレクトリの下に別のキャッシュが存在します。例外は、グループの子レイヤで 1 つのキャッシュを共有する、統合されたグループ レイヤと Web ベース レイヤ(WMS、マップ サービス レイヤなど)だけです。

グローブ サービス内のすべてのレイヤのキャッシュは同じサーバ キャッシュ ディレクトリに存在していなければなりません。グローブ サービスごとに異なるサーバ キャッシュ ディレクトリを使用することは可能ですが、ディスク容量に余裕がある場合は、すべてのグローブ サービスのキャッシュ ディレクトリを 1 つに統一することが推奨されます。

サーバ キャッシュ ディレクトリ内のフォルダ構造

サーバ キャッシュ ディレクトリを開いて、キャッシュ タイルを調べることができます。グローブ タイル イメージは ArcGlobe または ArcGIS Explorer Desktop でしか表示できませんが、タイル名、サイズ、ディスク上でのファイルの場所は確認できます。

GlobeCache フォルダ内のキャッシュはディレクトリ階層を構成します。トップ レベル ディレクトリには、グローブ レイヤの名前が付きます。このディレクトリには、グローブの 6 つの面のそれぞれに対するサブディレクトリと、キャッシュに接続されたレイヤ ファイルが含まれています。次に、グローブがキャッシュされるレベルごとのフォルダがあり、レベルの行を表すフォルダがこれに続きます。これらの行フォルダに、実際のタイルが含まれます。

すでに 2D マップ キャッシュがある場合のグローブ キャッシュの作成の必要性

ArcGIS グローブ クライアントでの 2D および 3D 使用の高速化という点では、ArcGIS Online/Bing Maps/Google Maps タイル スキーマを使用して 2D マップ キャッシュを構築すると、最適なパフォーマンスが得られます。表示は、グローブ キャッシュの速度を超えることがあります。このタイル スキーマで 2D キャッシュを作成する場合、グローブ キャッシュを作成して維持する必要性がなくなります。これらのタイル スキーマの 1 つを使用できない場合は、グローブ サービス キャッシュを使って最適なパフォーマンスを得るようにします。

ヒントヒント:

以前 ArcGIS Online が使用した WGS 1984 ベースの座標系を使って作成された 2D マップ キャッシュも、グローブ キャッシュと同じ速度か、それよりも高速で表示されます。

マップ サービスを ArcGlobe に追加するシナリオの 1 つは、2D マップ キャッシュがすでに作成されていて、その 2D マップ キャッシュから同一の 3D グローブ キャッシュを作成したい場合です。このシナリオでは、キャッシュの生成にのみ触れ、グローブのナビゲートは行いません。

9/14/2013