地質情報表示ソフトウェア・ライブラリ JKGLIB ver. 2
1.はじめに
JKGLIB は、海岸線や標高等の地形データ、地質図データ、地球物理データ等を、
容易にかつ高度に表現するために開発されたソフトウェア・ライブラリです。
このライブラリでは、すべての図形描画データを標準化した単純なフォーマット(JKGフォーマット)で表現することにより、 多くの出力機器のサポートと相互のオーバーレイを可能にしました。
また、地球物理データで良く使われるメッシュデータの形式を JKM フォーマットとして標準化し、 点データからメッシュデータを作成したり、作成したメッシュデータからコンター図や鳥瞰図等を作図する一連のソフトウェアもライブラリとして整備しました。
Ver.1からは、スプライン補完プログラムやデロネ三角網解析プログラム、
座標変換プログラムなど、新しいプログラムを追加すると共に、 Ver.1のプログラムのバグフィックス、機能の改良を行っています。
2.機能
ライブラリ中のソフトウェアは、大きく次の3つに分類できます。各コマンドの詳細は、ライブラリのインストール後に、man
コマンドで確認することができます。
(1) JKG データ処理
JKG データ(図形描画データ)を処理するための一連のソフトウェアが用意されており、GIS
データ等から、あるいは図形を指定して、JKG データを作成する機能、
必要とする投影法で座標変換をする機能、
作成した JKG データの回転・スケーリングや平滑化、色、線幅を変えたりする編集機能、
補助機能から構成されます。
(2) JKM データ処理
JKM データ(メッシュ/グリッドデータ)を処理するための一連のソフトウェアが用意されており、
他の形式のメッシュデータから JKM データを作成機能、
JKM データの演算、切り取り、平滑化などを行う編集機能、
JKM データを他の形式に変換する機能、 JKM データからコンター図、鳥瞰図などを JKG 形式で出力する作図機能、
補助機能から構成されます。
(3) 表示
(1)の JKG データ処理機能によって作成された JKG データ、あるいは(2)の作図機能によって作成された
JKG データは、そのままでは各種デバイスに表示できません。そのため、最終段階で各出力デバイスに応じたフォーマットへ変換する表示プログラムを用意しています。
3.プログラム
3.1 JKG データ処理
3.1.1 JKG データの作成
- dbsel WDB-II 地形データベースより指定範囲の JKG データを出力する。
- gsisel 国土数値情報データベースより指定範囲の JKG データを出力する。
- gsi10000 国土地理院の数値地図(1/10,000)より指定範囲の JKG データを出力する。
- dlgout DLG 形式のデータから JKG 形式へ変換する。
- arc_jkg ArcInfo の ungenerate データより JKG データを作成する。
- jkg_arc JKG データより ArcInfo の generate データを作成する。
- mby2jkg 数値地図25000からJKGへ変換する。
- circle 円を出力する。
- latlon 緯経線を出力する。
- legendR 凡例を作成する。
- meshline メッシュ線を出力する。
- point 点データからマークを出力する。
- scale_br スケールバーの出力する。
3.1.2 座標変換
- merca メルカトール図法に投影する。
- ortho オルソグラフィック図法に投影する。
- sinuso シンソイダル図法に投影する。
- vander ヴァンデルグリンテン図法に投影する。
- utm UTM 図法に投影する。
- utmR UTM 図法からの逆投影をする。
- gauss 平面直角座標に投影する。
- gaussR 平面直角座標からの逆投影をする。
- polyc 多円錐図法に投影する。
- polycR 多円錐図法からの逆投影をする。
- lambert ランベルト正積図法に投影する。
- lambertR ランベルト正積図法からの逆投影をする。
- tky_jgd 東京測地系と日本測地系2000(JGD2000)の相互変換を行う。
- tky_wgs 東京測地系と世界測地系 WGS84 の相互変換を行う。
3.1.3 JKG データの編集
- minmax JKG データの最大値、最小値の出力
- pen_chg 線の色と幅の変更
- col_less カラー情報の破棄
- rotate JKG データの回転
- scale JKG データのスケーリング
- transform JKG データの回転・シフト
- gener JKG 線データの単純化
- second JKG データの単位の変換
- smooth JKG データのスムージング
- window JKG データのウィンドウクリップ
- dotline 点線化
3.1.4 補助
- length JKG 線データの総延長の計算
- dms JKGデータを度分秒形式で出力する。
3.2 JKM データ処理
3.2.1 メッシュデータの作成
- point_g 点データに多項式をあてはめ、メッシュデータを作成する。
- xyz_g GMT 等で作成される XYZ 形式のメッシュデータを JKM フォーマットに変換する。
- bayspl1d 修正コレスキー分解法により1次元点データよりメッシュデータを作成する。
- bayspl2d 修正コレスキー分解法により2次元点データよりメッシュデータを作成する。
- spline_g SPLINE データよりメッシュデータを作成する。
- ks202_g 国土数値情報「1:10細分区画土地利用データ」よりメッシュデータを作成する。
- ks476_g 国土数値情報「1:10細分区画指定地域データ」よりメッシュデータを作成する。
- mem_g 国土地理院の50m標高メッシュデータを JKM 形式に変換する。
- lattic_g ArcInfo Lattice データよりメッシュデータを作成する。
- svf_g ArcInfo SVF データよりメッシュデータを作成する。
- arcg_g ArcInfo グリッドアスキーファイルよりメッシュデータを作成する。
- null_g 空のメッシュデータを作成する。
- poly_g JKG データより閉曲線の内側を塗りつぶしたメッシュデータを作成する。
- pgm_g PGM 画像データよりメッシュデータを作成する。
- ppm_g PPM 画像データよりメッシュデータを作成する。
3.2.2 メッシュデータの編集
- g_sel メッシュデータを切りだす。
- g_der メッシュデータの1解、2解微分を行う。
- g_cal メッシュデータ間の演算を行う。
- g_undef メッシュデータの未定義域を定義する。
- g_smooth メッシュデータを滑らかにする。
- g_seppou メッシュデータの接法面を計算する。
- g_rotate メッシュデータを回転する。
- g_change 会話形式でメッシュデータの編集を行う。
- g_inter メッシュデータを補間する。
3.2.3 メッシュデータの他形式への変換
- g_point メッシュデータを点データへ変換する。
- g_LH L(ロー)、H(ハイ)マークを書くための JKG データを出力する。
- g_prof メッシュデータより断面プロファイルを作成する。
- g_coin 指定したしきい値で影付けを行うための JKG データを出力する。
- g_shd メッシュデータより陰影を計算する。
- g_lattic メッシュデータより ArcInfo の lattice データを作成する。
- g_pgm メッシュデータより PGM 画像データを作成する。
- g_ppm メッシュデータより PPM 画像データを作成する。
3.2.5 メッシュデータの作図
- birdC 鳥瞰図を作成する。
- birdP 鳥瞰図を作成する。
- contour コンター図を作成する。
- contourP カラーコンター図を作成する。
- contourC カラーコンター図を作成する。
3.2.6 補助
- jkg_seg JKG 線データを鳥瞰図にオーバーレイするためのデータを作成する。
- ppm_cal PPM ファイル間の演算を行う。
3.3 デロネ三角網の解析
- delone 2次元離散データからのデロネ三角網を作成する。
- baydelo 2次元デロネデータの平滑化を行う。
- deloconC デロネ三角網からのカラーコンター図を作成する。
3.4 表示
現在、次の表示プログラムを用意してある。
- jkps PostScript 形式のプロットファイルを作成する。
- jkx11 X ウィンドウに出力する。
- jkppm 汎用画像ファイルを作成する。
3.ファイル
JKGLIB で使用するファイルは、次の通りです。ファイル形式の詳細は、ライブラリのインストール後に、man
コマンドで確認することができます。
- JKG ファイル グラフィックコマンドファイル
- JKM ファイル メッシュ/グリッドファイル
- JKP ファイル 点データファイル
- JK-FONT ファイル 地紋データベース
- JK-PATTERN ファイル 地紋コードファイル
- JK-RGB ファイル カラーデータベース
- JK-MOD ファイル カラー/地紋コードファイル
- JK-PEN ファイル ラインコードファイル
- JK-LEGEND ファイル 凡例作成ファイル
- PPM ファイル Netpbm のカラー画像ファイル
- PGM ファイル Netpbm の白黒濃淡画像ファイル
4.使用例
データベースとプログラムを用途に応じて組み合わせて使用します。
4.1 例1
日本付近の海岸線、河川、国境線をメルカトール図法で出力する例を示します。
latlon 125 25 150 50 3600 3600 | merca | minmax > plot.jkg
latlon 125 25 150 50 3600 3600 | merca >> plot.jkg
dbsel coast.db 5 125 25 150 50 | merca >> plot.jkg
dbsel river.db 5 125 25 150 50 | merca >> plot.jkg
dbsel border.db 5 125 25 150 50 | merca >> plot.jkg
(1) PostScriptファイルを作成する場合
jkps -a4 < plot.jkg > plot.eps
(2) Photoshop等で読み込みの可能な汎用画像ファイル(ヘッダー:19 バイト(UNIX)、22 バイト(WIN))を作成する場合
jkppm -x 1000 -y 1000 -bc 255255255 -b 0.1 < plot.jkg > plot.ppm
(3) Xウィンドウに表示する場合
jkx11 -x 1000 -y 1000 < plot.jkg
4.2 例2
地質調査総合センターの発行する数値地質図(100万分の1)を用いて、地紋付きカラー地質図を作成する例を示します。
Linux のコマンド例
出力結果(クリックすると大きくなります。)

