カテゴリー「GMT(地図ツール)」の記事

2019年10月16日 (水)

QGISで海岸線を描画する(GMTのpscoast的なこと)

  題名の通りなのですが、QGISで海岸線を描いてみます。

GMTでいうとpscoast的なことをします。

 

*はじめに

(0-1)QGIS のインストール

まず qgis を web からダウンロードし、インストールします。

アドレスはこちらhttps://www.qgis.org/ja/site/forusers/download.html

長期安定版 (2020/6現在 Ver3.10) を選択してください。

 

(0-2)海岸線のデータについて

国内データでしたら、

たとえば国土交通省のGISサイトから

http://nlftp.mlit.go.jp/index.html

国土数値情報ダウンロードサービスへ入って

http://nlftp.mlit.go.jp/ksj/index.html

海岸線データのダウンロードコーナーへ入ると

http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-C23.html

入手可能です。今回は全世界のデータを使うので別サイトから行きます。

 

*海岸線を描こう

(1)海岸線データの入手(2)QGISで海岸線を描いてみる

の順に進めます。

 

(1)海岸線データの入手

全世界データの海岸線を探したところ、OpenStreetMapプロジェクトの派生で

海岸データを抽出してくれているサイトがありました。

https://osmdata.openstreetmap.de/

上のサイトからcoastlineコーナーへ入ると

https://osmdata.openstreetmap.de/data/coastlines.html

shapefile形式(QGISでいうところのベクタ形式)でダウンロードできます。

投影図法がWGS84かメルカトル図法かを選ぶことができますが、

WGS84が便利だと思います。QGIS内で「再投影」という機能を

使うと相互変換可能ですので、あまり気にしないで大丈夫です。

数100メガバイトありますので、ご注意ください。ZIP形式ですので

解凍して、すべてのファイルを一緒のフォルダに保存しておきます。

 

(2)QGISで海岸線を描いてみる

(2-1)保存したcoastlineデータをベクタとして取り込む

「レイヤ」→「レイヤの追加」→「ベクタレイヤの追加」と進みます。

01 

出てきた画面の「ソース」で、先ほど保存した海岸線データを選択します

拡張子は.shpです。ダウンロード時にファイル名を変えていなかったらline.shpだと思います。

選択したら「追加」をクリック

02selectrev

(2-2)表示を見ます

画面に戻ると、こんな具合に海岸線が表示されていると思います。

03window

(2-3)測地系を確認する

今回(1)でWGS84をダウンロードしましたが、その測地系を確認してみます。

画面左側のレイヤーエリアの、現在表示しているレイヤの箇所で右クリックして

プロパティを選択

04proper

出てきた画面で「CRS」のところに情報が載っています。

今回のファイルは、「EPSG:4326 - WGS 84 - 地理学 」となっています。

基本的はこのように、ダウンロードしたファイルセット内に測地系の情報が書き込まれていて

QGISに取り込んだ際に自動的に読み込まれます。

05kakunin

(2-4)投影方法を変えてみる(メルカトル図法を試してみる)

(1)のところで、メルカトル図法と相互変換できます、と記載しましたので

そちらの操作を試してみます。

画面左側レイヤーのところで、海岸線データを選択した状態で

「ベクタ」→「データ管理ツール」→「レイヤの再投影」と進みます。

06_1warp

出てきた画面で「変換先CRS」の右側になるボタン(CRSの選択)をクリックします

07crschoice

出てきた画面の上側の「フィルター」欄に[3857]と、おまじないを打ち込むと

世界の座標参照系欄にMercator WGS84 Pseudo-Mercator EPSG:3857

がでてくると思いますので、そちらを選択して「OK」をクリック

08choice

戻った画面の「変換先CRS」に先ほど選んだEPSG:3857 WGS84 Pseude-Mercator

が入っていることを確認してから「実行」をクリック

09kakunin

「実行」の上のバーが作業の進行とともに伸びて行って、1分ぐらいすると

完了します。完了すると画面左側レイヤーのところに

「再投影された」というレイヤーができています。

10exchange

このレイヤーのところで、もともとあったレイヤー(ここではline)のチェックボックスを外して

「再投影された」レイヤーのチェックだけのコスト、メルカトル図法の図が出てきます。

12check

少し上の、変換先のCRSを変更することで、いろいろな投影方法にすることができます。

検索でつかったおまじないの数字はEPSGコードといわれるものです。

使っているうちに、いろいろ出てくるとおもいますが、

4326ぐらいがよく出てきます。詳しくは検索してく調べてください。

 

 

 

 

 

 

 

 

 

 

 

 

2019年10月 9日 (水)

GMT5.4.5 windows64ビット版 インストーラー使用でのインストール

windows7にGMTのver5.4.5を、インストーラー版でインストールしました。

手順は

----------------------------------------

(1)GMTインストーラーを入手

(2)windowsへのインストール

(3)ps形式のファイルを開くソフトを用意

  acrobatなどを持っていれば不要です。

  今回はghostscriptとghostviewをインストールしまた。

----------------------------------------

となります。

 

(1)GMTインストーラーの準備

ハワイ大のホームページへ取りにいきます。

場所はこちらのページの

http://gmt.soest.hawaii.edu/projects/gmt

ダウンロードタブの箇所になります。

http://gmt.soest.hawaii.edu/projects/gmt/wiki/Download

上記リンクに飛んで、ネットの速度によりけりですが

5から10秒ほど待つと、ダウンロード先の一覧がでてきます

このページで、gmt-5.4.5-win32.exeが32ビット版windows用インストーラー

gmt-5.4.5-win64.exeが64ビット版インストーラーです。

今日現在GMT6.0の評価版がおいてありますが、今回はGMT5にします。

ダウンロードしたファイルは適当な場所においておいてください。

 

(2)windowsへのインストール

ダウンロードしたファイルをダブルクリックすればインストールが始まります。

画面を順を追ってみていくと

(2-1)オープニング画面

1open

(2-2)  ライセンス契約

2licence

(2-3)パスをきるユーザーの設定(今回はall userにしました)

3path

(2-4)インストールするコンポーネントの選択(とりあえず全部)

6component

(2-5)スタートメニューフォルダへの登録(とりあえずそのまま)

5menu

