JKG グラフィックコマンドファイル解説

1.概要

 このフォーマットは、地図、地質図、等高線図等の図をディスプレイやプロッタ、プリンタ等の出力デバイスに出力するための最低限のグラフィックコマンドの形式を定義したものである。

 作図しようとする図を、マーク、ライン、ポリゴンに分解して表現することによって、座標変換、他の地図・地質図とのオーバーレイを行い、各種出力デバイスへの出力することが可能になる。

 特徴としては、作図データは必要最小限のものとし、各出力デバイスに応じたドライバーの開発を容易にした。また、地図を書くことが多いという特徴から、座標変換が可能なデータ形式とした。

2.形式

 このフォーマットでは、データの容量を小さくするために、先頭の 1 ないし 2 文字でコマンドの種別を表している。その後に各コマンドごとに必要なパラメータが、セパレータ (スペース) で区切られて続く。また、コマンド間のセパレータは改行とした。各コマンドとパラメータは Table 1 に示す通りである。JKG フォーマットには、改ページという概念はなく、一つのファイル (または連結された複数のファイル) で 1 枚の図を作図することになる。

 このフォーマットで用いる座標系は基本的に、東経、北緯を秒単位で表現したもの、あるいは経緯度を座標変換した後の m 単位の座標である。そうすることによって投影法の変換や厳密なスケールの指定が可能となる。ただし、こうした変換などが必要がない場合は、任意の座標系を用いて単独の作図は行うことができる。また、例外として文字およびマーカーの大きさ、ラインの線幅、点線パターンの長さの単位は直感的に把握するためにポイント (1/72 インチ) とした。

Table 1 JKG フォーマットコマンド一覧表

コマンド 機 能
A xs ys xe ye Area. 作図領域の左下 xs、ys と右上 xe、ye の座標を設定する。作図命令 (小文字) の前までに必ず指定する。
W xs ys xe ye Window. クリッピング枠を左下 xs、ys と右上 xe、ye で定義される長方形に設定する。
R ReleaseWindow. クリッピング枠を解除する。
Ss size StringSize. 文字のサイズを指定する。
Sr angle StringRotate. 文字の角度を指定する。
Sh position StringHorizontalPostion. 文字の横位置を指定する。(0.0=左寄せ、1.0=右寄せ)
Sv position StringVerticalPosition. 文字の縦位置を指定する。(0.0=下揃え、1.0=上揃え)
Sc color StringColor. 文字の色を指定する。
Mp pattern MarkerPattern. マーカーのコードを指定する。
Ms size MarkerSize. マーカーのサイズを指定する。
Mc color MarkerColor. マーカーの色を指定する。
Lw width LineWidth. ラインの線幅を設定する。
Lc color LineColor. ラインの色を設定する。
Fp pattern FacePattern. フェースの地紋を設定する。
Fc color FaceColor. フェースフォアグラウンドの色を設定する。
Fb color FaceBackColor. フェースバックグラウンドの色を設定する。
s char symbol. 文字列 (char:改行まで有効) を現位置に描画する。
p pointmarker. 現位置にマーカーを描画する。
m x y move. x、y の位置に現位置を移動する。
l x y line. 現位置と x、y を結ぶ線分を描画する。現位置は x、y に移動する。
rm x y relatedmove. x、y の位置に現位置を移動する。x、y は最後の m または l コマンドの指定位置からの相対値。
rl x y relatedline. 現位置と x、y を結ぶ線分を描画する。現位置は x、y に移動する。x、y は最後の m または l コマンドの指定位置からの相対値。
n newpath. ポリゴンの定義を開始する。ポリゴンは後に続く m または l コマンドで定義する。
f fill. ポリゴンの定義を終了し、ポリゴンの内部を塗りつぶす。
# char comment. コメント。改行まで有効。

3.使用例

例 1. 四角を書く。

A 0.0 0.0   1.0 1.0 作図領域を指定する。
m 0.0 0.0   カレント・ポイントを移動する。
l 0.0 1.0   線分を描画する。
l 1.0 1.0     〃
l 1.0 0.0     〃
l 0.0 0.0     〃

例 2. 線種を変えて四角を書く。

A 0.0 0.0 1.0 1.0   作図領域を指定する。
Lw 3   カレント・ラインを幅3ドットとする。
m 0.0 0.0   カレント・ポイントを移動する。
l 0.0 1.0   線分を描画する。
l 1.0 1.0     〃
l 1.0 0.0     〃
l 0.0 0.0     〃

例 3. 三角形で塗りつぶす(輪郭は書かない)。

A 1.0 1.0 2.0 2.0   作図領域を指定する。
Fc   1 色を指定する。
n   三角形の定義を開始する。
m 1.0 1.0   頂点 1 の指定。
m 1.5 2.0   頂点 2 の指定。
m 2.0 1.0   頂点 3 の指定。
m 1.0 1.0   頂点 1 の指定。
f   三角形を塗りつぶす。

例 4. 三角形で塗りつぶす(輪郭も書く)。

A 1.0 1.0 2.0 2.0   作図領域を指定する。
Fc 2   地紋と色を指定する。
n   三角形の定義を開始する。
m 1.0 1.0   頂点 1 の指定。
l 1.5 2.0   頂点 2 を指定し、かつ輪郭を描画する。
l 2.0 1.0   頂点 3 を指定し、かつ輪郭を描画する。
l 1.0 1.0   輪郭を描画する。
f   三角形を塗りつぶす。