物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1059|回复: 0

[GMT] 用psxy绘震中分布图

[复制链接]
发表于 2013-4-23 20:12:36 | 显示全部楼层 |阅读模式
目的就是要根据地震目录绘出震中分布图,符号的尺寸要按照震级档的大小来定,5~6级地震填充蓝色,6级以上填充红色。用的是PERL脚本。

#!/usr/bin/perl -w
my (@aa);
open(SRC,"pzho.EQT");
@aa=<SRC>;
chomp @aa;
close SRC;
pscoast -Jm2.5i -R101/103/25/28 -Ba1/40m -K -P -W >pzhplot.ps`;
open(PLT,"| psxy -J -R -B -Sc -K -P -O >> pzhplot.ps");
open(PLT5,"| psxy -J -R -B -Sc -G0/0/255 -K -P -O >> pzhplot.ps");
open(PLT6,"| psxy -J -R -B -Sc -G255/0/0 -K -P -O >> pzhplot.ps");
foreach $aa(@aa){
$evlo=substr($aa,22,6); #读入经度
$evla=substr($aa,16,5); #读入纬度
$evma=substr($aa,29,4); #读入震级
print "$evlo  $evla  $evma\n";
if($evma<1){
print PLT "$evlo $evla 0.03\n";
}
if($evma>=1 && $evma<2){
print PLT "$evlo $evla 0.05\n";
if($evma>=2 && $evma<3){
print PLT "$evlo $evla 0.07\n";
}
if($evma>=3 && $evma<4){
print PLT "$evlo $evla 0.10\n";
}
if($evma>=4 && $evma<5){
print PLT "$evlo $evla 0.13\n";
}
if($evma>=5 && $evma<6){
print PLT5 "$evlo $evla 0.18\n";
}
if($evma>=6){
print PLT6 "$evlo $evla 0.22\n";
}
}
close PLT;
close PLT5;
close PLT6;
`gs pzhplot.ps`;

绘出来的图片就是这样了:



1.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-4-29 09:25 , Processed in 0.077578 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表