(2-6)インストールフォルダの選択

  とりあえずそのままでもかまいませんが、インストール後に、カットアンドペースなどで

 インストールしたフォルダを変えてしまうと、(2-3)の設定と矛盾が生じ

 立ち上がらなくなりますのでご注意ください。

4folder

(2-7)インストールが始まります。

7inst   

(2-8)インストール完了です。

8instfinish

(3)ps形式のファイルを開くソフトを用意します。

今回はghostscript9.27とgsview5.0をインストールしますが、

acrobatなどをお持ちで、psファイルが開けるようでしたらインストール不要です。

基本的にghostscript9.27→gsview5.0の順でインストールしてください。

・gsview5.0だけインストールすると「ghostscriptが必要です」というようなエラー表示がでてきます。

・gsview5.0を先にインストールした後、ghostscript9.27をインストールしてみましたが

 一応問題なく動いています。。。

 

(3-1)ghostscript9.27のインストール

(3-1-1)インストーラーの入手

こちらのページで、

https://www.ghostscript.com/

右側のdownloadタブをクリックして

https://www.ghostscript.com/download.html

ghostscriptをクリックすると、ダウンロードサイトに行けます。

https://www.ghostscript.com/download/gsdnld.html

windowsの32ビット版か64ビット版かでインストーラーが異なります。

またpublicとcommercialのライセンスがありますので、適宜選択してダウンロードします。

(3-1-2)インストール

ダウンロードファイルをダブルクリックするとインストールが始まります。

・オープニング画面があって

11open

・ライセンス確認

  12license

・フォルダの選択

13folder

・コンポーネントの確認(とりあえずデフォルトのままにしました)

14choice

で「finish」をクリックしたら完了です。

 

(3-2)gsview5.0のインストール

(3-2-1)インストーラーの入手

こちらのページの

http://www.ghostgum.com.au/

GSview5.0をクリックすると

http://www.ghostgum.com.au/software/gsview.htm

ダウンロードサイトに行きますので、32ビット版か64ビット版を確認してダウンロードします。

(3-2-2)インストール

インストールの画面を並べます。

・インストーラーの解凍がはじまります。

21oepn

・言語を選びます(GSViewのバージョンによっては日本語化できるものもあります。

必要でしたらググってください。)

22language

・「Ghostscriptが必要ですよ」、との注意

23attention

・ファイル形式の関連付け、psとの関連は必要だと思いmますが、

pdfについてはacrobat readerなどが入っていれば不要です。

24relation

・インストールフォルダの選択

25folder

・インストールフォルダの確認

26kakunin

・スタートのところなどに登録するかの設定

27menu

・インストールがはじまって、完了の画面

28finish

 

以上でインストールが完了しました。

 

 

2019年10月 8日 (火)

XYZ形式の海底地形図を3Dプリンタでプリントする

4年ほどご無沙汰しておりました。
2年ほど前、研究室に3Dプリンタが来て、立体物がプリント出来るようになってきています。
今回は3Dプリンタで、海底地形図を3Dプリントしよう!、と色々ためした備忘録です。

 

元のデータは、1行毎に緯度、経度、水深が1行ったでーたが
何万行かつらなるcsvデータ(いわゆるxyz形式)です。

 

プリントルートとして3つためしました。
(1)xyz形式を点群データと見なして
-------------------------------------------------------
(1-1)MeshLabなど点群処理ソフトで海底地形の薄皮一枚(いわゆるサーフェス)のデータをつくる
(1-2)Fusion360など3D cadで薄皮に厚みをつけて、実体化(いわゆるソリッド)のデータをつくる
(1-3)stl形式で保存して3Dプリンタで印刷
-------------------------------------------------------

 

(2)XYZ形式をGMTで等高線化して
-------------------------------------------------------
(2-1)Fusion360などの3D CADで押し出して、実体化(いわゆるソリッド)のデータをつくる
(2-2)STL形式で保存して3Dプリンタで印刷
-------------------------------------------------------

 

の2つをまず考えたのですが、どちらもソリッド化がうまくできませんでした。
(2-2)は気合いで通せますが、等高線一つに1押出し、という操作がシンドイです。

 

(3)FOSS4G系のソフトであるをQGISを使用して
 XYZ形式をDEM形式であると見なして
-------------------------------------------------------
(3-1)点群データを読み込んでレイヤを作成し
(3-2)QGISの機能でレイヤ内のデータをデータ補間して、3Dっぽい表示にする
(3-3)QGISのアドイン(DEMto3D)でstl形式で出力
-------------------------------------------------------
としたら一応プリントできました。

 

(3-2)’からの別ルートとして
QGISのアドインのqgis2threejsを使用するとSTL形式まで出力できる
という情報もあったのですが、私のQGISのバージョン(3.4)では
qgis2threejsビューアーでの表示はできても、STL形式で出力する方法がみつかりませんでした。

 

以下(3)の手法を記載します。
-------------------------------------------------------
xyzについて、x、yは小数点形式の緯度経度
(133.423423度、32.32423度みたいな形)
zは水深のmからスタートしました。

 

(3-0)まずqgisをwebからダウンロードし、インストールします。アドレスはこちら
https://www.qgis.org/ja/site/forusers/download.html
今回長期安定版の3.4を選択しました

 

(3-1)早速qgisを立ち上げ、
1)「プロジェクト」→「新規作成」で新しいプロジェクトをつくって
2)「レイヤ」→「レイヤの追加」→「デリミティッドテキストレイヤ」の追加を選択し出てきた画面で
・[フィアイル名]のところで、XYZ形式の元データを選択
・[レイヤ名]を適当につける。何もしないとファイルの張子名になるのかな?
・[ファイル形式]は適切なものを選択(今回はCSV形式でやりました)
・[レコードとフィールドのオプション]で無視するヘッダの行数を選択(今回は0でした)
・[ジオメトリ定義]でxフィールド(東西経度の列)、Yフィールド(南北緯度の列)を選択
 [ジオメトリのCRS]でxyzデータの測地系を選ぶ(今回はWGS84 EPSG:4236でした)
・[レイヤ設定]はデフォルトのまま
で「追加」をクリックすると
画面中央に、xyzファイル内の点がxyプロットされると思います(深度情報は無し)

 

