12.1 いろいろな地図投影法

扱える座標系としては,直角直線座標系などのほかに14種類の地図投 影座標系があります. U-座標系からV-座標系への正規化変換でこれらの座標系 を設定するれば, それぞれの地図座標系で描画が可能となります.

これらの地図投影変換を用いて, 全球(いくつかの例外あり)を表示した結果を map3d1.rb の出力図に示します. 変換関数番号(ITR)が10から33までの14 種類の投影法で海岸線情報と緯度・経度線を描きます. 第1フレームは円筒図 法(6種), 第2フレームは円錐図法(4種), 第3フレーム方位図法(4種)の地図投 影法です.

DCL で指定できる地図情報としては, 海岸線, 国境, 米国の州境, 日本の県境, プレート境界などがあります.















PROGRAM MAP3D1 \resizebox{15cm}{!}{\includegraphics{map3d/map3d1_001.eps}}
map3d1.rb: frame1
\resizebox{15cm}{!}{\includegraphics{map3d/map3d1_002.eps}}
map3d1.rb: frame2
\resizebox{15cm}{!}{\includegraphics{map3d/map3d1_003.eps}}
map3d1.rb: frame3

地図情報や緯線・経線を描くのと同時に, 等高線図やトーンによる塗りわけを おこなったり, ベクトル場を描いたりすることが可能です. 等高線図作画パッ ケージ Contour とトーンによる塗りわけパッケージ Tone はともにU-座標系 で作画するルーチン群ですから, 正規化変換で地図投影変換を指定していても これまでと全く同じように利用できます.

プログラム map3d2.rb では, これまで描いてきた球面調和関数の重ね合わせを 正射図法で描きます. 第9章のプログラム U2D5 と同じよう に等高線とハッチが地図上で作画され, 地球の裏側の部分は描かれないように なっています.

PROGRAM MAP3D2 \resizebox{10cm}{!}{\includegraphics{map3d/map3d2.eps}}
map3d2.rb: frame1


ベクトル場作画パッケージ Vector はV-座標系上で作画しますから, 残念なが ら, 現在のところ地図投影には対応していません. しかしながら, Arrow の アローサブプリミティブを使って, 緯度・経度の単位を持った矢印を地図上に 描くことは簡単にできます. map3d3.rb の例のように, 限られた地域だけでベ クトル場を描くならば, 緯度・経度の単位で矢印をスケーリングしてもそれほ ど気にならないでしょう.

PROGRAM MAP3D3 \resizebox{10cm}{!}{\includegraphics{map3d/map3d3.eps}}
map3d3.rb: frame1