地質調査総合センター研究資料集, no. 518 GSJ Openfile Report, no. 518 |
2009年12月 December, 2009 |
著者は,空中磁気探査の研究に従事してきているが,
その中でデータ処理・解析・図化表示などの必要に応じて,
UNIX系コンピュータ環境のもとで汎用性の高いサブプログラムを開発し,
ライブラリソフトウェアとして活用してきた.
このライブラリが広く有効に活用されることを期待して,
そのソースプログラムを公開している(中塚,2003, 2006).
本資料は,同名の研究資料集 no.442(中塚,2006)の改訂版である.
今回の主要な改訂点は,
1) コンター図描画 (cont
) における
非整数コンター間隔対応
2) 処理パラメータ設定支援機能 (lwkdir
) の充実
3) 理論磁気異常計算 (calma
) の引数仕様変更
4) 最新FORTRANコンパイラへの対応
5) 付録ユーティリティの再構成
6) その他マイナーな機能向上のための修正(バグ修正を含む)
などである.
なお,このライブラリを利用して作成された 空中磁気/磁気異常データ処理 の
ソフトウェアシステム(Nakatauka, 2007)についても,
別途改訂を行う(Nakatsuka, 2009).
このライブラリ libgm は, C言語で記述された汎用性の高いサブプログラム群と FORTRAN言語の短いサブプログラム1つからなり, FORTRAN言語のインターフェイスをも備えている. 各サブプログラムとも,概ね多数のエントリ名を持つ形式となっており, 多様な機能を提供する. その各プログラムの概要一覧を下表に示す.
なお,ここで作成したサブプログラムのいくつかは,
以前より旧地質調査所で開発利用されてきたGSJLIBと呼ばれる
ライブラリソフトウェア(中塚ほか,1986, 1990)の流れをくみ,
そのアイデアが生かされている.
また,IGRF計算のソフトウェアは,中塚(2005)によるソフトウェアを
ほぼそのまま収録してある.
PostScript出力のサブプログラムの作成にあたっては,アドビ社発行の
マニュアル(Adobe Systems Inc., 1990, 1994)を参考にした.
名称 | 機能概要 |
---|---|
PSPLOT | PostScriptプリンタへの線画出力を行うためのルーチン群である. 本ルーチン群の初期化/終了化,1ページ出力の開始/終了,線分描画, 指定範囲外線分切取り,描画拡大率指定,描画線の色・幅・線種指定, 矩形描画,多角形描画,円・円弧描画 などの機能がある. |
PSPAINT | PostScriptプリンタへの面描画出力を行うためのルーチン群で, PSPLOTの配下で動作する.円・矩形・多角形を指定の色で塗りつぶす基本機能 のほかに,2次元配列データをモノクロ濃淡もしくはカラー段彩の形で表現したり, カラー段彩図に陰影を付加したりできる. |
PTEXT | 使用する字体・文字サイズ・文字の向き・文字色および背景色を指定して, 文字列(漢字可)やマークを記入する.(PSPLOT配下で動作) |
CONT | 2次元配列で与えられたデータ分布に対して, 連続線描画によるコンター図を描く.(PSPLOT配下で動作) |
WSHORE | 日本およびその周辺(北緯20~50度,東経120~155度) の海岸線と主要な湖沼河川および都府県境,もしくは世界の海岸線を, 指定した図法に従って描く.(PSPLOT配下で動作) |
AXIS | ストロークテーブルによる文字・マークの描画,座標軸の描画, 配列データのグラフ化 などの線画による作画のためのルーチンを集めたもので, 旧式の既存プログラムとの互換性を維持することを目的とする. (PSPLOT配下で動作) |
XYCONV | 地図投影の図法展開計算(緯度・経度と直角座標値との相互変換)を行う. |
XW84T | 世界測地系と旧日本測地系との間の緯度・経度・高度値の相互の変換 の計算を行う. |
IGRF | 国際標準地球磁場(IGRF)の各モデルによる標準磁場の計算を行う. |
CALMA | 単純な形状のモデルに対する磁気異常(全磁力異常)の計算を行う. |
SML | n元1次/2元n次/3元n次 の回帰分析および回帰式の値の計算を行う. |
RAND | 疑似乱数を発生する. |
LWKDIR | 応用プログラムのコーディングを援助する機能として, 作業ディレクトリの設定支援,処理パラメータ入力支援などの機能を提供する. |
各サブプログラムのソースは,getargs.f
(FORTRAN言語) を除いて,C言語で記述されており,そのファイル名には,拡張子
".c
" がついている.
また,各サブプログラムを用いたプログラミングを行う上で必要な説明書
をHTML文書(拡張子 ".html
")として作成してある.
それらは,下に示すツリー構造の形で CD-ROM に収容してある.
なお,このライブラリの作成に関連して,あるいはそれと関係なく独自に
作成したユーティリティプログラムを,付録扱いでこの研究資料集に含めた.
下記のlib
,
prog
, data
の各ディレクトリは,実利用環境においては
/home/SHARE
ディレクトリ下に置かれることを
想定している.
<本研究資料集のファイルのツリー構造> (root) ├ openfile0518.html 表紙ページHTML (和文) ├ index.html 英文概要説明HTML ├ indexJ.html この文書(和文概要説明HTML) ├ man.tgz ディレクトリ 'man' の TGZアーカイブ ├ lib.tgz ディレクトリ 'lib' の TGZアーカイブ ├ prog.tgz ディレクトリ 'prog' の TGZアーカイブ ├ shore.tgz ディレクトリ 'data/shore' の TGZアーカイブ │ (このファイルは改訂されてないので本資料には含まない.) │ (リンク先は 今回改訂前資料(no.442)の中になっている.) ├ igrfcf.tgz ディレクトリ 'data/IGRFCOEF' の TGZアーカイブ │ ├ man/ (マニュアルHTML を収容するディレクトリ) │ ├ libf.html FORTRAN用マニュアルの目次(和文) │ ├ libfE.html FORTRAN用マニュアルの目次(英文) │ ├ libc.html C言語プロトタイプと摘要(和文) │ ├ libcE.html C言語プロトタイプと摘要(英文) │ │ │ ├ axis.html, calma.html, cont.html, igrf.html, ┐ │ │ lwkdir.html, pspaint.html, psplot.html, │ 各サブプログラムの │ │ ptext.html, rand.html, sml.html, │ マニュアルHTML(和文) │ │ wshore.html, xw84t.html, xyconv.html ┘ │ │ │ ├ axisE.html, calmaE.html, contE.html, igrfE.html, ┐ │ │ lwkdirE.html, pspaintE.html, psplotE.html, │ 各サブプログラムの │ │ ptextE.html, randE.html, smlE.html, │ マニュアルHTML(英文) │ │ wshoreE.html, xw84tE.html, xyconvE.html ┘ │ │ │ ├ prog.html 付録ユーティリティプログラムの概要説明(和文) │ ├ progE.html 付録ユーティリティプログラムの概要説明(英文) │ ├ samples.f.html マニュアルに収録した図を出力するFORTRANプログラムのソース │ └ figs/ (マニュアル収録図の画像ファイルを収容するディレクトリ) │ └ axis.png, cont.png, csymbl.png, ┐ │ gsymbl.png, pmark.png, pspaint.png, │ マニュアル収録図 │ ptext.png, ptext2.png, test.png, │ の画像ファイル │ wshore.png ┘ │ ├ lib/ (ライブラリサブプログラム群のソースを収容するディレクトリ) │ ├ @mkall ライブラリアーカイブ 'libgm.a' を生成するスクリプト │ ├ axis.c, calma.c, cont.c, igrf.c, ┐ │ ├ lwkdir.c, opnpin.c, pspaint.c, psplot.c, │ 各サブプログラム │ ├ ptext.c, rand.c, sml.c, wshore.c, │ のソース │ └ xw84t.c, xyconv.c, getargs.f ┘ │ ├ prog/ (付録ユーティリティプログラムのソースを収容するディレクトリ) │ ├ @mkall 付録ユーティリティの全実行ファイルを生成するスクリプト │ └ cats.c, cat4.c, cat8.c, crlf.c, onlycr.c, ┐ │ onlylf.c, cview.c, cviewe.c, uncview.c, │ 付録ユーティリティ │ hdump.c, hdumpe.c, xtw84.c, xw84t.c, │ のソース │ utmcal.c, xycal.c, xiken.c, xenik.c, │ │ igrfcal.c, job.c, job1.c ┘ │ └ data/ (各種データを収容するディレクトリ) ├ shore/ (海岸線等データを収容するディレクトリ) │ │ (本ディレクトリ内のファイルは更新されてないので本資料には含まない.) │ │ (その内容は 今回改訂前資料(no.442) を参照のこと.) │ ├── (海岸線等の詳細データを収容する多くのディレクトリ) │ └── (海岸線等概略データ. [wcoast.jpn, wriver.jpn, world.cst] ) │ └ IGRFCOEF/ (IGRFのガウス係数データを収容するディレクトリ) └ igrf01.coef, igrf02.coef, igrf03.coef, ┐ igrf04.coef, igrf05.coef, igrf06.coef, │ 各世代IGRFのガウス係数データ igrf07.coef, igrf08.coef, igrf09.coef │ igrf10.coef ┘
このライブラリをFORTRAN言語から使用するにあたって必要な 説明書(マニュアル)は,HTMLドキュメントとして,本研究資料集に含めてある. また,C言語から利用する場合には,より詳細な設定等を行うことも可能であり, 機能拡張などの高度な処理を行わせることも考えられるので, 各エントリ名のプロトタイプとその概略機能を記した HTMLドキュメントも用意した. さらに,付録として収録しているユーティリティプログラムの概要説明も, HTMLドキュメントを用意した.
ライブラリ使用説明書 (FORTRAN用) |
ライブラリ概要説明 (C言語用) |
付録ユーティリティ 概要説明 | |
---|---|---|---|
和文 | libf.html | libc.html | prog.html |
英文 | libfE.html | libcE.html | progE.html |
このライブラリには,海岸線等を容易に作画するためのサブプログラム WSHORE
が含まれており,その処理のためには海岸線その他の座標値のデータが必要である.
この目的のために,データファイル群を
/home/SHARE/data/shore
デレクトリ下に用意し,
WSHORE ではそれを使用するようになっている.
今回改訂の前の 研究資料集 no.442 には,
1) 国土地理院による「数値地図25000(空間データ基盤)」
の水域界と行政界のデータ
2) NGDC/NOAA による世界の海岸線データ
の両者を用いて,必要な精度で再構成したデータのファイル群が
収録されている.それを再録するには別途手続きが必要と考えられるので,
今回の資料集にはそれらデータを含んでいない.必要に応じて
今回改訂前資料(no.442)(中塚,2006)を参照されたい.