(3-2)データ補間します。
1)画面左側「レイヤ」エリア内に2)で指定したレイヤ名が出ていると思いますが
 その左側のチェックボックスにチェックが入った状態で、レイヤ名をクリックすると
 チェックボックスごと反転し選択状態になりますので、その状態で
 「プロセッシング」→「ツールボックス」と選択すると画面右側にツールボックスがでてきます
2)ツールボックスから「データ補間」の右向き矢印をクリックすると下向き矢印に代わり
 「IDW補間」「TIN補間」「ヒートマップ・・・」がでてきます。、
 補間ですがIDWが調子良さそうです
3)「IDW補間」をダブルクリックすると、新しいウインドウがでています。パラメータタブで
・[ベクタレイヤ]を(3-1)でつくったレイヤを指定
・[補間する属性]で深さ方向の列を選択
・1行下の枠の右上に出ている+マークをクリックすると、
 ベクタレイヤ、属性、タイプというウインドウの中に、上で指定したレイヤと深さ方向の列がでてきます。
 その状態でタイプは「ポイント」を選択
・[距離係数]はあとで出てきた図で適当に調整しますが、3~10ぐらいかなぁ、
・領域は右側の...の場所をクリックすると、「キャンパス領域を使用」「キャンパス上で領域を指定する」「レイヤの領域を使う」
 が選べますので、プリントしたい箇所を適当にえらんでください。
 ちなみに「キャンパス上で領域を指定する」を選択すると、2)でプロットされた画面にいけますので
 ここでプリントしたい場所をマウスで指定して話すと、領域に数値が入ります。
・[出力クラスタサイズ]で地形データの出力する細かさを指定します。
 例えば行に数字をいれると、上で指定した領域の面積に合わせて、自動的に列が決ります。
以上設定が終わりましたので、「実行」をクリックすると、地形図が計算されて、画面中央に(おそらく白黒で)表示
されるとともに、画面左側のレイヤに「補完された」というレイヤがでてきます。
画面中央の図がきれいにかけるまで、適当にパラメータを調整してください。

 

(3-3)最後にSTL形式の出力にかかります。
1)STLの出力にはプラグインのDEMto3Dを使用しますのでインストールします
・”インターネットに接続した状態で”
 「プラグイン」→「プラグインの管理とインストール」を選択すると
 プラグインがずらっと出てきます。
・「すべてのプラグイン」をクリックすると名前順に一覧がでますのでその中からDEMto3Dにチェックをいれて
 「プラグインをインストール」をクリックします。これでプラグインがインストールできました
2)DEMto3Dを使ってSTL形式で出力させます。
・「ラスタ」→「DEMto3D」→「DEMto3Dprinting」をクリック
・[Layer to print]で5)にて描いた画像のレイヤを選択
・[print extent]で○っぽいマークをクリックすると、上のレイヤの緯度経度が自動で入ります
・[model size]でspcingは推奨の0.2を
 sizeはプリントしたい大きさをmmで入力します
 scaleはそれにあわせて自動で1/1000とか表示してくれます
・[exaggeationterrain]でz軸の深さ方向の拡大量を入力、どうも10が最大のようです。。。
・[height base]で地形データをプリントするときのゲタを何m分はかせるか入力(0でもいいです)
以上で「EXPORT to STL」をクリックして、
成功すると、STLをはき出すファイル名が聞かれますので「保存」をクリック
失敗すると、「attention fill the data correctly」が出ますので、きちんとデータを入力したり
レイヤデータを正しく選択するなどの処理をして、成功できるよう頑張りましょう。

 

このデータを3Dプリンタのスライサーにもっていけばプリントできますが
出てきた海底地形データは、深さ方向が逆向き、深さ方向の拡大が中途半端
な状態だと思います。きれいにプリントするためには
xyzのデータに戻って、
・深さデータを、どこかの海底面からの高さデータに変換
・高さデータを数倍程度拡大しておく
の処理をした後で、描画するときれいにできると思います。

 

今回高知県沖合の海底データを、ダビンチの2.0 Duoで印刷したらこんな感じになりました。
また時間があれば画像付で書きます。

Kochioki

 

 

 

 

 

 

2013年1月 8日 (火)

カラーパレットの範囲を変更する(makecpt)

WindowsでGMT第9回、前回からの続きです。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)からでも一括でみることができます。

前回のgridimageでの色の塗り分けの際、GMTをインストールしたフォルダの中の\share\cptに標準で入っているカラーパレット(GMT_???.cpt)を使用しました。このカラーパレットは範囲があらかじめ決まっているため、範囲外の色は直近の範囲内の色で塗りつぶれていました。たとえばGMT_ocean.cptでは範囲が-8,000m~0mのため、プラスである陸地はすべて0mの色(=白色)で塗りつぶされます。makecptコマンドを使用すると、カラーパレットについて、色調はそのままで、範囲のみを変えることが可能です。

1.makecptでカラーパレットを作って使用する。
前回の最後のバッチファイルの先頭にmakecptコマンドを追加し、途中のパス記載を変更します。
----------------------------------
c:\programs\GMT4\bin\makecpt -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -T-10000/8000/100 > GMT_ocean_change.cpt(改行)
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -CGMT_ocean_change.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -CGMT_ocean_change.cpt -D8c/-1c/9c/0.3ch -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -O>>mapbat.ps(改行)
----------------------------------
1行目でつくったカラーパレットは作業中のフォルダに保存されていますので、gridimage,psscalceでパレットを指定する際はフォルダの指定(d:\data\gmt)を省略できます。

makecptコマンドのオプションは以下の通りです。
-Cオプション:基になるカラーパレットファイルを指定する。
-Tオプション:新しい範囲と段階を記載する(下限値/上限値/段階)。ここでは-10,000mから+8000mまで100段階で変化させる。
Makecpt

2.色調を反転させる。-Iオプション
makecptでIオプションを使うと色調が反転します。
----------------------------------
c:\programs\GMT4\bin\makecpt -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -T-10000/8000/100  -I> GMT_ocean_change.cpt(改行)
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -CGMT_ocean_change.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -CGMT_ocean_change.cpt -D8c/-1c/9c/0.3ch -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -O>>mapbat.ps(改行)
----------------------------------
Makecptr

