広い範囲を表示あるいは解析する場合、情報の空間分解能が詳しすぎても、 人間が図で判読することができなかったり、計算機で扱う場合の演算量 (したがって実行時間)が長くなりすぎたりして実用的でないことがある。
地図では、大縮尺図の情報をもとに小縮尺図を作る場合にこのような ことが必要となり、「総描」と呼ばれている。 英語のgeneralizationはディジタルデータにも適用される用語だが、 「総描」は図に限られる感じがあり、「総合化」や「一般化」では意味が 伝わらないと思うので、ここでは「簡略化」という表現を使うことにする。
低分解能データの1つのマス目は、高分解能データの複数のマス目に 対応するので、複数のマス目の値で作られた代表値を採用するのが基本である。 どのような代表値が適当かは、 変数の種類(定量性のどあい)による。
↓代表値 : 変数の種類→ | 名義型 | 順序型 | 間隔型・比例型 | 変数変換で[注2] |
---|---|---|---|---|
平均値 (mean) | × | × | ○ | 変わる |
中央値 (median) | × | ○ | ○ | 変わらない |
最頻値 (mode) | ○ | ○ | [注1] | 変わる[注3] |
空間の連続関数と考えられる変数の場合は、 空間内挿(別記事参照)のうち、 個々の観測値に忠実でなくなめらかな曲面をあてはめるような方法を 使うことも多い。
折れ線(曲線の近似)を構成する点の数を減らしたいことが多い。 当然何かの情報が失われるわけだが、 曲線の特徴的な部分、たとえば曲り角のような (曲率が大きい=曲率半径が小さい)ところを表わす点は残したい。 このような目的を達するためのアルゴリズムについては、 Jones (1997)の16章「Map generalisation」のうち Geometric generalisationの節(p. 274 -- 289)や 「GIS技術論」のユニット48「線の簡略化」(p. 345 -- 353) [主にMcMaster, 1987aを引用]で、いくつかのものを比較して論じている。
それらのうち、よく使われているものとして Douglas and Peucker (1973)のものがある。 Wessel and Smith (1996)は、 作図プログラムGMTで使う 海岸線データの編集にこのアルゴリズムを使っている。 そのC言語プログラム gshhs_dp.c は、 Dr. Gary J. Robinson (Environmental Systems Science Centre, University of Reading, Reading, UK) によるものをWessel氏が編集したもので、 U.S. National Geophysical Data Centerから公開されている。 ここでは、 ディジタイザを使った実習教材 で得られた結果を処理するようにメインプログラムを変更した、 dp.cを用意した。
なお、このプログラムではデータを読むのにCの関数scanf
を
使っている。
この関数は、予期しない形の入力データが来た場合に弱いので、
他人に使ってもらうプログラムでは、入力部分をもう少しくふうしたほうがよい
(コンピュータ利用の教材
「C言語の注意: データの読みこみ」参照)。