ディジタイザを使った地理情報取得の仕事の流れの例
作業内容
ソ連水文委員会の世界水収支アトラス
(USSR National Committee for the International Hydrological Decade,
1974: Atlas of World Water Balance, UNESCO Press;
地理資料室にある)のうち、
アジアの年蒸発量の図(正積方位図法)の、
大陸規模にのびた等値線のひとつを読みとり、
別の投影法(北極中心のステレオ図法..天気図でよく使われる)の地図上に表示する。
(表示するだけでなく、数値として使いたい場合は、
次の段階として、
等値線の位置から空間内挿して格子点データにするか、
等値線で囲まれた多角形を定義して数値の区間と関連づけてベクター型地理データに
するなどの作業が続くことになる。)
手順
WindowsのPCその1での作業
- PC上の作業フォルダの中に、自分のデータを臨時に入れるフォルダを作る。
(名前はアルファベットや数字だけにしておいたほうがよい。
説明では仮にmyfolderとするが、各自変えてほしい。)
- 本体とディジタイザを接続し、電源を入れる(あるいは確認する)。
- アトラスのコピーの紙を製図テープでディジタイザにはりつける。
- 通信ソフトウェアTeraTermを起動し、serialを選択、
serialのオプションとして「7 bit, even parity」を選択する
(even parityとは、文字化けを検出するため、ASCIIの各文字7ビットに
1ビットをたして、「1」のビットの数が偶数になるようにすることである。
この実習で使うディジタイザはこの設定にしてある)。
- TeraTermのログ機能を使って結果を
ファイルにしまいながら、
コントロールポイント
(地図上の緯線経線の交点)の位置を読みとる。
このファイルを、コントロールポイントファイルと呼ぶ。
説明のつごう上、ファイル名を仮にcontrol.txtとするが、
この名前である必要はない。
- ログをいったん終了し、「メモ帳」などで
コントロールポイントファイルを編集し、
それぞれの行に経度、緯度を書きこむ。
(Unix上のエディタに慣れている人は、転送してから編集してもよいが、
読みとった順序を忘れないうちにすること。)
- 別のファイルにログをとりながら、等値線の位置を読みとる。
このファイルを、観測値ファイルと呼ぶ。
ファイル名は仮にobserved.txtとする。
- ログを終了し、
DOSプロンプトからftpを起動して、
Unixマシン(ホスト名teacher)に自分の
ディレクトリを作って、コントロールポイントと観測値のファイルを
転送する。
- [DOSプロンプトから]
- c: [作業ディスク, 要確認]
- cd myfolder [ログファイルを作った場所]
- ftp teacher
- [ftpプロンプトから]
- [username: に]student
[ユーザー名]
- [password: に]studentのパスワード[表示されない]
- cd digitize
- mkdir mydir [mydirは自分のディレクトリの名前の例。各自変えてほしい]
- cd mydir
- put control.txt control
[コントロールポイントファイル]
注: putのあとにファイル名を2つ書くと、
さきのものが手もとのファイル名、あとのものが送り先でのファイル名になる。
1つのときは、手もとと同じファイル名で作られる。
ここに示した実行例では、Unix上のファイル名は.txtなどの
拡張子がついていないものを使うことにした。
もしついたまま送った場合は、あとのUnix上の作業でも
.txtがついたファイル名を使うことになる。
- put observed.txt observed [観測値ファイル]
- close [teacherとの接続を切る]
- quit [ftpを終える]
- かたづける。
Unixでの作業
(ホスト名teacher、
ディレクトリ~student/digitize)
- WindowsからTeraTermでTCP/IP、
ホスト名teacherを選択してログインしてもよい。
- cd digitize
- cd mydir
- (以下のstep1などのコマンドは、
../tool、つまり
~student/digitize/toolにある。
このディレクトリがコマンドパスに含まれているものとして説明する。 )
- step1:
コントロールポイントのファイルをならべかえる。
列順序を変え、コンマ区切りからスペース区切りにする。
AWKプログラムxcontrol.awkを利用。
結果はcontrol.llduv。
llduvは、各列が、(1)経度、(2)緯度、(3)ダミー(ディジタイザのボタンに対応)、
(4)ディジタイザのX座標、(5)ディジタイザのY座標であることの覚えとしてつけた名前。
- step2:
コントロールポイントの経度緯度から地図(x,y)座標を求める。
U.S. Geological SurveyのGerald Evenden氏によるフリーソフトウェア
projを利用。
等積方位図法は+proj=laea、中心経度は東経95度、北緯45度、
結果の座標値の単位は m。
結果はcontrol.xyduv。
- step3:
コントロールポイントで決めた経験式により、観測点のディジタイザ上の位置から地図(x,y)座標を求める。
Fortranプログラムxdigit2.fを利用,
この中では最小2乗法でパラメタを決めてアフィン変換をしている。
結果はobserved.xyd。
- step4:
観測点の地図(x,y)座標から経度緯度を求める。
Evenden氏のprojの逆変換を利用。
結果はobserved.lld。
- 変換結果を、ステレオ図法の地図に作図する。
例文はmiyaokaxディレクトリの
map_csh
[mapとcshの間の字はアンダーバー]。
Wessel, Smith両氏のGMTを利用。
miyaokaxのデータは1996年度の授業の課題で
宮岡健吾氏[現所属: 気象庁 気象衛星センター]がディジタイズ
したものの一部をサンプルとして増田が処理したもの。
この例文では、コントロールポイントファイルは
control、
観測点ファイルはasiaとなっている。
map_cshでは、
asia.lldとcontrol.llduvを読み、
海岸線と河川のはいった地図に、
コントロールポイントを大きめの赤いまるで、
観測点(等値線の通る点)を小さい黄色のまるで表示する。
結果の図形ファイルはasia.psとなる。
ファイル名のほか、記号の形・大きさ・色の選択
(psxyのオプション-S, -G, -W)を
変えてみるとよい。
なお、ディジタイズした線が閉じた領域を囲むものの場合は、
map_cshの代わりに、領域を色で塗りつぶす
fill_csh
を使うとよい。
- cp ../miyaokax/map_csh .
[自分のディレクトリにコピーする。コピー先を示すピリオドに注意。]
- ng map_csh
[編集する。
変更が必要な、ファイル名、表題、作業者名などは初めのほうにまとめてある。
ngはエディタの一例で
操作はmuleとほとんど同じ。muleもあるが
-nwオプションが必要かもしれない。viもある。]
- ./map_csh またはcsh map_csh
[GMTを実行し図形ファイルを作る。]
結果を見る: WindowsのPCその2での作業
- ftpでteacherから図形ファイルを受信
- [DOSプロンプトから]
- e: [作業用ディスク]
- cd temp [作業用フォルダ、これは個人別でなく共用で使う]
- ftp teacher
- [ftpプロンプトから]
- [username: に]student [ユーザー名]
- [password: に]studentのパスワード[表示されない]
- cd digitize
- cd mydir [自分のディレクトリ]
- get asia.ps [図形ファイル名、これは例]
- close [teacherとの接続を切る]
- quit [ftpを終える]
- Windowsのスタートメニューから「GS Tools」
(「ghostscript」になっているかもしれない)の中の「GS View」を選択、
作業ディレクトリの中の自分が持ってきたpsファイルを開く。
(GS Viewはフリーソフトウェアで、同じくフリーソフトウェアのGhostscriptを
利用して、PostScriptファイルを画面表示する。)
- PCの作業フォルダに作ったファイルはなるべく消しておく。
補足
ディジタイザから読む点の数の制限
- コントロールポイントの数は 50点まで
- 観測点の数は 1000点まで
この制限は、プログラム
tool/xdigit2.fの宣言部で
PARAMETER (nctldm=50, nobsdm=1000)
と決めているためなので、変更したい場合は、この数値を書きかえて
% f77 -o xdigit2 xdigit2.f
でコンパイルしなおせばよい。
proj
teacherにtelnetし、
use projをしたあと、projコマンドを実行可能。
コマンドの機能は、man projで表示される。
さらに詳しくは、/usr/local/proj/doc/にある文書ファイルを参照。
GMT
[別記事参照]
ディレクトリmapgmtの下に、
この教材を作成する準備で作った、
地図を作るシェルスクリプトを置いた。
名前がmap1で始まるものは原図で使われていた等積方位図法を再現するもの、
map2で始まるものはステレオ図法で、
名前にcmがつくものは紙の上での長さの単位にcmを、
inがつくものはインチを使っている。
(GMTの開発初期は、長さの単位はインチに限られていたが、最近の版では両方を
選ぶことができ、cmのほうが標準になっている。)
Ghostscriptなど
teacherでは、特に準備しなくても、
gsというコマンド名でGhostscript、
gvというコマンド名でGV (GS Viewと同様なもの)を
使ってPostScript形式のファイルを表示することができる。
ただし、端末側に「X Windowサーバー」の機能が必要。
別記事参照(実習を行なった教室に関するローカルな知識なので省略)。
プリンタへの出力方法
(ローカルな知識なので省略)
2000-04-03, ..., 2002-04-25, 2004-01-23
増田 耕一
[地理情報学の授業の目次へ]