3.色調をなめらかにする-Zオプション
-Zオプションをつけると色の変化が連続的になります。
----------------------------------
c:\programs\GMT4\bin\makecpt -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -T-10000/8000/100 -I  -Z> GMT_ocean_change.cpt(改行)
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -CGMT_ocean_change.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -CGMT_ocean_change.cpt -D8c/-1c/9c/0.3ch -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -O>>mapbat.ps(改行)
----------------------------------
Makecptrz

2012年12月24日 (月)

GMTで標高・水深を色で塗り分け(gridimage)、スケールをつける(psscale)

WindowsでGMT第8回、前回からの続きです。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)からでも一括でみることができます。

標高・水深を色で塗り分けて(gridimage)スケールをつけてみる(psscale)。

フォルダは前回までと同じで
GMTのインストールフォルダc:\programs\GMT4
地形データETOPO1の保存先 c:\programs\GMT4\share\dbase
作業フォルダ d:\data\gmt
とします。

1.色塗りしてみる(gridimage)
gridimageを使って、etopo1により早速色塗りをしてみます。
適当な名前で次のバッチファイルを作ります。
まずはpscoastで海岸線を引かずに作業始めます。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -P>mapbat.ps
-------------------------------------------
今回もグリッドファイルはetopo1から必要な範囲をgrdcutで切り出して使用しています(1行目)。
2行目gridimageは2次元バイナリのグリッドファイルから、2次元カラーイメージ(塗りつぶしコンター)を出力するコマンドです。グリッドファイルの範囲(今回はR120/155/20/50)の描画を自動的に行います。書式はgridimage グリッドファイル名 オプションの順になります。
 -J:描く図法,-B:枠の指定,-P:印刷を縦向き、の各オプションはpscoastと共通です。
 -Cオプション:カラーパレットファイルを指定します。
カラーパレットとは、色塗りする色調を指定しているファイルです。windows用のGMT4.5.8ではGMTをインストールしたフォルダの中の\share\cptに入っています(今回のケースではc:\programs\GMT4\share\cpt\となります)。このフォルダを除くとGMT_(色々な名前).cptというファイルが24個ほど入っています。このファイルそれぞれに各種色調が指定してあります。ここではGMT_relif.cptで試しに色塗りしてみます。

Japanrel

2.スケールをつけてみる(psscale)
スケールをつけるコマンドはpsscaleです。さきほどのバッチファイルを書き換えますが、-Kオプションと-Oオプションを忘れないよう追加します。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
オプションの説明です。
-Bオプション:aスケールの数字間隔、gスケールに縦線を入れる場所,fスケールに補助線を入れる場所を指定する。fオプションの後に:と:で区切った間に表示させる説明文をいれる。
-Cオプション:カラーパレット-の場所を指定する。gridimageと同じです。
-Dオプション:スケールの位置を図の原点からの相対位置でx,y,幅,高さの順に指定する。cmはc,インチはiをつける。最後のhはバーを横向につけるという意味。指定しなければ縦向きとなります。
出てきたスケールですが、-8000~8000となっています。これはGMT_relief.cptが-8,000m~+8,000mまでしか定義されていないためです。範囲外の数字は両端の色で描かれます。この上限値はカラーパレット毎に異なっています。

ところで、このまま絵を描いてみても、スケールバーの下にdepth(m)という表記が出てきません。これは図の下側が切れてしまったためです。そこで全体を5cm上に移動させます。その場合は描画の1個目のコマンド(この場合はgridimageに-Yオプションをつけます。-Y5cで5cm上に描くという意味です。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
x方向に移動する場合は-Xでかけます。下や左に移動する場合は-(マイナス)で指定します。インチはiです。一度原点を移動すると、それ以降にでてくるすべてのコマンドの原点が変わります。この場合ですと、psscaleの原点も5cm上に上がっています。そのためにdepth(m)が見えるようになりました。
Japanrels
3.色調を変えてみる。
まずGMT_globe.cpt(-10,000m~+10,000m)を使ってみます。先ほどのバッチファイルでカラーパレットの箇所のみ変更します。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_globe.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_globe.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
色調が少し変わりました。またスケールが-10,000~10,000に自動的に変わったのがわかります。
Japanglobe_2

さらにGMT_ocean.cpt(-8,000m~0m)に変更してみます。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
スケールが-8000~0に変更となったため、陸地はすべて上限値の白色となりました。

Japanocean
この場合、海岸線はpscoastで描きます。最後の行に海岸線を描くコマンドを追加します。psscaleに-Kオプションをつけるのを忘れずに。
--------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -D8c/-1c/9c/0.3ch -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -O>>mapbat.ps

--------------------------------------------
海岸線が出てきました。このようにGMTではコマンド毎に重ね描きすることができます。

Japanoceancst_2

2012年12月21日 (金)

GMTで観測点(psxy)説明文(pstext)を入れてみる

WindowsでGMT第7回、前回からの続きです。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)からでも一括でみることができます。

観測点(psxy)説明文(pstext)を入れてみる。

できた地図に対して、観測点に相当する丸印と説明文を入れます。それぞれpsxyとpstextというコマンドを使用します。
フォルダは前回までと同じで
GMTのインストールフォルダc:\programs\GMT4
地形データETOPO1の保存先 c:\programs\GMT4\share\dbase
作業フォルダ d:\data\gmt
とします。前回作成したバッチファイルjapancoast.batを使います。ファイルの中身は以下のとおりです。
---------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\pscoast -A150 -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -Lf150/16/16/500+l+jr -K> mapbat.ps(改行)
c:\programs\GMT4\bin\grdcontour japan.grd -JM12c -C1000 -W1 -L-12000/9000 -O>>mapbat.ps(改行)
---------------------------------------

1.psxyで観測点を入れてみる。
d:\data\gmtフォルダに観測点の場所が書かれているファイルを用意します。ここではhydro.txtとします。これはメモ帳で普通に作成してください。
とりあえず中身は以下のように記載してください。
---------------------------------------
139:13.5 35:00.0
139:52.0 32:06.5
126:58.0 27:33.0
127:05.0 27:16.0
---------------------------------------
          ↑此処には半角スペースを1個入れます。
上から順に初島、明神、伊平屋、伊是名の経度、緯度が書かれています。経度緯度の間には半角スペースを一個入れてください。

