大きいデータセットのタイル化処理
ユニオンやインターセクトなどのフィーチャ オーバーレイ ツールのパフォーマンスとスケーラビリティを向上させるには、適応的再分割法と呼ばれる操作ロジックが使用されます。このロジックは、使用可能な物理メモリ量の範囲内でデータを処理できない場合に開始されます。物理メモリの容量を超えないように処理をすると、パフォーマンスが大幅に向上します。そのためには、マップ範囲全体を一度に処理するのではなく、要素に分割して要素ごとに処理を進め、徐々に全体を処理します。マップを分割してできるこのような個々の要素を「タイル」といいます。タイル間にまたがるフィーチャはタイルのエッジで一時的に切断されますが、処理の最終段階で元どおりにつなげられます。これらのタイルのエッジに作成された頂点は、出力フィーチャに残ります。処理対象のフィーチャのサイズが非常に大きく、分割された要素の処理時に、使用可能なメモリの範囲内ではフィーチャを元の状態に戻せない場合には、タイル境界も出力フィーチャクラスに残される場合があります。
データを分割する理由
オーバーレイ解析ツールは、コンピュータの物理メモリまたは RAM 内で処理が可能な場合に、最良の状態で実行されます。多数のフィーチャ、または数十万~数億もの頂点を持つ非常に複雑なフィーチャを含むデータセットの作業をする場合、物理メモリ内での処理が必ずしも可能とは限りません。タイルを使用しない場合、物理メモリが使い果たされて仮想メモリが使用され、仮想メモリが使い果たされると、内部のページング システムが使用されます。順次採用されるメモリ管理の各モード(物理、仮想、内部ページング)では、処理が前のモードよりも劇的に遅くなります。
タイルとはどのようなものか
すべてのプロセスは、データの範囲全体に広がる単一のタイルで開始されます。単一のタイル内のデータが大きすぎて物理メモリでは処理できない場合、4 つの等しいタイルに分割されます。次に、処理はサブタイルで実行され、この 2 番目のレベルのタイルでもデータが大きすぎる場合には、さらに分割が実行されます。各タイル内のデータが物理メモリ内で処理できるようになるまで、分割が続行されます。次の例をご参照ください。
すべての入力フィーチャのフットプリント
プロセスは全データセットの範囲全体に広がる 1 つのタイルで開始されます。これはタイル レベル 1 と呼ばれます。
データが大きすぎてメモリでは処理できない場合、レベル 1 のタイルは 4 つの等しいタイルに分割されます。これらの 4 つのサブタイルはタイル レベル 2 と呼ばれます。
各タイルのデータのサイズによって、さらに分割されるタイルと、分割されないタイルがあります。
適応的再分割法を使用するツール
[解析ツール] ツールボックスの以下のツールは、大きなデータを処理する際に適応的再分割法のロジックを使用します。
- バッファ(Buffer)([ディゾルブ オプション] を使用する場合)
- クリップ(Clip)
- イレース(Erase)
- アイデンティティ(Identity)
- インターセクト(Intersect)
- スプリット(Split)
- シンメトリカル ディファレンス(Symmetrical Difference)
- ユニオン(Union)
- アップデート(Update)
[データ管理 ツール] ツールボックスの以下のツールは、大きなデータセットを処理する際に適応的再分割法のロジックを使用します。
- ディゾルブ(Dissolve)
- フィーチャ → ライン(Feature to Line)
- フィーチャ → ポリゴン(Feature To Polygon)
- ポリゴン → ライン(Polygon To Line)
メモリ不足エラーによる処理の失敗
非常に大きなフィーチャ(数百万の頂点を持つフィーチャ)を処理する場合、適応的再分割法が役に立たない場合があります。非常に大きなフィーチャの分割と組み立てを、タイル境界を越えて複数回繰り返すと、非常に大量のメモリが消費され、フィーチャが大きすぎる場合にはメモリ不足エラーが発生する可能性があります。これは、処理を実行しているコンピュータ上で物理メモリまたは RAM をどの程度、使用できるかによって決まります。あるコンピュータ設定ではメモリ不足エラーを発生する大きなフィーチャでも、別のコンピュータ設定ではエラーが生じない場合があります。別のアプリケーションで使用されているリソースの状況に応じて、同じコンピュータ上でもメモリ不足エラーが発生したり、発生しなかったりすることがあります。多数の頂点がある非常に大きなフィーチャの例としては、都市全体の道路の枠や、複雑な河口を表すポリゴンが挙げられます。
ジオプロセシング ツールの処理中に、2 つめのアプリケーションやジオプロセシング ツールを実行した場合にも、メモリ不足エラーが発生する可能性があります。この 2 番目のプロセスによって物理メモリの一部が使用されると、分割プロセスが使用できるメモリ量が、それが要求するメモリ量より少なくなってしまいます。大きなデータセットの処理中には、同じコンピュータでその他の操作を実行しないことをお勧めします。
お勧めできる方法の 1 つとして、処理の前に大きなフィーチャを小さなフィーチャに分割するための[フィーチャの分割(Dice)] ツールの使用があります。
大きなデータの処理時に推奨されるデータ形式
パーソナル ジオデータベースおよびシェープファイルの大きさは、2 ギガバイト(GB)に制限されています。処理の出力がこのサイズを超えると、エラーが発生する場合があります。エンタープライズ ジオデータベースとファイル ジオデータベースにはこの制限がないため、非常に大きなデータベースを処理する際には、出力ワークスペースとしてこれらの形式が推奨されます。エンタープライズ ジオデータベースについては、データの読み込みポリシーに関して、データベース管理者にお問い合わせください。未計画または未承認の大きなデータの読み込み操作は、制限される可能性があります。