[更新情報]

▽Go to footer

GMT で地震動の加速度時刻歴をグラフ化した事例です. ここでは,縦軸の最大値を最大加速度とするよう図化するため,awk_rga.txt という awk スクリプトにより作図範囲を指定するバッチファイルを作成し,作図用バッチファイル bat_acc.bat で読み込ませています. やっていることは,y軸の最大値を加速度の絶対値の最大にセットし,グリッド・軸数値もそれにあわせることです. 最大値/最小値の検索は,GMT の minmax により行っています.

準備

入力数値データは,以下の数値並びのものです.(ファイル名:dat_acc_TCGH16_EW2.csv)

2011/03/11 14:46:00 TCGH16 EW2 Max.acc=1196.697
dt,0.010
ndata,30000
-1.890
-1.888
-1.888
・・・

1行目はファイル情報,2行目はサンプリング周期,3行目はデータ数,4行目が加速度値です.

実行用バッチファイルと解説

rem ============================================
rem Setting of filename (KiK-net:TCGH16_2)
rem ============================================
set fig_out=fig_acc_TCGH16_2.eps
set str1=TCGH16_EW2
set str2=TCGH16_NS2
set str3=TCGH16_UD2
set accfile1=dat_acc_TCGH16_EW2.csv
set accfile2=dat_acc_TCGH16_NS2.csv
set accfile3=dat_acc_TCGH16_UD2.csv
rem **************************************************************************
rem * fig_out    : 出力画像ファイル名
rem * str1-3     : 変数str1-3に文字をセット
rem * accfile1-3 : 入力ファイル名(加速度時刻歴データ)
rem **************************************************************************
rem ============================================
rem Making of input file for GMT (acceleration)
rem ============================================
gawk "{if(3 _inp_a1.txt
gawk "{if(3 _inp_a2.txt
gawk "{if(3 _inp_a3.txt
rem **************************************************************************
rem * _inp_a1.txt,_inp_a2.txt,_inp_a3.txt : プロット用作業ファイル
rem * 入力ファイルaccfile1-3より時刻・加速度値をgawkを用いて書き出す
rem * ここでは入力データファイル4行目より処理を開始
rem **************************************************************************
rem ============================================
rem Drawing by GMT (acceleration)
rem ============================================
gmtset ANOT_FONT_SIZE 12
gmtset LABEL_FONT_SIZE 12
rem --------------------------------------------
rem Lower drawing
rem --------------------------------------------
minmax _inp_a3.txt | gawk -f awk_rga.awk > _rga.bat
call _rga.bat
rem **************************************************************************
rem * GMTコマンドminmaxで最小値/最大値を算出しgawkに送り出す
rem * gawk -f awk_rga.awk > _rga.bat
rem *     gawkのスクリプトawk_rga.awkで作図範囲rangeを指定し
rem *     バッチファイルを作成
rem *     rangeはx軸は0〜300秒,y軸は加速度の最大値
rem * call _rga.bat
rem *     バッチファイルを実行しrangeを有効にする.
rem **************************************************************************
psxy _inp_a3.txt -R%range% -JX12/4 -Bg30a30:"time (sec)":/%yga%:"Acceleration (gal)":WS -X5 -Y6 -P -K > %fig_out%
echo 0.98 0.90 12 0 0 TR %str3% | pstext -R0/1/-1/1 -J -P -O -K>> %fig_out%
rem **************************************************************************
rem * psxy プロットの実行
rem * -X5 -Y6 原点をx方向に5cm,y方向に6cm移動
rem *     これにより軸ラベルなどが作図範囲から切れて見えなくなることを防止
rem * pstext テキスト描画の実行
rem *     -R0/1/-1/1テキスト描画域をx=0〜1,y=0〜1で再定義
rem *     ここでは図の右上にテキスト描画を行うため,
rem *     x=0.98,y=0.90のテキストのトップと右端を一致(TR)させて描画
rem **************************************************************************
rem --------------------------------------------
rem Middle drawing
rem --------------------------------------------
minmax _inp_a2.txt | gawk -f awk_rga.awk > _rga.bat
call _rga.bat
psxy _inp_a2.txt -R%range% -JX12/4 -Bg30a30:"time (sec)":/%yga%:"Acceleration (gal)":WS -P -Y6 -O -K >> %fig_out%
echo 0.98 0.90 12 0 0 TR %str2% | pstext -R0/1/-1/1 -J -P -O -K>> %fig_out%
rem **************************************************************************
rem * psxy プロットの実行
rem * -Y6 原点をy方向に6cm移動
rem *     ここでは3個のグラフを縦に揃えて描画するため,
rem *     原点を前の定義(下段の図)より6cm上にずらして図を描画する
rem **************************************************************************
rem --------------------------------------------
rem Upper drawing
rem --------------------------------------------
minmax _inp_a1.txt | gawk -f awk_rga.awk > _rga.bat
call _rga.bat
psxy _inp_a1.txt -R%range% -JX12/4 -Bg30a30:"time (sec)":/%yga%:"Acceleration (gal)":WS -P -Y6 -O -K >> %fig_out%
echo 0.98 0.90 12 0 0 TR %str1% | pstext -R0/1/-1/1 -J -P -O -K>> %fig_out%
rem **************************************************************************
rem * psxy プロットの実行
rem * -Y6 原点をy方向に更に6cm移動
rem *     原点を前の定義(中段の図)より6cm上にずらして図を描画する
rem **************************************************************************

rem ============================================
rem Delete of work files
rem ============================================
del .gmt*
del _*.*

rem ============================================
rem Releasing of the set variables
rem ============================================
set fig_out=
set str1=
set str2=
set str3=
set accfile1=
set accfile2=
set accfile3=
set range=
set yga=

バッチファイルのダウンロードと画像確認

ファイル名概要
作図用バッチファイル
最大加速度を縦軸の最大値とするawkスクリプト
出力画像(地表)



inserted by FC2 system