バッチファイルの最終行、grodcontourの-Oと>>の間に-Kを追加します。また次の行にpsxyコマンドを書き加えます
---------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\pscoast -A150 -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -Lf150/16/16/500+l+jr -K> mapbat.ps(改行)
c:\programs\GMT4\bin\grdcontour japan.grd -JM12c -C1000 -W1 -L-12000/9000 -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\psxy hydro.txt -JM12c -R120/155/20/50 -W6/200/0/ -Sc5p -O >> mapbat.ps(改行)
---------------------------------------
追加した-Kは、まだ次のコマンドがありますよ、という意味です。これを入れ忘れると図がうまく描けませんので注意してください。最後のpsxy以降は追記がないので-Kオプションはつけません。
psxyコマンドでは
psxy 描画点の緯度経度(またはxy)が書かれたファイル名 オプション
     ↑半角スペース               半角スペース↑
の順に記載します。オプションは次の通りです。
-J,-R,の各オプション:pscoastなどと同じで地図の種類と描画範囲の指定。
-Wオプション:色をR/G/Bで指定する。
-Sオプション:点の種類・大きさを指定する。cは円5pは5ポイントです。
これで赤丸が4個地図上に記載されます。

2.pstextで図中にキャプションをつける。
先ほどのhydro.txtに大して、文字情報を追加します。
---------------------------------------
139:13.5 35:00.0 10 -30 1 LM Hatsushima
139:52.0 32:06.5 10 0 1 RM Myojin
126:58.0 27:33.0 10 0 1 LM Iheya
127:05.0 27:16.0 10 0 1 CT Izena
---------------------------------------
pstextで使用する位置情報ファイルは次のように記載します。
x y size angle fontno justify text
各項目の間は半角スペースで区切ります。
x:経度
y:緯度
size:文字の大きさ(10ポイント)
angle:角度(0は横書き・-30で右下がり30度となる)
fontno:フォントの指定(1はHelvetica-boldに相当)
justify:座標点がテキストのどの位置に来るかの指定(Left / Center / Right と Top / Middle / Bottom を組み合わせ)
text:表示する文字列
なおpsxyコマンドでは位置情報ファイルの中で一番左と左から2番目の情報のみを使用します。左から3番目以降の情報があっても無視するため、ここで修正したhydro.txtはそのままpsxyで○印を描く際にも利用できます。

バッチファイルjapancoast.batのpsxyに-Kオプションを追加し、最終行にpstextコマンドを追加します。
---------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\pscoast -A150 -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -Lf150/16/16/500+l+jr -K> mapbat.ps(改行)
c:\programs\GMT4\bin\grdcontour japan.grd -JM12c -C1000 -W1 -L-12000/9000 -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\psxy hydro.txt -JM12c -R120/155/20/50 -W6/200/0/ -Sc5p -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\pstext hydro.txt -JM12c -R120/155/20/50 -O >>mapbat.ps(改行)
---------------------------------------
pstext 描画点の緯度経度(またはxy)他内容が書かれたファイル名 オプション
        ↑半角スペース                   半角スペース↑
の順に記載します。オプションはいままでのpscoastなどと共通です。

Japanxy


以上で地図の中に観測点と文字情報を記載できました。

2012年12月20日 (木)

GMTでのバッチファイルを使ったコマンド入力

WindowsでGMT第6回、前回からの続きです。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)から一括してみることもできます。

バッチファイルを使った複数コマンドの事前一括入力。

Etopo1を使って海底地形図を描く際、

  1. grdcutで必要な地形データを切りだす
  2. pscoastで海岸線と枠を描く
  3. grdcontourで等高線を描く

の順に3つのコマンドをコマンドプロンプトから打ち込みました。
「バッチファイル」を作成することで、複数コマンドをあらかじめメモ帳などのソフトを使って入力しておくことができます。

1.バッチファイルとは
バッチファイル(Batch File)は、Windowsで複数の処理をまとめて実行する際に使われるプログラムファイルのことです。バッチファイルの中身には、基本的にはコマンドプロンプトで実行できるコマンドを1行ずつ明記します。
ファイル名の拡張子は、「.bat」とします。"メモ帳"などのエディタを使って作成します。

2.バッチフィルの作り方と使い方
windowsの"メモ帳"を開き→中身を記載した後→「ファイル」~「名前をつけて保存」で"(好きな名前).bat"と指定して保存します。たとえばtestという名前にしたければtest.batと指定します。できあがったファイルをwindowsから見るとメモ帳で保存したテキストフファイルとは違ったアイコンになっているはずです。test.batのアイコンを右クリックしてプロパティを開くと、ファイルの種類が「Windowsバッチファイル(.bat)」となっています。バッチファイルの新規作成時の注意ですが、たとえばデスクトップ上で右クリック~「新規作成」~「テキストドキュメント」を選択してファイルを作成してしまうと、このファイル名をtest.batとしてもバッチファイルにはなりません。またこのファイルを開いて編集後「名前をつけて保存」~test.batと指定してもバッチファイルにはなりません。どちらのケースも「test.bat.txt」というテキストファイルになってしまいますので注意してください。
一度作ったバッチファイルを編集する場合は、右クリック~「編集」を選択します。おそらくメモ帳が立ち上がり編集できるようになります(ここでアイコンをダブルクリックしてしまうと、コマンドプロンプトが立ち上がりバッチファイルの内容が「実行」されてしまいます)。編集結果の保存は上書き保存で大丈夫です。

3.前回のコマンドをバッチファイルで作ってみる。
フォルダは前回までと同じで
GMTのインストールフォルダc:\programs\GMT4
地形データETOPO1の保存先 c:\programs\GMT4\share\dbase
作業フォルダ d:\data\gmt
とします。

まずメモ帳を立ち上げ、本文になにも書かず、「ファイル」~「名前をつけて保存」でd:\data\gmtのフォルダへバッチファイルとして保存します(japancoast.batとします)。ここから作業開始です。前回のコマンド3つをメモ帳で記載します。地図のファイル名はmapbat.psとしておきます。