4.3 例3
国土地理院の「数値地図50mメッシュ(標高)」を用いて、地形陰影の鳥瞰図を作成する例を示します。
Linux のコマンド例
出力結果(クリックすると大きくなります。)

5.インストール
このライブラリは、以下のディレクトリで構成されています。
/- root下には、このファイル (index_j.html)のみが置いてあります。
├ data/ WDB2の海岸線・国境・河川・テストデータ
├ html/ index_j.htmlからリンクされているファイル
├ lib/ 様々なカラーテーブル、地紋ファイル
├ man/ マニュアルディレクトリ
├ man1/ UNIXのman形式のファイル(jkglibコマンド群)
├ man2/ UNIXのman形式のファイル(jkg各種ファイル形式)
├ txt1/ テキスト形式のファイル(jkglibコマンド群)
├ txt2/ テキスト形式のファイル(jkg各種ファイル形式)
├ sample/ JKGLIBの使用例
├ baydelo/ デロネ三角分割を利用した2次元データの平滑化
├ bayspl1d/ スプライン関数による1次元データの平滑化
├ bayspl2d/ スプライン関数による2次元データの平滑化と地殻表層密度推定
├ plot/ 地質図・鳥瞰図の作図
├ src/ ソースプログラム
├ jkg/ JKGデータ処理のプログラムソースとMakeファイル
├ jkm/ JKMデータ処理のプログラムソースとMakeファイル
インストール(Linux の場合)の方法は、次の通りです。
- 展開したディレクトリの src/jkg および src/jkm の makefile のコンパイラ指定などを自分の環境に合わせて書き換える。
- make を行う。
- 実行ファイル、manファイルを例えば、/usr/local/bin、/usr/local/manにコピーする。
- 実行ファイルのパス(環境変数:PATH)、マニュアルページのパス(環境変数:MANPATH)の設定を行う。
ここではLinuxの場合のみを示しますが、ソースのコード変換を行い、市販のコンパイラを使用することにより、Windowsでも使用可能です。
このソフトウェア・ライブラリは、以下の条件でテストをしています。
OS: Red Hat Enterprise 3.0
コンパイラ: gcc-3.2.3 (g77)
インストールについて、あるいはインストール後の使用方法等についてのサポートは受け付けられません。
ただし、バグレポートは作者まで送っていただければ、次の改訂の参考にさせて頂きます。
6.作者
村田 泰章 (産業技術総合研究所 地質情報研究部門) E-Mail: 
7.著作権等
このソフトウェア・ライブラリ(JKGLIB ver. 2)はフリーソフトウェアです。
著作権は産業技術総合研究所が所有していますので、著作権法で認められている範囲を越える使用を行いたい場合には、
作者までご連絡ください。また、産業技術総合研究所および作者個人は、このライブラリの使用によって生じたいかなる損害についても責任を負いません。
2007.03.29