chatGPTが世間を席巻していますが、GMTみたいなマイナーなスクリプト言語でも理解できるのでしょうか。
というわけで、chatGPT Plusを使用して、GMTに関する質問をしてみました。
使用したモデルはGPT-4です。
日本地図を描く
質問:GMTというスクリプト言語で日本地図を書きたいです
GMT (Generic Mapping Tools) は、地図データを扱うための強力なツールセットで、主に地球科学者によって使用されています。GMTは、多くの地図投影と地球科学データをサポートし、C言語で書かれていますが、コマンドラインからスクリプトで操作できます。
日本地図をGMTで作成するには、以下の手順を実行してください。
GMTをインストールする
GMTは多くのプラットフォームで利用可能です。インストール方法は公式ドキュメント(https://docs.generic-mapping-tools.org/latest/install.html)を参照してください。地図データをダウンロードする
日本地図のベクターデータをダウンロードします。Natural Earth(https://www.naturalearthdata.com/)は無料で利用できる地理データを提供しています。GMTでも利用可能なデータがあります。スクリプトを作成する
以下は、日本地図を描画するための簡単なGMTスクリプトです。これを "japan_map.sh" などの名前で保存してください。#!/bin/bash # グリッドデータをダウンロードして解凍する gmt grdlandmask -R120/150/24/47 -I10m -Df -N-1/0 -Gjapan_mask.grd gmt grdgradient japan_mask.grd -Ne0.8 -A100 -Gjapan_intens.grd # 日本地図を描画する gmt begin japan_map pdf gmt coast -R120/150/24/47 -JM6i -Bxaf -Byaf -BWSne -W0.25p -A500 -Gblack -Sskyblue -Df gmt grdimage japan_mask.grd -Ijapan_intens.grd -t70 -Cgray gmt coast -W0.25p gmt end
書けるじゃん、、
でもgrdlandmaskを使うのは意外でした。SRTM1使えばいいのに。
震源をプロットする
質問:震源をプロットするにはどうすればよいですか
震源をプロットするには、まず震源データを用意する必要があります。震源データは緯度、経度、深さ、発生時刻などの情報が含まれています。このデータをテキストファイルに保存して、GMTで読み込んでプロットします。
ここでは、緯度、経度、マグニチュードを含む仮の震源データを使用して説明します。
●震源データをテキストファイルに保存する
以下のような震源データを earthquakes.txt という名前のファイルに保存します。
142.373 38.297 6.7
141.381 36.948 6.1
135.667 34.667 6.3
このファイルには、3つの震源の経度、緯度、マグニチュードが含まれています。
●震源をプロットするスクリプトを作成する
以下のスクリプトは、日本地図上に震源をプロットします。これを "japan_map_with_earthquakes.sh" などの名前で保存してください。
#!/bin/bash
# グリッドデータをダウンロードして解凍する
gmt grdlandmask -R120/150/24/47 -I10m -Df -N-1/0 -Gjapan_mask.grd
gmt grdgradient japan_mask.grd -Ne0.8 -A100 -Gjapan_intens.grd
# 日本地図と震源を描画する
gmt begin japan_map_with_earthquakes pdf
gmt coast -R120/150/24/47 -JM6i -Bxaf -Byaf -BWSne -W0.25p -A500 -Gblack -Sskyblue -Df
gmt grdimage japan_mask.grd -Ijapan_intens.grd -t70 -Cgray
gmt coast -W0.25p
gmt plot earthquakes.txt -St0.25i -Gred -W0.25p,black
gmt end
このスクリプトでは、gmt plot コマンドを使用して earthquakes.txt に含まれる震源をプロットしています。記号の形状とサイズは -St0.25i で指定しており、ここでは三角形の記号を0.25インチのサイズで表示しています。記号の塗りつぶし色は -Gred で指定し、記号の線の色は -W0.25p,black で指定しています。
gmt plotの使い方は完璧ですね。
発震機構解を書かせる
結論:できませんでした。
押し問答が続くので省略しますが、安芸リチャーズで書こうとしたり、ハーバードCMTで動かそうとしたり、行ったり来たりでエラーが出続けます。
こういう複数フラグがあるモジュールは苦手かもですね。
まとめ
・gmt basemapとかgmt plotらへんは得意。
・gmt mecaなどオプションによって入力データのフォーマットが変わるモジュールは苦手。
コメント