こんにちは、インフォマティクスの空間情報クラブ編集部です。
大規模な地図データを効率よく扱うには、縮尺に応じたデータの簡略化が不可欠です。特に、Web表示やモバイル端末向けのアプリケーションでは、パフォーマンスや視認性を保つ上で重要な処理となります。
本記事では、総描の基本概念と、GISでよく使われるアルゴリズムを解説します。
総描とは
GISでは、さまざまな縮尺で地図データを表示・印刷する必要があります。
大縮尺では、できるだけ詳細なデータが求められますが、小縮尺ではそこまでの精度は不要です。むしろ、効率的な運用のためには、ある程度簡略化されたデータの方が望ましい場面もあります。
総描とは、一般に、詳細な地図データを縮尺に応じて大まかに表現し直す処理を指します。
たとえば、複雑なジオメトリ(図形)を簡略化することや、密集した図形を統合すること、あるいは一部を省略することなども総描に含まれます。
このような地図データの総描には、さまざまな手法があります。
ジオメトリ簡略化とは
ここでは、複雑なジオメトリを簡略化するタイプの総描について説明します。
総描の基本的な処理は、図形を構成する頂点を適切に間引くことで行われます。どの頂点を削除するか、またどの程度の間引きを行うかは、使用するアルゴリズムやそのパラメータ設定によって変わります。
GISシステムのSISおよびGeoConicでは、Douglas-Peuckerという総描アルゴリズムが採用されています。
Douglas-Peuckerアルゴリズムとは
Douglas-Peuckerアルゴリズムでは、「許容誤差」と呼ばれるパラメータを利用者またはプログラマーが指定する必要があります。
このアルゴリズムでは、まずラインジオメトリの始点と終点を直線で結びます。
その直線に挟まれた中間の頂点のうち、最も直線から離れた点との距離が「許容誤差以上」の場合、その頂点は「間引かれない点」として確定されます。
確定された頂点を通る線分についても、同様の処理が再帰的に繰り返されます。このようにして、許容誤差の範囲内に収まる頂点は順次間引かれ、ジオメトリが簡略化されていきます。
つまり、許容誤差の値を小さく設定すれば頂点はほとんど間引かれず、値を大きくするほど図形はより簡略化される仕組みです。
総描でどこまで簡略化すべきか
では、どの程度までジオメトリを簡略化すればよいのでしょうか。
この判断は、データの作成者や利用者の意図、データの用途、ファイルサイズや処理パフォーマンスの要件など、複数の要素を考慮して総合的に決定する必要があります。
ここでは一例として、見た目に差が出ないレベルでの簡略化を目的として、理論的に許容誤差の値を算出してみます。
例)
たとえば、縮尺50万分の1以下で画面表示されるデータを作成するケースを考えてみましょう。
このとき、ディスプレイの解像度が96ppi(pixel per inch)であると仮定すると、縮尺50万分の1において、画面1ピクセルが表現する実際の地上距離はおよそ132.3mとなります。
同様に、解像度が144ppiの場合は、約88.2mです。
つまり、理論上、この値よりも小さな差異はディスプレイ上では視認できないことになります。(ただし、実際には丸め誤差などにより、わずかなピクセル差が発生することがあります。)
したがってこの値を許容誤差として設定することで、見た目上の違いを生じさせず、ジオメトリを限界まで簡略化することが可能となります。
複雑なジオメトリを簡略化するための手法には、Douglas-Peuckerのほかにもいくつかのアルゴリズムがあります。
また、どのアルゴリズムを使うか、そしてどのようなパラメータを与えるかによって、得られる総描結果はほぼ無限に近いバリエーションが存在します。
興味のある方は、Douglas-Peucker以外の総描アルゴリズムについても、ぜひこの機会に調べてみてはいかがでしょうか。