gmt绘制中国省界,结合awk和RGB列表绘制中国地震台站分布
程序员文章站
2022-07-14 13:30:20
...
1 国家行政区划数据下载
seisman的博客有详述,无奈其博客迁移后链接失效,所幸已被他人转载,放链接,并附上我处理好的数据及使用示例。
2 中国地震台站分布数据
台站数据涉密,需要邮寄纸质申请数据使用资格。本篇里不会提供台站的具体信息。
按某一地震事件从 http://www.seisdmc.ac.cn/ 获得数据。获得的数据是一个压缩包,包含多个seed文件。每个seed即一个台网(以省名命名),解压后能获得多个SAC数据。
从中提取出台站经纬度和高程信息,获得china_all.info,类似如下:
knetwk kstnm stla stlo stel
ZJ HZ 30 119 50
...
3 常用RGB颜色-数值对照表 rgb_list
192/192/192 灰色
112/128/105 石板灰
255/0/0 红色
176/48/96 栗色
135/38/87 草莓色
255/69/0 桔红
255/0/255 深红色
255/255/0 黄色
255/97/0 橙色
128/42/42 棕色
188/143/143 玫瑰红
115/74/18 标土棕
210/180/140 棕褐色
0/0/255 蓝色
61/89/171 钴色
25/25/112 深蓝色
106/90/205 石板蓝
56/94/15 绿土
8/46/84 靛青
0/255/0 绿色
34/139/34 森林绿
160/32/240 紫色
218/112/214 淡紫色
156/102/31 砖红
245/222/179 淡黄色
163/148/128 米色
255/125/64 肉色
94/38/18 乌贼墨棕
11/23/70 jackie blue
0/199/140 土耳其玉色
176/224/230 浅灰蓝色
189/252/201 薄荷色
4 Plot脚本
#!/bin/bash
# seed → SAC
ls *.seed > temp1
cat temp1 | sed 's/\./ /g' | sed 's/\_/ /g' | awk '{print $5}' > temp2
paste -d " " temp1 temp2 > seed_list
echo "knetwk kstnm stla stlo stel" > china.all.info
cat seed_list | awk '{print "rdseed -df",$1"\nsaclst stlo stla f *.SAC | awk \047{print $2,$3}\047>>",$2".loc\nsaclst knetwk kstnm stla stlo stel f *.SAC | awk \047{print $2,$3,$4,$5,$6}\047 >> china.all.info\nmkdir",$2"\nmv *.SAC",$2}' | csh
# Plot
J=B105/33/12/62/7i
R=70/140/15/55
PS=china_nwk.ps
# draw the coastline
gmt pscoast -J$J -R$R -Df -N1/0.15p,grey -A50000 -W0.15p,grey -Ba10f5/a10f5WSne -Xc -Yc -P -V -K > $PS
# a color for a network
ls *.loc > temp3
paste -d " " temp3 rgb_list > nwk_list
cat nwk_list | awk '{print "gmt psxy",$1" -J'"$J"' -R'"$R"' -St0.1c -G"$2" -V -K -O >> '"$PS"'"}' | csh
# draw the provinces
gmt psxy -J$J -R$R /home/hjf/work/gmt/gmt_data/china_province/CHN_adm1.gmt -W0.05p,grey -K -O -P >> $PS
gmt psxy -J$J -R$R /home/hjf/work/gmt/gmt_data/china_province/TWN_adm0.gmt -W0.15p,black -K -O -P >> $PS
gmt psxy -J$J -R$R /home/hjf/work/gmt/gmt_data/china_province/CHN_adm0.gmt -W0.15p,black -O -P >> $PS
gmt psconvert china_nwk.ps -A -E1200 -Tf
mkdir sta_loc/
mv *.loc sta_loc/
rm seed_list nwk_list gmt.history
rm temp*
rm *.seed
5 中国台站分布
上一篇: Apache Flink实例应用
下一篇: AETA地震预测AI算法大赛训练集可视化