こんにちは、インフォマティクスの空間情報クラブ編集部です。
今回は総描(そうびょう)についてご紹介します。
目次
総描とは
GISでは、様々な縮尺で地図データを表示したり印刷したりします。
大縮尺ではできるだけ詳細なデータが求められますが、小縮尺ではそれほど詳細なデータは必要ありません。効率的な運用のためには、むしろ大雑把なデータの方がよいでしょう。
総描とは、一般に詳細なデータを大まかなデータにすることを意味します。
複雑なジオメトリ(図形)を簡略化すること、密集しているジオメトリどうしを合成すること、単純に省略することも総描といえます。
地図データを総描するにはいろいろな方法があります。
複雑なジオメトリを簡略化
ここでは複雑なジオメトリ(図形)を簡略化する総描について説明します。
総描の処理は、ジオメトリを構成する頂点を適切に間引くことにより行われます。
どの頂点を間引くか、どのくらいの数の頂点を間引くかは、採用するアルゴリズムやそのアルゴリズムに与えるパラメータによって異なります。
SISとGeoConicでは、ともにDouglas-Peuckerという総描アルゴリズムが採用されています。
Douglas-Peucker アルゴリズム
Douglas-Peuckerアルゴリズムでは、利用者またはプログラマーが「許容誤差」をパラメータとして与える必要があります。
あるラインジオメトリで、2つの頂点(最初は始点と終点)を結んだ線分が複数の頂点を挟んでいて、その線分とその線分から最も離れている頂点との距離が許容誤差以上の場合、その頂点は間引かれないものとして確定されます。
そして、間引かれないと確定された頂点を通る線分に対して再帰的に計算が行われ、許容誤差以内に収まる頂点は間引かれていきます。
したがって、許容誤差に与える値が小さければ頂点はほとんど間引かれず、値を大きくすればするほどジオメトリは簡略化されていきます。
どこまで簡略化するか
ではどの程度まで簡略化すべきでしょうか。
これはデータの作成者や利用者の主観(好み)、データの用途やサイズ制限、パフォーマンスなどから総合的に決めるべきでしょう。
ここでは簡単な例として、見た目を変えずにジオメトリを簡略化するための許容誤差の値を理論的に算出してみます。
例)
50万分の1より小さな縮尺で画面に表示するデータを作成する場合を考えてみます。
最も拡大された状態(最も詳細表示の状態)が縮尺50万分の1であるとします。
地図を表示するディスプレイの解像度が96ppi(pixel per inch)だと仮定すると、縮尺50万分の1で、画面1ピクセルで表現される地図上の距離は約132.3mとなります。
同様にディスプレイ解像度が144ppiであれば、約88.2mとなります。
つまり理論上、この式の結果より小さな差異は、ディスプレイ表示するときには違いを表現できないことになります。(実際には、丸め誤差等により1ピクセルの差異が生じる場合があります。)
したがってこの値を許容誤差とすれば、見た目上の差異を伴わずにジオメトリを限界まで簡略化できるわけです。
複雑なジオメトリを簡略化する処理だけでもいくつかのアルゴリズムがありますし、与えるパラメータによって無限に近い総描結果を得ることができます。
興味がある方は、この機会にDouglas-Peucker以外の総描アルゴリズムについても調べてみてはいかがでしょうか。