---------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\pscoast -A150 -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -Lf150/16/16/500+l+jr -K> mapbat.ps(改行)
c:\programs\GMT4\bin\grdcontour japan.grd -JM12c -C1000 -W1 -L-12000/9000 -O>>mapbat.ps(改行)
---------------------------------------
コマンドが長いため画面がおりかえしてしまうと思いますが、途中では改行しないようにしてください。書き終えたら「ファイル」~「上書き保存」します。

4.バッチファイルを実行してみる。
d:\data\gmtのフォルダへ移動するとjapancoast.batというファイルが存在していると思いますので、ダブルクリックします。そうするとコマンドプロンプトが一瞬立ち上がりなにか表示されたあとすぐに消えます。消えた後d:\data\gmtフォルダをみるとmapbat.psというファイルができています。あとはいつも通りmapbat.psをダブルクリックするとacrobat distillerが立ち上がりmapbat.pdfというpdfファイルができあがります。その後mapbatpdfを確認すると前回作成したのと同じ図が表示されます。

以上複数コマンド入力する際は

  1. メモ帳からバッチファイルを本体をとりあえず作成
  2. 編集したら上書き保存
  3. できたバッチファイルをダブルクリックして実行
  4. psファイルをダブルクリックしてpdfファイルを作成

の順で作業すると便利です。

2012年12月19日 (水)

GMTでetopo1を使って等高線を描く

WindowsでGMT第5回、前回からの続きです。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)から一括してみることもできます。

etopo1で海底地形図を描く

1."grdcut"

etopo1には全世界の海底深度、地上高度のデータが入っており1Gbyte弱と
ファイルサイズも大変大きくなっています。そこで
grdcutコマンドを使用して必要な区間のみ切り出すと便利です。

フォルダは前回までと同じで
GMTのインストールフォルダc:\programs\GMT4
地形データETOPO1の保存先 c:\programs\GMT4\share\dbase
作業フォルダ d:\data\gmt
とします。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(エンター)

D:\data\gmt>
-----------------------------
これで東経120-155度、北緯20-50度の区間の地形データのみETOPO1から切り出され、
japan.grdファイルに保存されます。

オプションの-Rはpscoastと同じ、-Gは切り出したデータの保存ファイル名を指定します。
この場合はd:\data\gmtフォルダにjapan.grdが保存されます。

2.pscoastの海岸線に等高線を重ね書きする"grdcontour"
前回の海岸線を描いた地図に等高線を重ねます。
GMTでは一つの出力ファイルに対して、複数のコマンドをかけるばあいは
追記、という方法を使用します。

前回のpscoastのコマンドに-Kオプションを追加します。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast  -A150 -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -Lf150/16/16/500+l+jr -K> map.ps(エンター)

D:\data\gmt>
-----------------------------
-Kオプションは、>以下の出力ファイル(ここではmap.ps)に対して追記があります、という意味です。
他のコマンドに対しても共通のオプションです。

3.等高線はgrdcontourコマンドで追記します。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\grdcontour japan.grd -JM12c -C1000 -W1 -L-12000/9000 -O>>map.ps

D:\data\gmt>
-----------------------------
-Jオプションはpscoastでのオプションと同一です。ここは直前のpscoastでの設定と同じにします。
-Cオプションは等高線の間隔(m)です。1000m間隔となります。
-Wオプションは等高線の太さと色を指定します。ここではペンの太さが1。色はR/G/Bで指定しますが
省略すると黒(0/0/0)となります。
-Lオプションは等高線を描く範囲となります。ここでは-12000mから+9000mまでと指定しまいます。
マイナス(-)は海中です。

-Oオプションはすでに作成したファイルに(map.ps)に対して追記します、という意味です。
-Kと-Oの関係ですが
 以後の追記のコマンドを入れる予定がある場合は-Kオプションをつけます。
 追記コマンドが途中の場合は、-O -Kと両者ともオプションをつけます。 
 最後、もう追記コマンドが無い場合は-Oオプションのみで終わります。
追記する場合は-K,-Oの各オプションを忘れないようにしてください。

Japancont


2012年7月 5日 (木)

GMTで海岸線を描いてみる

windowsでGMT第4回、連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)から一括してみることもできます。


GMTで海岸線を描いてみます。

”pscoast”

pscoastは地図を作成するコマンドです。

MS-DOSプロンプトを開いて
自分の作業するフォルダへ移動してください。
たとえばd:\data\gmtとすると
---------------------------------
c:\User\Administrator>d:(エンター)
D:\>CD \data\gmt(エンター)
D:\data\gmt>
---------------------------------

以下、c:\programs\GMT4へインストールしたと仮定します。

1:単独で実行してみる。
まず単独で実行してみましょう。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast(エンター)
pscoast 4.5.8 - Plot continents, shorelines, rivers, and borders on maps

usage: pscoast -B<params> -J<params>(以下略)
-----------------------------
1行コメントの次に使用方法がぱらぱらと流れてくると思います。
GMTではコマンドを単独で入力した場合は、
このようにコメントと使用方法が表示されます。

2:海岸線を描いてみる
次に海岸線を描いてみます。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM -R120/155/20/50 -W > map.ps(エンター)

D:\data\gmt>
-----------------------------
今回はなにも表示されずに終了すると思います。
 コマンドを打ち間違えるとエラーが表示されます。
 その場合は修正して再度打ち直してください。
d:\data\gmtフォルダにmap.psというファイルが新しくできています。
これをダブルクリックするとacrobat distillerが立ち上がり
map.pdfというpdfファイルが作成されます。
map.pdfをダブルクリックすれば日本地図が以下のように見えるはずです。
 pdfファイルが作成されない場合は、コマンド入力ミスですので
 修正して再度打ち直してください。

Japancoast

GMTではコマンドに続けて-Jなどの形でパラメーターを入力します。
今回使用したものは
-JM:地図(J)をメルカトル図法(M)で描くというパラメーター。
    Jは必ず大文字です。Mは大文字と小文字がありますが後述。
-R:地図を描く範囲を指定します。書式は
  -R西端/東端/南端/北端
  緯度経度で指定します。西経南緯はマイナス(-)をつけます。たとえば西経40.5度は
  -40.5または-40:30と指定します。
-W:海岸線を描くというパラメーター。
> map.ps:出力結果を"map.ps"というファイルに上書きする。
最後の> (ファイル名)をつけてはじめてファイルに保存されます。

