フィーチャ キャッシュの操作
通常、ジオデータベースに格納されているデータを操作している場合に、フィーチャ キャッシュを作成すると、一般的な ArcMap タスクを高速化できます。フィーチャ キャッシュにより、ArcMap に現在表示されているマップ範囲のフィーチャをローカル コンピュータのメモリに一時的に格納することができます。フィーチャ キャッシュを使用すると、ローカル メモリからフィーチャをすばやく取り出すことができるため、パフォーマンスが向上することがよくあります。
フィーチャ キャッシュには、ジオデータベース(および ArcIMS フィーチャ サービス)のフィーチャのみが保存されます。フィーチャ キャッシュは、マップの特定のエリア内で作業する場合に最も効果的です。
たとえば、ネットワーク経由でフィーチャを提供する ArcSDE ジオデータベースのデータを操作する場合、表示が更新されるたびに、ソース データベースから現在の表示範囲にあるフィーチャを取得しなければなりません。これに対し、フィーチャ キャッシュを使用すれば、ArcMap はネットワーク経由でなくコンピュータのメモリ(RAM)を介してこの情報にアクセスできるため、ネットワークとジオデータベースに対する負荷を軽減できます。フィーチャはクライアント上にキャッシュされるため、クライアントがサーバ上で実行するクエリの数が少なくなります。
フィーチャ キャッシュが効果を発揮する操作には、大規模データセットまたは複雑なデータセットの描画、ラベリング、編集、フィーチャの選択、マップ上の複数のレイヤからの同じフィーチャの取得、フィルタ設定を使用したフィーチャの描画などがあります。たとえば、ラベル エンジンがマップ上に最大数のラベルを配置しようとした場合、データ ソースと何度もやり取りする必要があるので、ラベリングは時間とコストのかかるプロセスになりがちです。
フィーチャ キャッシュ ツールの使用
ArcMap には、フィーチャ キャッシュの作成および操作に役立つツールがあります。これらのツールは [フィーチャ キャッシュ] ツールバーにあります。
ボタン | 名前 | 機能 |
---|---|---|
フィーチャ キャッシュの構築 | 現在のマップ範囲内のフィーチャをキャッシュします。 | |
フィーチャ キャッシュを空にする | フィーチャ キャッシュを空にします。 | |
自動キャッシュ | マップのフィーチャ キャッシュ自動生成のオン/オフを切り替えます。 | |
自動キャッシュ スケールの設定 | マップ キャッシュの自動生成の最大スケールを設定します。 | |
自動キャッシュ スケールの消去 | 自動キャッシュの最大スケールを消去します。 | |
フィーチャ キャッシュを表示 | フィーチャ キャッシュの範囲を表示します。 | |
フィーチャ キャッシュにズーム | フィーチャ キャッシュの範囲にズームします。 |
フィーチャ キャッシュを作成するには、[フィーチャ キャッシュの構築] ボタン をクリックします。また、現在のキャッシュ範囲の外側に移動したときにフィーチャ キャッシュを自動的に更新する、自動キャッシュ(オートキャッシュ)機能を使用することもできます。
自動キャッシュは、何種類かの地理的エリアで作業する予定で、それらのエリアごとにキャッシュを再構築したくない場合に効果的です。また、キャッシュするエリアの正確な範囲がわからない場合にも便利です。
自動キャッシュはパフォーマンスを低下させる可能性があるので、自動キャッシュの最小縮尺を設定する必要があります。フィーチャ キャッシュは、マップが最小縮尺を超えて縮小されない限り、自動的に作成されます。たとえば、最小縮尺を「1:50,000」に設定するとします。マップが「1:14,500」に拡大表示された場合、フィーチャ キャッシュは自動的に作成されますが、マップが「1:75,000」に縮小した場合、フィーチャ キャッシュは再構築されません。
ジオデータベースのデータでフィーチャ キャッシュの効果が最も発揮されるのは、データ ソースが ArcSDE ジオデータベースの場合です。マルチユーザ環境では、ArcMap でフィーチャ キャッシュを一貫して使用すると、ジオデータベースに対するクエリの回数、ジオデータベースから取得されるフィーチャの数、および全体的なネットワーク トラフィックが軽減されるため、システムの全体的なパフォーマンスを劇的に改善することができます。ただし、バージョン非対応のマルチユーザ編集セッションでの編集にフィーチャ キャッシュを使用する場合には、注意が必要です。
大量の頂点を持つフィーチャを編集したり、ネットワーク経由でデータにアクセスする場合、ファイル ジオデータベースまたはパーソナル ジオデータベースのフィーチャ キャッシュを使用すると、パフォーマンスがわずかに向上する可能性があります。
フィーチャ キャッシュは、特定のマップ範囲内で作業する場合に最も効果的です。広いエリアで画面移動やズームを繰り返す必要がある場合、通常、フィーチャ キャッシュの利点は得られません。
フィーチャ キャッシュの作成
- まず、作業するエリアまでマップを画面移動およびズームします。
- メイン メニューで、[カスタマイズ] → [ツールバー] → [フィーチャ キャッシュ] の順にクリックして、[フィーチャ キャッシュ] ツールバーを追加します。
- [フィーチャ キャッシュの構築] ボタン をクリックして、現在のマップ範囲のフィーチャ キャッシュを作成します。
- フィーチャ キャッシュはコンピュータの RAM に格納されるため、多くのフィーチャが含まれる広いエリアでフィーチャ キャッシュを作成すると、メモリが大量に消費され、時間がかかることがあります。フィーチャ キャッシュの作成は、Esc キーを押してキャンセルできます。
- 編集中にフィーチャ キャッシュを操作する場合、[編集の終了] 時に編集内容が保存されると、フィーチャ キャッシュは保持され、編集内容が保存されなければ、フィーチャ キャッシュは消去されます。[編集の終了] 時か、現在の編集セッション内でかに関係なく、編集操作が中止されると、フィーチャ キャッシュは消去されます。
キャッシュ エリアの範囲の表示
[フィーチャ キャッシュを表示] ボタン をクリックして、現在のフィーチャ キャッシュの範囲を表示します。
現在キャッシュされているエリアがマップ上でフラッシュします。
- [フィーチャ キャッシュを表示] ボタンが緑色であれば、フィーチャ キャッシュを使用していることを示します。つまり緑色は、表示範囲が完全にキャッシュ範囲の内側にあり、キャッシュ データを使用していることを示します。
- [フィーチャ キャッシュを表示] ボタンが赤色であれば、現在の表示範囲の一部がキャッシュ エリアの外側にあるため、キャッシュ データを使用していないことを示します。
- このボタンが使用できない状態であれば、現在の表示範囲が完全にキャッシュ エリアの外側にあるため、キャッシュ データを使用していないことを示します。
現在の表示範囲の一部がキャッシュ エリアの外側にある場合、コンピュータにキャッシュされたデータは使用できなくなります。フィーチャ キャッシュを再び使用するには、新しいキャッシュを作成するか、自動キャッシュを使用するか、またはキャッシュされた範囲に戻る必要があります。
自動キャッシュの操作
フィーチャ キャッシュは、数十万のフィーチャを含んでいるような大規模なフィーチャクラスに対して使用します。ただし、その効果を最大限に発揮させるには、マップのキャッシュ エリアを設定する必要があります。作業エリアが複数あり、大規模なフィーチャクラスを操作している場合は、自動キャッシュを使用して、効率的なパフォーマンスを確保できます。
自動キャッシュを有効にすると、マップ上の多数のエリアを操作し、それぞれの作業エリアのフィーチャを自動的にキャッシュすることができます。重要なステップは、最小マップ縮尺を設定することです。自動フィーチャ キャッシュは、このマップ縮尺を超えて縮小表示すると無効になります。これにより、マップ上のさまざまな作業エリアの間を移動できます。最小マップ縮尺を超えて縮小表示すると、自動キャッシュは無効になります。フィーチャ キャッシュは、最小マップ縮尺内まで拡大表示すると、自動的に再び有効になります。
手順
- [フィーチャ キャッシュ] ツールバーで、[自動キャッシュ] ボタン をクリックして、自動キャッシュを有効にします。
- 次に、自動キャッシュの最小縮尺を設定します。これは、縮小表示するときに自動キャッシュが自動的に無効になる縮尺です。これを行うには、自動キャッシュに適切な縮尺までマップをズームします。ほとんどの場合、典型的な作業エリアの 1 つのマップ範囲に基づいて設定できます。次に、[自動キャッシュ スケールの設定] ボタン をクリックします。
[フィーチャ キャッシュ] タブの [データ フレーム プロパティ] ダイアログ ボックスで自動キャッシュのプロパティを設定することもできます。