Nara Women's University Digital Information Repository Title パーソナルコンピュータを用いたラスター型地理データ処理システ ム Author(s) 小方, 登 Citation 小方登:奈良女子大学情報処理センター広報, Vol. 6, pp. 11-17 Issue Date 1994-03 Description URL http://hdl.handle.net/10935/3809 Textversion publisher This document is downloaded at: 2016-03-28T05:37:29Z http://nwudir.lib.nara-w.ac.jp/dspace 利用の事例 ノミーソナルコンビュータを用いた ラスター型地理デ、ータ処理システム 文学部地理学科小方 登 地理的事物のためのデータ・モデル ここで紹介するのは、パーソナルコンピュータを用いたシステムで、地理データを加工し、その結果 を主題図の形でグラフイカルに表示・プリントアウトするものである。このシステムが扱う地理データ は、ラスター・モデルに基づいている。以下に、地理データのためのデータ・モデルについて簡略に述 べる。 地表という曲面上のものであるという特殊性を別にすれば、地理データもまた 2次元の空間データで あり、図形・画像データと同様、大きく分けてラスターとベクトルの 2つのデータ・モデルがある。ベ クトル・モデルは、関心を持っている地表上の事物を、その形態と位置が座標値のセットとして記述さ れるオブジェクトとして記録するものである。地表上のエンティティはその認識の仕方により点、線、 ポリゴン(多角形)のタイプがあるが、コンピュータ内部の表現もこれに対応して点、線、ポリゴンの オブジェクトのタイプがある。私たち人間は、地表上の事物を通常は各種のオブジェクトとして認識す るのであるから、このベクトル・モデルは私たちの経験とよく一致する。また、扱うことがらの性質に もよるが、通常はベクトル・モデルの方がラスター・モデルよりも対象の特徴を精密に表現することが でき、しかもデータの保存に要する保存媒体の容量は少なくて済むという長所がある。このため、地理 情報システム( GIS)と呼ばれるものの多くはこのベクトル・モデ、ルをデータ・モデルとして採用し ている。ただ、対象を正確に表現するためには、オブジェクトの構成要素あるいはオブジェクト間の関 係を正しく記述するためのデータ構造と処理が必要となる。たとえば、市区町村のような行政領域を記 述するためには、オーバーシュートやアンダーシュート、行き止まり、ねじれなどのないクリーンな行 政境界線のネットワークが必要である。そして、そのようにデジタイザ入力された線の集合(互いの関 係の情報を持たない線の集合をスパゲティと呼んでいる)からそれぞれの行政領域(ポリゴン)を構成 する線の集合を抽出して関連づけるポリゴン構成の処理を行わなければならない。このように、ベクト ノレ型の地理データ処理のためには、比較的高度な処理が必要である。 これに対し、ラスター・モデルは、対象領域を規則的な格子で区切り、その交点あるいは升目(セル c e l l)についての値により空間的な事物を表現するやり方である。セルは、画像のラスター・モデルで いう画素(ピクセル p i x e l ) と同じものである。ベクトル・モデルがオブジェクト指向的で、高度な処 理を要するのに対し、ラスター・モデルはどちらかといえばデータの羅列であり、複雑なデータ構造や 高度な処理を要しない。それにも関わらず、セル聞の位置関係や距離など対象の空間的性質のあるもの は自明であり、ある種の空間的処理も容易であるという長所がある。ただ、対象を十分な精度で表現し ようとすると、データの量が甚だしく大きくなるという問題がある。また、地理的事物のラスター・モ デルに関していえば、地表上に設定された格子やセルは、私たちの地表の観察や経験とはまったく一致 しないという問題もある。つまり、私たちの地表の経験にあるのは、道路や建物や行政領域であり、こ 1 1 れらはベクトル・モデルではオブジェクトとして表現し得るが、ラスター・モデルにおいては多くの場 合一定の値のセルの互いの関係が不明瞭な集合でしかなく、多くの場合セルの大きさは対象を表現する には粗すぎる。 このような問題点を含むラスター・モデ、ルで、あるが、対象や対象の扱い方によっては、有効な場合も ある。人口の分布の記述を考えてみよう。人口の分布の記述は、本来ならば集落や行政領域単位で行う べきものである。このやり方が私たちの地表の経験と一致する。国勢調査における調査区がこれに相当 するといえよう。しかし、真に実質的な集落とは何かを定義することは困難であり、実質的な集落と行 政領域が一致しない場合もある。また、実質的な集落の領域も行政領域も、経時的に変化するものであ るから、このやり方は人口の経時的な変化を記述することを困難にする場合がある。異なるカテゴリー に属する地理データを比較する場合の困難もある。人口のデータは集落単位に収集され、商業のデータ は商店街単位に収集されるので、そのままでは両者を重ね合わせることはできない。 このような困難を克服するために考案されたのが、メッシュ統計である。これは、地表上に仮想的な 規則的格子を設定し、そのセルごとの統計値を記録するものであり、ラスター型の地理データの一種で ある。メッシュは、非常に形式的な区画であるために、私たちの地表上の経験と一致しないと批判され がちである。しかし、経度・緯度のような測地学的な参照系に基づいて設定されるために、経時的な変 化がなく、異なるカテゴリーのデータに共通の空間参照系として利用することが可能である。また、形 式的な区画であるため、事物の分布の抽象的な特質を把握するためには、むしろ有利である。都市人口 分布の同心円モデルや扇形モデルといった抽象的なモデルはメッシュ統計を用いた場合によりよく把握 ) 。 することができる(カラー頁・第 1図 地形のモデ、ル化すなわちデジタル地形モデルにおいては、標高行列すなわちラスター・モデルが現在 のところ主流である。たとえば、近年刊行された国土地理院の数値地図の標高データなども、ラスター・ モデルである。規則的に配置された格子の交点、の標高を記録するという標高行列のやり方は、地形のデ ジタル的表現として誰にでもわかりやすいものであろう。また、標高行列には、起伏量や傾斜の算出な どデータの加工・分析が容易であるという長所がある。しかし、地形のモデル化のこのやり方は「地表 上の任意の地点の標高値は一意に決まる」というある意味で抽象的な前提を含んでいる。このことによ り、垂直な崖や洞窟など現実には存在する地形は、等高線で表現できないのと同様、上述のデジタル地 形モデルでも表現できないこととなる。 また標高行列は、山の頂上、稜線、谷など地形の重要な特徴を記述するためには、格子が粗すぎる場 合が多く、これを克服するために格子間隔を小さくすれば、データ量が大きくなり過ぎるという問題が ある。さらに、複雑な地形を記述するために格子間隔を小さくすると、逆に平野などの平坦な地形では 膨大なデータが冗長なものとなるという問題も生じる。この問題を克服するために、地形の複雑さに応 じて格子間隔を段階的に変化させる、四分木データ構造などが提案されている。また、ラスター・モデ ルとはいえないが、規則的な格子の交点の値ではなく、頂上、稜線、谷など地形の特徴をなす地点の標 高値を記録する、不規則三角形網( TIN)のデータ構造などは、今後有望なデジタル地形モデルとさ れている。 システムの概要 ここで紹介するシステムを構成するプログラム群は、授業等で学生にラスター型のデータの処理につ いて実習させるために、筆者が作成したものである。パーソナルコンピュータ PC-9801 シリーズで利 12 用できるよう、 N88-BASICで作成した。プログラムの一部は、当センター情報処理教育室の FMR-50 で利用できるように、 F-BASICで書き直しているが、その際仕様の一部を変更している。プログラム 群は、第 2図に示す通りであるが、データのフォーマットを共通とする以外は、互いに独立しており、 目的に応じて別個に起動する。データは、ラスター型の数値データと、背景として用いるベクトル型 (ただし、スパゲティ)の基図データとからなる。基図データは必須ではない。データのフォーマット は第 3図に示すようなテキストファイルである。一般に、ラスター型のデータは、行(ロウ〉と列(カ ラム)で構成され、行と行は改行文字で、一行の中の列と列はコンマやタブなどの区切り文字で区切る が、ここでは、列と列の区切りも改行文字としている。一行自のヘッダー情報で行と列の大きさを指定 するので、この形式で今までのところ特に不都合はない。 2変数間の演算 空間処理 C A P E L L A [+][一] [×][÷] [ % ] [平滑化] R U N _ M N [傾斜] G R A D E 数値データファイル l 数値データファイ J レ作成 A L T A I R [地域A ・変数 a JI [地域A ・変数 bJ I 数値データファイル修正 D E N E B l 基図データファイル I I 基図データファイル作成 S! R I U S [地域A] [地域 BJ 基図の表示 P R O C Y O N [CRT・ プリンター] [XYプロッター出力] [地域 B ・変数 a] ・ 変数 b] [地域 B 数値データファイル プリントアウト D E N E B % 統計分析 3次元表示 [ヒストグラム] H I S T [散布図] S C A T T E R V E G A [陰影無し] [陰影有り] [モノクロ] [カラー] 色分け地図表示・ハードコピー S P! C A [モノクロ] [基図重ね合わせ無し] [カラー] [基図重ね合わせ有り] [2変数オーバーレイ] [XYプロッター出力] 陰影図表示 R E L I E F 第 2図 ラスター型地理データ処理システムの概要 nLV H v nNH 直。 数日 nLV nk ωHv nMU ρU 痘。 数 向 Y 方さ S 軸長Y I Vl~~j C R 向寸 方数 D 軸素 Y U N I T $ Y要 VN$ 向寸 RN$ タイプ l’ DT 方数D 軸素X データの l’ 単位 X要 数値の 変数名 地域名 X軸方向 長さ XS HVl:~D) I C R 第 3図数値データファイルの様式 (アルファベットはプログラム中の変数名) 13 プログラム群は、大別すれば、データの入力・編集のためのもの、データの加工・分析のためのもの、 データのグラフイカルな表示のためのものの三者からなる。以下に、それぞれのプログラムについて、 簡略に説明する。 データ入力・編集のためのプログラム ここで必要とされるプログラムは、現在入力中のロウとカラムがわかるような、テキストエディタで あるが、筆者にはそれを作成する力量はなく、また筆者の取り組みたい課題とも異なるので、現状では 使いにくいラインエディタのようなものとなっている。特に、誤った入力の修正のために、以前の入力 に戻る時に不便である。また、入力、追加入力、修正のためのプログラムがそれぞれ別個となっている ことも、データの編集をやりづらくしている。市販のソフトウェアを利用するのが現実的であるが、市 販のスクリーンエディタは、現在入力中のロウ値とカラム値がわからない点で使いづらし 1。表計算ソフ トをエディタとして利用することも考えられるが、カラムの表示が数字でなくアルファベットである場 合が多いこと、 1行の中の値と値の区切りのための文字として改行文字が利用できないことなどが問題 となる。 数値データ(ラスター型)入力プログラムのほかに、基図データ(ベクトル型〉をデジタイザから入 力するプログラムを用意した。このプログラムを用いて作成したデータは、表示に用い得るのみで、編 集したり分析に用いたりすることはできない。 データの加工・分析のためのプログラム このプログラム群は、さらに 2変数閣の演算、空間処理、統計解析の三者に大別される。 2変数間の 演算のプログラムは、現在のところ四則演算とパーセンテージの計算のためのものを用意している。割 り算やパーセンテージ計算は、分母の関値を設定できるようにしている。たとえば、総事業所数に占め る製造業事業所数の構成比を知るためにパーセンテージ計算を行う場合、構成比を知ることに意味のあ る総事業所数を設定できるようになっている。これにより、ゼロや極端に小さい分母で割ることを避け ている。分母が設定した関値に達しない場合には、分子の値にかかわらずゼロを出力する。 空間処理のためのプログラムとしては、平滑化処理、起伏量、傾斜の算出のためのものを用意した。 これらはいずれも、画像処理でいうところのフィルタリング処理に相当する。平滑化処理は、移動平均 法によるものであり、当該セル値と縦・横・斜めに隣接するセル値の合計 9つのセル値を合計して 9で 割ったものを当該セル値として出力する。地形モデルの平滑化の他、人口分布のデータに適用して、そ の特徴や人口分布を規定する諸要因を把握するために役立つ。起伏量の算出では、当該セル値と縦・横・ 斜めに隣接するセル値の中の、最大値と最小値の差を出力する。 傾斜の算出は主としてデジタル地形モデルのためのものであるが、独自の方法を採用した。その理由 は、標高行列の場合、格子は同一平面上にない 4点からなるのでそのままでは斜面を定義できないこと、 また出力データを 4格子点の中心でミはなく、できれば元の格子点における傾斜値としたいということで ある。その手順は、以下の通りである。まず、注目する格子点とその上下左右の格子点を頂点とする 4 つの三角形を考える。次に、 4つの三角形のそれぞれの法線ベクトルを合成し、単位ベクトル化して、 これを注目する格子点の法線ベクトルとする。この法線ベクトルの Z成分の逆コサイン値を注目する格 子点における傾斜値とし、単位を度として出力する。以上のやり方を見てもわかるように、このように して算出された傾斜値は 4つの三角形の傾斜を平均化したものであり、地形の複雑なところではある程 14 度平滑化された値を出力する。たとえば、稜線や谷に相当する部分では、起伏が大きい場合でも、傾斜 がゼロに近くなることもあり得る。なお、地形モデルで、海岸などをよりよく表現するために、注目する 格子点の値がゼロの場合には、その周囲の値にかかわりなく、傾斜の計算を行わずに出力値として O度 を出力する。さらに、このプログラムの内部では、格子点における法線ベクトルの Z成分だけでなく、 X成分、 Y成分も計算している。今後はこれを斜面の方位角の算出等に利用できょう。 統計解析のためのプログラムとしては、散布図、ヒストグラムの表示のプログラムを用意した。 表示のためのプログラム 地理データやその加工結果の表示のためのプログラムとしては、大別して、色分け表示、サーフェス モデルの 3次元的表示、陰影(レリーフ〉図の表示の 3種類を用意した。色分け表示のプログラムとし ては、黒白のパターンにより濃淡表示をするもの、基本 8色のパターンで色を表示し、カラープリンタ を用いた出力が可能なもの、 4 0 0 0色中 1 6色を用いるもの(カラー頁・第 4図入 XYプロッタを用い て出力するものなどを用意した。また、ラスターデータを色分けする以外に、その上にベクトルの線の データを重ね合わせて表示することもできるようにした。 ラスターデータの色分け表示の場合、色の階級区分が自由であるために、データの序列を表している に過ぎず、比率を表現できないという問題がある。この点、ラスターデータをサーフェスモデルとして 3次元的に表示すれば、データ同士の比率を高さで表現できるので、地形だけでなく、経済・社会統計 のデータの表示にも有効である。ここで用意したサーフェスモデルの 3次元表示のためのプログラムは、 透視投影を用いて表示する。陰線消去をしないワイヤフレーム表示をするもの、陰線消去をするもの ( 第 5図)、設定した光の方向に基づく陰影を表示するもの(カラー頁・第 6図)などを用意した。 摩周湖標高 第 5図摩周湖の標高行列により表示したブロックダイアグラム 15 透視投影の実行に際しては、 3次元空間内部における視点と目標点のそれぞれの座標値を X、Y、 Z で与え、さらに画角を決定するために投影スクリーンの幅を 2としたときの視点と投影スクリーンの聞 の長さを与える。このように数値でパラメータを与えるやり方は、学生にはわかりにくいようであり、 ユーザーインターフェイスの改善が今後の課題である。しかし、視点、と目標点を自由に決定できるので、 視点と目標点のペアを視線方向と垂直に平行移動することによって、第 7図のように立体視可能な図の ペアを得:ることもできる。 第 7図摩周湖のブロックダイアグラムの立体視のための表示 陰影図の表示のためのプログラムは、前述した傾斜の計算のフ。ログラムを応用したものである。その J 債は以下の通りである。まず\各格子点における法線ベクトルを計算する。次に、光の方向を仰角と 手I 方位角で入力し、その単位ベクトルを算出する。両者の内積が光の方向と斜面の法線との角度のコサイ ン値であり、光が斜面に垂直に当たった場合を 1としたときの斜面の明るさとなる(カラー頁・第 8図 〉 。 この手順を見てもわかるように、このようにして表示される陰影は斜面と光の方向との角度から単純に 導き出されるものに過ぎず、現実の陰影とは異なる。光が地形にさえぎられて生ずる「影」を表現でき ないからである。光源以外からの光(たとえば青空からの)による明暗も表現できなし」このような欠 点はあるにせよ、この種の陰影表示は、地形モデルに対してどちらの方向からでも光を当てることがで きるので、地形の特徴の観察などの目的において空中写真や人工衛星画像にはない利点があるといえよ つ 。 おわりに 地理学が扱うデータはほとんどの場合空間次元を含むものであり、時にはこれに時間次元が加わる。 本稿で取り上げたラスター・モデルもまた、空間データを扱うひとつの枠組みである。ラスター・モデ 16 ルは、プログラミングにおいては、 2次元(あるいはそれ以上の)配列として表現するのが最もわかり やすいであろう。しかし前述したように、ラスター型のデータは大きさが大きくなりがちである。パー ソナルコンピュータにおいては、配列の大きさの制約が大きいことが、この種のシステムを運用する上 8 0 1の場合でおよそ 1 2 0×1 2 0、FMR-50 での大きな問題である。本稿で紹介 Lたシステムでは、 PC9 ” の場合でおよそ 6 0×6 0の要素数が限界であった。国土地理院の数値地図の標高のデータは、 2万 5千 分の l地形図 l枚分で 2 0 0×2 0 0のデータを含む。扱えるデータの大きさの上限を大きくすることが、 今後の課題である。 MふDOSの場合は、 lMBのメモリの制約があるので、今後は Windows や Macintoshなど別のプラットフォームを検討しなければならないであろう。 最後に、この点、を克服するための Macintoshの利用を紹介する。第 9図(カラー夏〉は Macintosh と、アプリケーション・ソフトウェアとして S pyglassTransformと AdobePhotoshopを利用して 作成した、生駒山地の鳥敵図である。データは国土地理院の数値地図(生駒山・信貴山)で、南西方向 から見たものである。陰影を算出するプログラムは、前述の陰影図表示手順に基づき、筆者が C言語で 作成した。これは、ラスター型の標高データ(テキストファイル〉を読み込み、光の仰角と方位角を与 pyglass えて、陰影値をラスター型データでテキストファイルに書き出すものである。このデータを S Transformが作成するサーフェスモデルに貼り付けた。かなりの大きさのデータを扱いうることがわ かるであろう。今後は、システムを構成するプログラムをすべて自作するのでなく、市販ソフトウェア と自作プログラムを組み合わせて利用することも、有効であろう。 17
© Copyright 2024 ExpyDoc