地図は90度傾いています。GMTの標準設定では
紙はA4縦、印刷は横向、となっている為です。
印刷の向きを縦向きにするには-Pオプションをつけます。

地図のサイズの標準設定はx軸が25cm、y軸が15cmとなっています。
サイズを変更する場合は-Jパラメーターで指定します。
大文字Mに続けて数字を入れると軸の長さを
小文字mに続けて数字をいれると1単位当たりの長さを
指定できます。単位はc:cm(デフォルト),
i:inch, p:pointで指定します。

例えば
-JM12c:x軸y軸ともに12cm
-JM12c/15c:x軸は12cm、y軸は15cm
-Jm12c:x軸y軸ともに1単位当たり12cm
-Jm12c/15c:1単位当たりx軸は12cm、y軸は15cm

1単位とは-Rオプションでの数字1に相当します。
たとえば-R120/155/20/50の場合、1単位は緯度1度、経度1度です。

-Jmオプションでは地図の縮尺を指定することも可能です。
例えば1/25,000,000で描く場合は以下のように指定します。
-Jm1:25000000

3:縦向きに、縦横12cmで地図を書く
地図の向きを90度起こし、大きさを指定して描きます。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P> map.ps(エンター)

D:\data\gmt>
-----------------------------
Japancp

4:枠線をつける
-Bオプションで枠を描きます。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -B> map.ps(エンター)

D:\data\gmt>
-----------------------------

Japancpb

5度おきに緯度経度を描きます。-Bオプションにg5をつけます(grid)。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5> map.ps(エンター)

D:\data\gmt>
-----------------------------

10度おきに数字を入れます。-Bオプションにa10を追加します(anotation)。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10> map.ps(エンター)

D:\data\gmt>
-----------------------------

枠に白黒パターンがつきましたが、10度刻みなのでf5を追加し5度刻みに直します。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5> map.ps(エンター)

D:\data\gmt>
-----------------------------

タイトル"Map"をつけてみます。半角の「:."」と「":」で囲みます。ピリオドを忘れないように。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map":> map.ps(エンター)

D:\data\gmt>
-----------------------------

Photo


5:陸域に色を塗る
-Gオプションで陸域に色を塗ります。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G> map.ps(エンター)

D:\data\gmt>
-----------------------------

真っ黒になりました。RGBで色指定できますので、G100/100/100 でグレーにしてみます。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100> map.ps(エンター)

D:\data\gmt>
-----------------------------

6.海域に色を塗る。
-Sオプションです。Gオプションと同じくRGBで色指定できます。たとえば0/170/220で水色にしてみます。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -S0/170/220> map.ps(エンター)

D:\data\gmt>
-----------------------------

Japancpbmc

7.国境線を描いてみる。
-Nオプションです。続く数字・記号の意味は以下の通りです。
1 = National boundaries
2 = State boundaries within the Americas
3 = Marine boundaries
a = All boundaries (1-3)
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -S0/170/220 -N1> map.ps(エンター)

D:\data\gmt>
-----------------------------

8.川を描いてみる
-Iオプションです。続く数字・記号の意味は以下の通りです。
1 = Permanent major rivers
2 = Additional major rivers
3 = Additional rivers
4 = Minor rivers
5 = Intermittent rivers - major
6 = Intermittent rivers - additional
7 = Intermittent rivers - minor
8 = Major canals
9 = Minor canals
10 = Irrigation canals
a = All rivers and canals (1-10)
r = All permanent rivers (1-4)
i = All intermittent rivers (5-7)
c = All canals (8-10)
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -S0/170/220 -N1 -Ia> map.ps(エンター)

D:\data\gmt>
-----------------------------

9.スケールを描いてみる
-Lオプションです。書式は
-Lで幅の無い線、-Lfで幅のある線になります。
-L(f)中心の経度/中心の緯度/距離を計算する緯度/スケールの長さと単位
-L(f)x中心のx座標/中心のy座標/距離を計算する緯度/スケールの長さと単位
 単位はkm(k)、マイル(m)、海里(k)が指定できます。
たとえば経度150度,緯度16度の場所を中心として、
緯度16度でのスケールで500kmの長さを、幅のある線で表示する場合は
-Lf150/16/16/500となります。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -S0/170/220 -N1 -Ia -Lf150/16/16/500> map.ps(エンター)

D:\data\gmt>
-----------------------------

10.タイムスタンプを描いてみる
-Uオプションで図の左下にGMTのロゴと作成された時刻がプロットできます。
-----------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -P -Bg5a10f5:."Map": -G100/100/100 -S0/170/220  -N1 -Ia -Lf150/16/16/500 -U> map.ps(エンター)

D:\data\gmt>
-----------------------------

Japancf

11.海岸線の小構造無視とスケールの単位追加
-Aオプションで細かい構造を無視します。書式は
-A(無視する面積:km2)
たとえば-A150で150km2以下の面積の島が島や海岸線が消えます。
ちなみに島の面積は以下の通り。
----------------
沖縄:1,207km2
佐渡島:854km2
奄美大島:712km2
対馬:696km2
淡路島:592km2
小豆島:153km2
----------------
-Lオプションにスケールを追加します。
+l:km, mileのスケール追加。自由書式の場合は+l"(ここに記載"
+j(l,r,t,b):スケールの場所指定l(eft),r(ight),t(op),b(ottom)で指定。
たとえば、軸の右横にkmと表示させるには
-Lf150/16/16/500+l+jr
小豆島以下(150km2)の構造物、河川、国境線、-Uオプションを外した図を描いておきます。

Japnwhite

2012年7月 4日 (水)

WindowsへのGMTver4.5.8のインストールその3

GMTインスト-ル前回からの続きで3回目です。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)から一括してみることもできます。

今回、描画のコマンド入力にはWindowsのコマンドプロンプトを使用することにします。コマンドプロンプトを利用すること利点はgawk,Cygwin,Services for UNIX,VM wareといったUNIX系のソフトを追加インストールする必要がなくることです。欠点には、GMT使用方法解説のホームページはUNIX系コマンドを使用して記載されていることが多いため、コマンドプロンプト用に若干読み替えをする必要があることがあげられます。ただし、読み替えはコツをつかめばそれほど難しくありません。

