地質調査総合センター研究資料集, no. 518
GSJ Openfile Report, no. 518
2009年12月
December, 2009

地球物理データの解析処理・図化表現のためのライブラリ(3)
Library Software for Geophysical Data Processing and Representation (3)

中塚 正 (産総研 地質情報研究部門)
Tadashi Nakatsuka (Institute of Geology and Geoinformation, GSJ, AIST)

English

1.はじめに

 著者は,空中磁気探査の研究に従事してきているが, その中でデータ処理・解析・図化表示などの必要に応じて, UNIX系コンピュータ環境のもとで汎用性の高いサブプログラムを開発し, ライブラリソフトウェアとして活用してきた. このライブラリが広く有効に活用されることを期待して, そのソースプログラムを公開している(中塚,2003, 2006).
 本資料は,同名の研究資料集 no.442(中塚,2006)の改訂版である. 今回の主要な改訂点は,
  1) コンター図描画 (cont) における 非整数コンター間隔対応
  2) 処理パラメータ設定支援機能 (lwkdir) の充実
  3) 理論磁気異常計算 (calma) の引数仕様変更
  4) 最新FORTRANコンパイラへの対応
  5) 付録ユーティリティの再構成
  6) その他マイナーな機能向上のための修正(バグ修正を含む)
などである.
 なお,このライブラリを利用して作成された 空中磁気/磁気異常データ処理 の ソフトウェアシステム(Nakatauka, 2007)についても, 別途改訂を行う(Nakatsuka, 2009).

2.ライブラリの概要

 このライブラリ 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 応用プログラムのコーディングを援助する機能として, 作業ディレクトリの設定支援,処理パラメータ入力支援などの機能を提供する.
上記の各項目は,C言語ソースプログラムのファイル名 (名称を小文字標記して ".c" の拡張子を付加したもの) に対応しているが,ほかに補助サブルーチンとして opnpin.c, getargs.f があり, それらについては LWKDIR の項で説明する.

3.本資料の収録ファイルとその構成

 各サブプログラムのソースは,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

4.説明書(マニュアル)

 このライブラリをFORTRAN言語から使用するにあたって必要な 説明書(マニュアル)は,HTMLドキュメントとして,本研究資料集に含めてある. また,C言語から利用する場合には,より詳細な設定等を行うことも可能であり, 機能拡張などの高度な処理を行わせることも考えられるので, 各エントリ名のプロトタイプとその概略機能を記した HTMLドキュメントも用意した. さらに,付録として収録しているユーティリティプログラムの概要説明も, HTMLドキュメントを用意した.

  ライブラリ使用説明書
(FORTRAN用)
ライブラリ概要説明
(C言語用)
付録ユーティリティ
概要説明
和文   libf.html   libc.html   prog.html
英文   libfE.html   libcE.html   progE.html

5.海岸線等データ

 このライブラリには,海岸線等を容易に作画するためのサブプログラム WSHORE が含まれており,その処理のためには海岸線その他の座標値のデータが必要である. この目的のために,データファイル群を /home/SHARE/data/shore デレクトリ下に用意し, WSHORE ではそれを使用するようになっている.
 今回改訂の前の 研究資料集 no.442 には,
    1) 国土地理院による「数値地図25000(空間データ基盤)」 の水域界と行政界のデータ
    2) NGDC/NOAA による世界の海岸線データ
の両者を用いて,必要な精度で再構成したデータのファイル群が 収録されている.それを再録するには別途手続きが必要と考えられるので, 今回の資料集にはそれらデータを含んでいない.必要に応じて 今回改訂前資料(no.442)(中塚,2006)を参照されたい.

文 献

  1. 中塚 正・宮崎光旗・安藤直行・衣笠善博・佐藤 功(1986) RIPS共用ソフトウェアGSJLIBとその原始プログラム.地調研究資料集, no.25, 156p., 地質調査所.
  2. 中塚 正・宮崎光旗・安藤直行・衣笠善博・佐藤 功(1990) RIPS共用ソフトウェアGSJLIBとその原始プログラム(第2版). 164p., 地質調査所.
  3. 中塚 正(2003)地球物理データの解析処理・図化表現のためのライブラリ. 地調研究資料集, no.400, 86p.+1 CD-ROM, 産総研地質調査総合センター.
  4. 中塚 正(2005)国際標準地球磁場IGRFとその計算ソフトウェア(4). 地調研究資料集, no.423, 39p.+1 FD, 産総研地質調査総合センター.
  5. 中塚 正(2006)地球物理データの解析処理・図化表現のためのライブラリ(2). 地調研究資料集, no.442, 102p.+1 CD-ROM, 産総研地質調査総合センター.
  6. Nakatsuka, T. (2007) Software system for aeromagnetic data processing, grid data manipulation, and reduction and quantitative interpretation of magnetic anomaly data. GSJ Open-File Report, no. 449, 29p. + 1 Diskette, Geol. Surv. Japan, AIST.
  7. Nakatsuka, T. (2009) Software system for aeromagnetic data processing, grid data manipulation, and reduction and quantitative interpretation of magnetic anomaly data (2). GSJ Open-File Report, no. 519, 70p. + 1 Diskette, Geol. Surv. Japan, AIST.
  8. Adobe Systems Incorporated (1990) PostScript language tutorial and cookbook. 16th printing, 244p., Addison-Wesley Publishing.
  9. Adobe Systems Incorporated (1994) PostScript language reference manual, 2nd ed. 11th printing, 765p., Addison-Wesley Publishing.