コマンドプロンプトについての解説です。Windows7以前の場合です。

[1]コマンドプロンプト(古くはMS-DOSプロンプト)を立ち上げる。
WindowsMe以降はウィンドウズキー+R→【cmd】と入力して「OK」を押すのが一番早いです。

Windows7の場合
・「スタート」→「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」と項目を選ぶ
・「スタート」→「プログラムとファイルの検索」→【 cmd 】と入力してエンター
・ウィンドウズキー+R で「ファイル名を指定して実行」ダイアログ表示→【cmd】と入力して「OK」を押す

WindowsVista, Xp, 2000の場合
・「スタート」→「プログラム」→「アクセサリ」→「コマンドプロンプト」と項目を選ぶ
・「スタート」→「ファイル名を指定して実行」→【cmd】と入力して「OK」を押す
・ウィンドウズキー+Rで「ファイル名を指定して実行」ダイアログ表示→【cmd】と入力して「OK」を押す

WindowsMeの場合
・「スタート」→「プログラム」→「アクセサリ」→「MS-DOSプロンプト」
・「スタート」→「ファイル名を指定して実行」→【cmd】と入力して「OK」を押す
・ウィンドウズキー+R→【cmd】と入力して「OK」を押す

Windows98の場合
・「スタート」→「プログラム」→「MS-DOSプロンプト」
・「スタート」→「ファイル名を指定して実行」→【command】と入力して「OK」を押す
・ウィンドウズキー+R→【command】と入力して「OK」を押す

[2]作業フォルダへ移動する。

立ち上げに成功すると画面上に、例えばc:\User\Administrator>_という画面が出てきます。ただしc:\User\Administratorの箇所はパソコンによって表示が変わります。ここは現在どの場所に居るか、とうことが表示されています。この場合はcドライブのUserフォルダの中のAdministratorというフォルダです。作図中の作業データや作図された結果は、明示して指定しない限りは現在居るフォルダに保存されていきます。
まずはコマンドプロンプト中の場所を、作業予定のフォルダへ移動します。
例えばd:ドライブのdataフォルダの中のgmtフォルダ(d:\data\gmt)で作図の作業をするとします。

ドライブを移動するときは>に続けて"ドライブ名"+:と入力しエンターを押します。
例えばDドライブへ移動するときは以下の手順

---------------------------------
c:\User\Administrator>d:(エンター)
D:\>
---------------------------------

dは半角大文字・小文字どちらでも構いません。
移動後にD:\と表示されます。これはDドライブの一番上の階層に居るという意味です。
次にdataフォルダの中のgmtフォルダへ移動します。この場合は移動コマンド"CD"(change directory)を使います。CDの直後に半角スペースを入れて、続けて移動したいフォルダ名を打ち込みエンターと押します。

---------------------------------
D:\>CD \data\gmt(エンター)
D:\data\gmt>
---------------------------------

これで作業フォルダに移動できました。

以下おまけです。CDはchande directoryという意味です。ディレクトリー=フォルダと同じ意味で、MS-DOS時代からの名残です。\マークはドライブの一番上の階層という意味と、フォルダの区切りのという意味の2つの意味を持って居ます。単独で書いた場合は一番上の階層の意味になります。

---------------------------------
D:\data\gmt>CD \(エンター)
D:\>
---------------------------------

移動の際に\マークをつけないと、現在居る場所からの移動という意味になります。

---------------------------------
D:\>CD data(エンター)
D:\data>CD gmt(エンター)
D:\data\gmt>
---------------------------------

..(ピリオド)2つは一つ上の場所という意味です。

---------------------------------
D:\data\gmt>CD ..(エンター)
D:\data>
---------------------------------

とりあえずgmtフォルダに戻ります。

---------------------------------
D:\data>CD gmt(エンター)
D:\data\gmt>
---------------------------------

[3]GMTの動作確認をする

いよいよ動作するか確認です。>に続いて海岸線を描くGMTコマンドの
pscoastを入力してみてください。

---------------------------------
D:\data\gmt>pscoast(エンター)
'pscoast'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

D:\data\gmt>
---------------------------------

おそらくこのような画面表示になると思います。これは、「現在のフォルダd:\data\gmet(とあらかじめpathが切ってあるフォルダ:後述)の中には、pscoastというコマンドが見つからないよ」という意味です。pscoastなどのGMTコマンドはGMTをインストールしたフォルダの中のbinフォルダに入っています(c:\programs\GMT4\bin)。この場所を明示してあげないとコマンドプロンプトが理解できません。そこで以下のように入力します。

---------------------------------
D:\data\gmt>c:\programs\GMT4\bin\pscoast(エンター)
pscoast 4.5.8 - Plot continents, shorelines, rivers, and borders on maps

usage:pscoast -B<params> -J<params> [-A<min_area>[/・・・
・・・以下英文が数十行続く

D:\data\gmt>
---------------------------------
このような画面が表示された場合はコマンドが無事通った、ということになります(画面上にはpscoastの使用方法が英語でかかれています)。これで使用前の準備が整いました。このように、GMTのコマンドを入力する際には、コマンドのある場所を明記して使う必要がありますのでご注意ください。

または、事前にwindowsへGMTの場所をpathで指定しておけば、c:\programs\GMT\bin\と明記する必要がなくなります。pathの設定は大ざっぱには次の通りです。
------------------------
Windows7の場合
1.「コントロールパネル」→「システム」→「システムの詳細設定」を選択し、表示されたウィンドウの「環境変数」ボタンをクリック。
2.「Windows XP、2000系の場合」と同じ。

Windows XP、2000の場合
1.「コントロールパネル」→「システム」→「詳細設定」→「環境変数」と進み、「ユーザー環境変数」または「システム環境変数」の設定を行う。
2.変数の一覧に「PATH」がない場合は「新規」を選択し、変数名に「PATH」、変数値に「C:\programs\GMT\bin」などコマンドファイルがある場所を入力。
変数の一覧に「PATH」がある場合は「PATH」を選択した後「編集」を選択し、上記のように変数値を入力。他の変数値とはセミコロン(;)で区切る。

Windows ME、98、95系の場合(Windows XPや2000でも使用可)
C:\にあるautoexec.batを編集する。
------------------------