物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4078|回复: 0

[GMT] GMT中文操作简介

[复制链接]
发表于 2013-2-23 10:00:40 | 显示全部楼层 |阅读模式
目录


一.        GMT 简介与硬件需求

GMT 简介

GMT 系统最早是在1987 年,由哥伦比亚大学的二位毕业生Wessel 及Smith所制作。发展至今,目前最新的版本是4.2.0 版,全球大约有6000 多位的使用者。早期是在UNIX 系统上发展,因此可以和其它许多Unix 的工具组和使用,目前除了在UNIX-like 的操作系统可以执行外,也可在Windows,OS/2,Mac 上执行了,但仍是在指令模式下执行。由于此套软件为免费软件,且档案输出的主要格式为PS(postscript file) ,因此几乎在各种平台上都可打印,亦因此深受各界好评。

硬件需求

1. 至少100MB 硬盘空间

2. 至少16MB 内存

3. 支持PS 的打印机和软件

二.        GMT 的输出与输入

一、数据的输入(Input Data):

输入的数据格式有三种:

1. Data tables

Ascii 档案或Binary 档案。

2. Gridded datad sets

Grid-line 数据或Pixel 数据

3. Color palette table(为图形、色点、或contour maps 使用)

二、操作方式(Job Control):

GMT可以从几方面的参数来控制。

1. 从命令行输入选项或参数。

2. 从曾经输入的选项输入,曾经输入过的指令会储存在gmtcommands。

3. 使用GMT 默认的参数选项,默认的选项会储存在 .gmtdefaults。

4. 使用隐藏的资源数据,如海岸线的数据。

三、数据的输出(Output Data):

6 种输出:

1. PostScript plot files.

2. Data Table(s).

3. Gridded data set(s).

4. Statistics & Summaries.

5. 警语和错误的输出。

6. 离开状态。(0 表示成功,其它表示失败)

三.        GMT 的安装 一、WINDOWSGMT安装

1、下载以下程序

GMT_exe.ZIP执行文件...原始下载网址
netcdf netcdf...原始下载网址
GMT_share.zip资料文件...原始下载网址
GMT_full.zip高分辨率资料文件...原始下载网址
example.zip  范例文件

2、将GMT_exe.zip这个文件解压缩,把GMT这个文件夹整个复制到C盘的根目录

3、将netcdf-3.6.1-beta1-win32dll.zip解压缩,把netcdf.dll这个文件复制到C:\GMT\bin里面

4、把GMT_share.zipGMT_full.zip文件解压缩,把解出来的文件复制到C:\GMT\share里面
注意:解开来的文件会有GMT\share的目录结构,只要把「文件」复制到C:\GMT\share里面就好,不要把整个目录都搬过去,变成C:\GMT\share\GMT\share这样就很笨了!
这两个数据文件是海岸线、国界、河流等等的数据,因为高分辨率的文件比较大,所以暂时没用到的话可以先不用下载。

5、下载范例文件,解压缩之后会有一个example.bat的文件,把他复制到C:\GMT\bin里面

example.bat点两下就会执行,并在C:\GMT\bin的目录下产生一个example.ps的文件,就是执行结果

产生出来的ps文件可以用ghost viewcorel drawacrobat等程序打开

6、编辑gmtenv.bat

SET NETCDF=C:\GMT

SET GMTHOME=C:\GMT

SET HOME= D:\gmtwork (工作目录及磁盘驱动器自定)

SET INCLUDE=%INCLUDE%;%NETCDF%\INCLUDE

SET LIB=%LIB%;%NETCDF%\LIB;%GMTHOME%\LIB

7、在MS-DOS 模式中

C:\WINDOWS\ cd..

C:\cd GMT

C:\GMT>gmtenv.bat

C:\GMT>ECHO OFF

GMT 4.0 Environment initialized

C:\GMT> gmtdefaults –D > .gmtdefaults

C:\GMT>

8、再执行gs650w32.exe gsv36w32.exe

以上两步骤为安装ghostscript 及ghostgum

9、安装WIN4GMT

10、若要查看程序执行的过程,请依照以下步骤:
「开始」「运行」在空白处输入cmd然后按「确定」
然后会出现以下的画面

接着输入cd c:\gmt\bin然后按enter

画面就会变成下面这样

然后输入你要执行的文件名example.bat后按enter

执行结果的画面就会变成下面这样

执行结果的example.ps文件一样是出现在C:\GMT\bin里面

11、未来要改程序内容,可以直接改example.bat文件,记得文件里面前两行的说明不要改,其他再依照需要的改

12、强烈建议用UltraEditor来编辑example.bat文件。


四.        GMT 概念及操作

grd grid〈格网〉代表区域范围

psbasemap-R118.5/123.5/20/26.5-Jm2-X2-Y1-K-V>topo.ps

-R 外框〈region,外框经纬度范围〉〈南半球加上负号-〉

实例:-R118.5/123.5/20/26.5 东经118.5~123.5;北纬2026.5

-B1F0.5 每几度划一条或标示

-Jm2 麦卡托投影法经度一度在图上划2 英吋〈inches〉

-Jm 麦卡托投影法〈-J 投影 m 麦卡托〉

2.5〈吋〉指经度一度在图上画2.5 inches〈默认单位是英吋,若要改要加单位第一个字母,如c 表示公分〉

-P 在纸上位置

原点在纸张的左下角〈西南方〉

若要更改往右方或上的位置往纸张的中心

-P-X2-Y1 往右方移动2 英吋 往上方1 英吋

每个档案最后加上-K-V〈最后一个例外〉

-K ==去结尾(檔尾)。〈备注:指后面还有档案〉

-V 选项唠叨模式,默认是安静模式。其指定是否要显示程序在执行时之过程有

否错误讯息。才能找到错误讯息

最后结束时加上>檔名.ps

>表示建立图层,第一行写一个,第二行开始用两次>>

grdimage

grdimage -R-Jm-C-O-P-V-K>>topo.ps

-R 重复之前命令〈第二行开始 只要和第一行数字相同者 可以省略 只需要写大写英文字母命令〉

-O去档头〈备注:要接上上一个命令,否则会另划一张新的纸〉

-P 版面设定 直式或横式纸张

pscoast〈绘制GMT 内建全世界海岸线底图〉

-D 分辨率〈精细程度〉

c 简单

i

h

f 精细

-W 画线时用

-W2/131/70/53/

W 后数字〈2〉表示线条宽度 数字越大越粗

后面数字则表示线条颜色:

若为三个数字 表示是彩色RGB 系统〈0-2555 之间数字〉

若为一个数字 则为灰阶

-C 颜色

RGB

255 255 255 白

255 0 0 红色

0 0 0 黑

B background 颜色

F 前景颜色

-F 画比例尺

-Lf122/27/24/200

f 表示图示法中欲以一段一段表示〈像铁路那种〉

122/27 指放置经纬度位置

200 表示欲表次200公里

psscale 则为高程的设定

psscale:利用cpt 颜色档绘制一个GMT 专用的颜色表

Ex:psscale[-Dxpos/ypos/length/width][h][-Ccptfile][-B:title][-Imax_intensity]

psscale 命令选项:

-D=设定颜色表位置。

-C=读入指定的cpt 档案。

-B=颜色表标题。

实例:-Bf200a1000,表示每200 公里小格 1000 公里处加上数字〈a 表示欲

标记〉f 表示小段间距,若无f 不需加上200

******在GOOGLE 输入psbasemap 第一个有英文操作方式

GMT比较能处理x,y,z 坐标数据,但是软件和数据皆免费,且很多更新数据最早是以GMT格是储存;ArcGIS则能直接处理统计图表,各有擅场

图档转换:将GMT影像转换至Arc

*.grd〈GMT〉转换成*.grd〈SURFER〉转换成*.img〈ERDAS〉转换成〈ArcGIS〉


五.        GMT 常用参数(一)

所有的指令可参考GMT 安装目录下,bin 目录中所有的程序。在DOS 的文

件中也有详细说明。在GMT 中,大约有60 个指令可用,其中约有17 个是可以直接产生或修改图形的指令,其它43 个,是需要输入资料文件来作处理的。

GMT 的基本指令输入方式:

指令 -参数(或称选项)

如: gmtdefaults -D

.gmtdefaults(GMT 的预设):

GMT 有许多的参数需要在其预设档中才能更改,如使用的字型、大小,或

画笔的粗细等,超过50 个的默认值。其预设参数的档案是存在使用者的家

目录下,为隐藏文件.gmtdefaults;在个别的子目录内因特别的任务,也可能会

有.gmtdefaults。若子目录下无.gmtdefaults 的存在,就会使用家目录下

的.gmtdefaults。可在命令行下指令观察默认的参数:

Gmtdefaults -L

#

# GMT-SYSTEM 3.4 Defaults file

# GMT3.4 系统之默认文件

#

ANOT_MIN_ANGLE =20            

ANOT_MIN_SPACING =0

ANOT_FONT =Helvetica           边框字体

ANOT_FONT_SIZE =14P         边框字体大小

ANOT_OFFSET =0.2c

BASEMAP_AXES =WESN

BASEMAP_FRAME_RGB =0/0/0

BASEMAP_TYPE =fancy

COLOR_BACKGROUND =0/0/0

COLOR_FOREGROUND =255/255/255

COLOR_NAN =128/128/125

COLOR_IMAGE =adobe

COLOR_MODEL =rgb

D_FORMAT =%lg

DEGREE_FORMAT =0

DOTS_PR_INCH =300

ELLIPSOID =WGS-84

FRAME_PEN =1.25p

FRAME_WIDTH =0.2c

GLOBAL_X_SCALE =1

GLOBAL_Y_SCALE =1

GRID_CROSS_SIZE =0c

GRID_PEN =0.25p

GRIDFILE_SHORTHAND =FALSE

HEADER_FONT =Helvetica

HEADER_FONT_SIZE =36p

HSV_MIN_SATURATION =1

HSV_MAX_SATURATION =0.1

HSV_MIN_VALUE =0.3

HSV_MAX_VALUE =1

INTERPOLANT =akima

IO_HEADER =FALSE

N_HEADER_RECS =1

LABEL_FONT =Helvetica

LABEL_FONT_SIZE =24p

LINE_STEP =0.025c

MAP_SCALE_FACTOR =0.9996

MAP_SCALE_HEIGHT =0.2c

MEASURE_UNIT =cm

N_COPIES =1

OBLIQUE_ANOTATION =1

PAGE_COLOR =255/255/255

PAGE_ORIENTATION =landscape

#设定纸张大小为a4

PAPER_MEDIA =a4

PSIMAGE_FORMAT =hex

TICK_LENGTH =0.2c

TICK_PEN =0.5p

UNIX_TIME =FALSE

UNIX_TIME_POS =-2c/-2c

VECTOR_SHAPE =0

VERBOSE =FALSE

WANT_EURO_FONT =TRUE

X_AXIS_LENGTH =25c

Y_AXIS_FENGTH =15c

X_ORIGIN =2.5c

Y_ORIGIN =2.5c

XY_TOGGLE =FALSE

Y_AXIS_TYPE =hor_text

六.        GMT 常用参数() -B J

常用的参数(选项):

1、–B 选项

最常被用的选项,决定坐标轴的样式。

格式:

-Bxinfo[/yinfo][:. "title string":][W|w][E|e][S|s][N|n]

xinfo=[a]tick[m|c][ftick[m|c]][gtick[m|c]][l|p][: "axis label":][:,"unit label":]

yinfo=[a]=tick[m|c][ftick[m|c]][gtick[m|c]][l|p][: "axis label":][:,"unit label":]

说明:

[:."title string":]=指明所画之图表的标图。

[W|w][E|e][S|s][N|n]=在坐标轴上指明东西南北。

xinfo[/yinfo]=x 轴或y 轴的设定。

a、f、g=依序为指定大、中、小间隔。m=分,s=秒。

l=数据为log 数据时,用log10 的结果作为x 轴显示的数值。

p=也指数据为log 数据时,用10 的n 次方为x 轴显示的数值。

[:"axis label":]=轴坐标的标题。

[:,"unit label":]=轴之数值的单位显示。

例子:

-B10/1:. "My first plot":==指x 坐标间隔为10,y 坐标间隔为1,图表标题为

my first plot。

-Ba4f2gl:Frequency::,%:==指x 坐标大间隔为4,中间隔为2,小间隔为1,x

轴标题为Frequency,单位为%

-Balf2g31 或-Balf2g3p==1(指L,非数字)指x 轴用log10 的结果作显示;p 指x

轴用10 的n 次方表示。

2、 –J 选项

决定要使用之投影方式。

格式:

-JM width ==Mercator 投影

-JG lon0/lat0/width ==Orthographic 投影

-JB lon0/lat0/lat1/lat2/width ==Albers conic 投影

-JK[f|s]lon0/width ==Eckert IV and VI 投影

-JX width/height ==Liner 投影

说明:

width=宽度

lon=经度 ; lat=纬度

-JG lon0/lat0 为决定投影图的中心点坐标

-JB lon0/lat0/lat1/lat2 为决定投影图的中心和二个平行的坐标

-JK lon0 为决定投影图中心线坐标

-JX width/height 为决定投影图的长和高


七.        GMT 常用参数(三) -R -V -K O

1-R 选项

指定想绘制之区域范围,还可旋转

格式:

-R xmin/xmax/ymin/ymax –R xelleft/ylleft/xuright/yuright r

说明:

xmin/xmax ==x 坐标范围(::)

ymin/ymax ==y 坐标范围(::)

xlleft/ylleft ==指明在图之最左下角之x y 坐标(旋转区域坐标用)

xuright/yuright ==指明在图之最右上角之x y 坐标(旋转区域坐标用)

2-V 选项

唠叨模式

格式:

-V

说明:

默认是安静模式。其指定是否要显示程序在执行时之过程有否错误讯息。

3 –K&-O

输出ps 档案之选项。

格式:

-K ==去结尾(檔尾)。〈备注:指后面还有档案〉

-O ==去档头。

-K-O ==去头去尾。

说明:

ps 档可以分为三部分,档头、内容、结尾。有时可能会想要画许多张图重

迭在一起,但一次只能画一张图,所以存成ps 档时,就需要有一些变化。假设要画出3 张图,各以a1a2a3 为代表。存a1 时要加-K 选项,存成b 文件。因此b 档就只有档头和内容a1,而没有结尾。存a2 时,要加-K -O 选项,在附加到b 档后。这时b 档就含有一个档头,加上内容a1 a2,仍没有结尾。最后存a3时,要加-O 选项,以去文件头的信息,再附加到b 档后。因此b 档,刚好符合ps的格式,一个档头,a1a2a3 为内容,一个档尾。


八.        GMT 常用参数(四) -P -X -Y U

6.-P

改变绘图之原点位置。

格式:

-P

说明:

例如用A4 的纸张打印时,当短边朝上,长边在左右时,图形的原点默认是在纸张的右下方,x 轴朝上,y轴朝左。因此若要转换原点位置在纸张的左下角时,使x 轴朝右,y 轴朝上,就需要加选项-p,就可达成所需。其实也就是将纸张逆时针90 度的意思。

7.–X -Y

控制图形原点距离纸张的宽度

格式:

-X -Y(xoff, yoff)

说明:

-X==控制x 轴与纸张边界的距离

-Y==控制y 轴与纸张边界的距离

8. -U

在绘出之图形上加上当时之时间字符串。

格式:

-U

说明:

用此参数可以加入GMT 所设计之时间样式,如下所示:


九.        GMT 命令

1psbasemap:绘制底图。

Ex: psbasemap –R10/70/-3/8-JX4i/3i-B10/1:.”My first plot”:-P>!

2pscoast:绘制GMT 内建全世界海岸线底图。

Ex: pscoast –R-90/-70/0/20 –JM6i-P-B5g5-G180/120/60>!

3psxy:2D 坐标中,绘制线条、多边形、符号。

Ex: psbasemap –Bf0.5/WESN-R119.30/112.30/21.15/25.45-Jm2-X1-Y1-V-P-K>!

chihshang_fault.ps

pscoast-R119.30/122.30/21.15/25.45 –Jm2-Dh-W1/0-P-O-K-V>>!chihshang_fault.ps

psxy chihshang_all.dig -Jm2 –R119.30/122.30/21.15/25.45-W4/255/0/0 -P>>!

指令格式说明:

psxy 读入格式: chihshang_all.dig(X 坐标、Y 坐标)

psxy 指令选项:

-A ==沿着大圆插入隐藏线

-C cpt ==从 cpt 文件中输入符号的颜色

-E [x|X][y|Y][cap][/pen] ==Draw selected error bars with specified attributes

-G fill ==选择填满的颜色

-L ==结束封闭多边形

-M [flag] ==多节数据输入

-N ==不切割在地图的边界符号

-S [symbo1][size] ==有16 种颜色可以选择,详情请参考GMT 说明文件

-W pen ==选择画笔或符号轮廓的粗细

4pstext:绘制文字。

Ex: pstext yu_1997.txt-R120.00/122.10/21.80/25.40 Jm2.4-G255/0/0-P>!Yu_1997.ps

psxy yu_1997.ne-M-R120.00/122.10/21.80/25.40-Jm2.4-Sc(画图)0.01(直)-W1/0/0/0 -G255/0/0>> !Yu_1997.ne-M-R120.00/122.10/21.80/25.40-Jm2.4-SV(画箭)0.01(箭柄宽)/0.15(箭头长)/0.03(箭头宽)-G0/0/0>>!

指令格式说明:

pstext 读入格式:yu_1997.txt(X 坐标、Y 坐标、字号、字型转向、字型倾斜、

字型种类、文字内容)

psxy 指令选项:

-Sasize =画外接圆尺寸

-Scsize =画圆尺寸

-SV[thick/length/width][nnorm]=画箭号

5blockmean:L2 norm 的方法将输入档案过滤成区块平均数据

Ex: blockmean [xyz[w]file(s)]-Ix_inc[m|c][/y_inc[m|c]] –Rwest/east/south/north[r]

[-C][-F][-H[nrec]][-L][-S][-V][-W[io]][-:][-bi[n]][-bo]

指令格式说明:

blockmean 指令可从标准输入设备(键盘)或档案读取没有排列的位置资

料(x、y、z),并且可由标准输出(屏幕)输出平均值数据。Blockmean 和

blockmedian、blockmode 指令一样,作为指令surface 的预先处理程序,以

防突出的资料干扰。此指令对于小数处理或平均值的计算也很有效。你可以

对.gmtdefault 檔之D_FORMAT 的参数,作输出格式的处理;也可选择输入二

进位档,并且输出单精度或双精确度的数据。

指令选项:

xyz[w]file(s)=输入3[或4]栏的ASCII 档案。W 是加权值。若无档案输入,预设

为键盘输入。

-I =指定格点的间距。M 为分间距,s 为秒间距。

-R =指出有兴趣观察的范围。r,旋转观察范围。

-C =指定区块的中心为输出位置。[默认为位置平均值之处] 。

-F =指定blockmean 以"pixel"为单位,意指x=1 和x=2 及y=1 和y=2

所围成的方块为一个pixel,在此方块内平均有几个数据点。

-H =指名输入之档案有档头。(档头:档案开始之说明部分,不属于栏

位资料)

-L =指明x 字段的坐标是经纬度坐标,其可能会与-R 选项以360 度所

表示的方式不同。

-S =在block 中表明z 值的总合。[预设为z 的平均值] 。

-V =唠叨模式。在标准错误输出装置输出一些信息。

-W =指定加上加权参数的影响。-W:i/o 都有加权值,-Wi:只有input

的档案有加权值,-Wo:只在output 档加上加权值。

-: =经纬度坐标专用。如--度:分:秒。

-bi/bo =指定档案的输入或输出为binary 檔。

blockmedian:用L1 norm 的方法将输入档案过滤成区块平均数据

blockmode:用mode 估计法将输入档案过滤成区块平均数据

6psvelomeca:绘制震源机制球

Ex: psvelomeca eq_paleo_tw.txt-Jm2-R119.3/122.3/21.8/25.6 –Sa0.11/0/0

-G0/0/0 –C-P-L>C

指令格式说明: psvelomeca 读入格式: eq_paleo_tw.txt[(X1、Y1)震源、Strike、Dip、

指令选项:

-Sa =画球(外接圆)尺寸

-A =沿着大圆画隐藏线

-C =从cpt 文件中输入符号的颜色

-L =结束封闭的多边形

7makecpt:产生一个GMT 专用的颜色档

Ex: makecpt[-Ctable][-I][-Tz0/z1/dz | -Tztable][-V][-Z]>!*.cpt

makecpt 指令选项: -C =选择参考色表。可以是makecpt 内建好的或是已存在的色

表檔。若无指定,则会产生无色之色表,将来绘图时,只会有轮廓出现。

-I =反转参考色表的颜色分级。

-T =指定色表的范围。z0/z1/dz:最小z 值/最大z 值/z 值间距。或指定z-Table,

其内只有各笔记录之z 值。若未指z 值范围,则根据参考色表之z 范围。

-V=唠叨模式,会送出一些信息至标准错误输出。

-Z=指定产生连续色之色(渐层)。【预设为不连续色之色表】

8grd2cpt:从grd 档产生一个GMT 用的颜色档

Ex: grd2cpt[-grdfile][-Ctable][-I][-Tz0/z1/dz |-Tztable][-V][-Z]>!*.cpt

Grd2cpt 指令选项:(同makecpt)

9psscale:利用cpt 颜色档绘制一个GMT 专用的颜色表

Ex:psscale[-Dxpos/ypos/length/width][h][-Ccptfile][-B:title][-Imax_intensity]

psscale 指令选项:

-D=设定颜色表位置。

-C=读入指定的cpt 档案。

-B=颜色表标题。

实例:-Bf200a1000,表示每200 公里小格 1000 公里处加上数字〈a 表示欲

标记〉f 表示小段间距,若无f 不需加上200

-I=增加颜色对比(通常设定0.3~0.5)

10nearneighbor:xyz 档转grd

Ex:nearneighbor-R115/125/20/30-15m-S40k-Gxyz.grd-Vxyz.xyz

11Grdcontour:利用grd 档绘制等高线图

Ex:grdcontour xyz.grd-JM6i-P-B2-C250-A1000>!

12grdgradient:grd 档转成int 元文件

Ex:grdgradient xyz.grd-Gxyz.int-A45-Nt

13grdimage:

Ex:

grd2cpt xyz.grd-Crainbow-S-60000/4000/25>Color.cpt

grdimage xyz.grd-Jm1.2r-R119/123/21/26-Ccolor.cpt-Ixyz.int-P-Balflg1-Y1.5

psscale-Ccolor.cpt-D5.5i/1.5i/3.0i/0.3i-I0.3-B10000:TOPO:/:m:

pscoast-Jm-R-W2/17/17/19-Df-Na-P

ETOPO5:5minute grid, global topography/bathymetry

原始数据为NGDC5-Minute Gridded Elevation Date Selection 所提供可由

http://www.ngdc.noaa.gov/mgg/global/seltopo/html 下载所需区域xyz 原始数据。

ETOPO2:2minute grid, global topography/bathymethy

This is a GMT netCDF file, created by Ben Horner-Johnson from Rice Univerisity,

using the etopo2 date.

可由http://dss.ucar.edu/datesets/ds759.3/data/etopo2.grd.gz 下载全球grd 原始资料

备注:由于GMT 内建数据库数据过于庞大,因此目前仅止于使用正版光盘才能

取得,网络上并无免费分享,因此,目前全球XYZ 数据可能由学术网络上

全球各大院校分享所取得,如需更清晰底图之解,仍须购买正版GMT 光盘!

网址:http://www.geoware-online.com/products.html

14、GMT MAP Projections

Alberts Conic Equal-area Projection (-Jb –JB)

l Longitude and latitude of the projection center

l Two standard parallels

l Map scale in inch/degree or 1:xxxxx notation (-Jb) or map width (-JB)

Example:

gmtset GRID_CROSS_SIZE_PRIMARY 0

pscoast -R110/140/20/35 -JB125/20/25/45/5i -B10g5 -Dl -Glightgray -W0.25p

-A250 -P > GMT_albers.ps

Lambert Conic Conformal Projection (-Jl –JL)

gmtset BASEMAP_TYPE FANCY PLOT_DEGREE_FORMAT ddd:mm:ssF

GRID_CROSS_SIZE_PRIMARY 0.05i

pscoast -R-130/-70/24/52 -Jl-100/35/33/45/1:50000000 -B10g5 -Dl -N1/1p -N2/0.5p

-A500 -Glightgray -W0.25p -P > GMT_lambert_conic.ps

gmtset GRID_CROSS_SIZE_PRIMARY 0

Equidistant Conic Projection (-Jd –JD)

Example: Generate a map of Cuba

gmtset PLOT_DEGREE_FORMAT ddd:mm:ssF GRID_CROSS_SIZE_PRIMARY

0.05i

pscoast -R-88/-70/18/24 -JD-79/21/19/23/4.5i -B5g1 -Di -N1/1p -Glightgray -W0.25p

-P > GMT_equidistant_conic.ps

gmtset GRID_CROSS_SIZE_PRIMARY 0

Azimuthal Projections

Lambert Azimuthal Equal-Area (–Ja –JA)

Rectangular map

gmtset PLOT_DEGREE_FORMAT ddd:mm:ssF GRID_CROSS_SIZE_PRIMARY 0

pscoast -R0/-40/60/-10r –JA

30/-30/4.5i -B30g30/15g15 -Dl -A500 -Glightgray -W0.25p -P >

GMT_lambert_az_rect.ps

Hemisphere map

pscoast -Rg -JA280/30/3.5i -B30g30/15g15 -Dc -A1000 -Gblack -P >

GMT_lambert_az_hemi.ps

Figure 6.5: Hemisphere map using the Lambert azimuthal equal-area projection.

Stereographic Equal-Angle Projection (–Js –JS)

gmtset PLOT_DEGREE_FORMAT ddd:mm:ss

pscoast -R-30/30/60/72 -Js0/90/4.5i/60 -Ba10g5/5g5 -Dl -A250 -Gblack -P >GMT_stereographic_polar.ps

Figure 6.7: Polar stereographic conformal projection.

Rectangular Stereographic Map

gmtset PLOT_DEGREE_FORMAT ddd:mm:ss OBLIQUE_ANNOTATION 30

pscoast -R-25/59/70/72r -JS10/90/11c -B30g10/5g5 -Dl -A250 -Glightgray -W.25p -P

> GMT_stereographic_rect.ps

Figure 6.8: Polar stereographic conformal projection with rectangular borders.

General Stereographic Map

gmtset PLOT_DEGREE_FORMAT ddd:mm:ss OBLIQUE_ANNOTATION 0

pscoast -R100/-40/160/-10r -JS130/-30/4i -B30g10/15g15 -Dl -A500 -Gblack -P >

GMT_stereographic_general.ps

Figure 6.9: General stereographic conformal projection with rectangular borders.

Orthographic Projection (–Jg –JG)

The orthographic azimuthal projection is a perspective projection from infinite

distance. It is therefore often used to give the appearance of a globe viewed from

space.

Figure 6.10: Hemisphere map using the Orthographic projection.

十.        几个例子 1psbasemap画底图的命令

psbasemap GMT画底图的命令

  一定要有的参数

    -B  设定图边界尺标的间隔

      a 文字批注的间隔

      f 边框标记的间隔

      g 隔线的间隔

        如果要针对X轴或Y轴做不同的设定,就在参数间加斜线/

      NEWS  每个轴加上标记

      news  每个轴不加标记

      :.title:  在图上面加title这个标题

      :title: 在轴上加title这个标题(只有在-Jx的情况下有用)

      例如-BNEWsf2a3g2:xx:/f3a3g2:yy::.title:

    -Jx(-JX)  线性投影(Linear Projection)一般绘图用

       -Jx后面接的数字代表每单位的长度(默认长度单位为英吋,加c的话就变公分)

       -JX后面接的数字代表轴的全长

       如果要针对X轴或Y轴做不同的设定,就在数字间加斜线/

    -Jm(-JM)  麦卡托投影(Mercator Projection)地图绘图用

       -Jm后面接的数字代表每度的长度(默认长度单位为英吋,加c的话就变公分)

       -JM后面接的数字代表整张图的宽

       如果要针对X轴或Y轴做不同的设定,就在数字间加斜线/

    -R  地图的经纬度范围

      西/东/南/北  依序填入经纬度

    >out.ps  把画出来的图输出到out.ps这个文件

  不一定要有的参数

    -E  旋转地图的视野方向

    -G  把图着色,用r/g/b调色

  -K  在这一行下面还有后续的命令

    -O  把这一行命令绘制的图迭加到先前画的图上

    -P  把图旋转90度

    -V  画面上会显示本行命令的执行结果

    -X  移动整个图的水平位置

    -Y  移动整个图的垂直位置

   

  表示方式

    psbasemap -JM7 -R117/126/18/26 -BNEWsf2a3g2:xx:/f3a3g2:y::.test: -P -V -K >123.ps

2pscoast画陆块海洋和海岸线的程序

一定要有的参数

    -J  投影法,和前面的一样

    -R  地图的经纬度范围,和前面的一样

  不一定要有的参数

    -E  旋转地图的视野方向

    -G  把干地着色,用r/g/b调色

    -S  把湿地着色,用r/g/b调色

    -D  图的分辨率(f,h,i,l,c)左往右为分辨率高至低

    -I  加河流上去(1-10)大河至小河(a,r,i,c)大小河都画

    -W  画海岸线

    -N  画边界(1.国界,2.州界,3.海洋,a.全部)

  -K  在这一行下面还有后续的命令

    -O  把这一行命令绘制的图迭加到先前画的图上

    -P  把图旋转90度

    -V  画面上会显示本行命令的执行结果

    -X  移动整个图的水平位置

    -Y  移动整个图的垂直位置

  表示方式

    pscoast -JM7 -R117/126/18/26 -G50/50/50 -S150/150/150 -W1 -Di -V -O -K >>123.ps

3psxy在地图上画点线的程序

一定要有的参数

    -J  投影法,和前面的一样

    -R  地图的经纬度范围,和前面的一样

  不一定要有的参数

    -A  画大圆线

    -B  和先前psbasemap的一样

    -C  对照颜色,后面要接文件名

    -G  把符号着色,用r/g/b调色

  -K  在这一行下面还有后续的命令

    -N  不要跳过超出范围的点

    -O  把这一行命令绘制的图迭加到先前画的图上

    -P  把图旋转90度

    -M  线分段

    -Sa 在图上画星星,后面要接大小

    -Sc 在图上画圆圈,后面要接大小

    -Sd 在图上画钻石,后面要接大小

    -Se 在图上画椭圆形,在资料的第3,4,5栏要有方向长轴短轴

    -Sh 在图上画六角形,后面要接大小

    -Ss 在图上画正方型,后面要接大小

    -St 在图上画三角形,后面要接大小

    -Si 在图上画反三角,后面要接大小

    -Sv 在图上画向量,在数据的第3,4栏要有方向长度

    -Sx 在图上画叉叉,后面要接大小

    -V  画面上会显示本行命令的执行结果

    -W  笔宽

    -X  移动整个图的水平位置

    -Y  移动整个图的垂直位置

  表示方式一  把数据直接打在文件里

    psxy -JM7 -R117/126/18/26 -W1 -O -K -V‹‹! >>123.ps

    120 23

    124 27

    !

  表示方式二  把数据另外打在数据文件里

    psxy 123.dat -JM7 -R117/126/18/26 -W1 -M -V -O -K >>123.ps

   

  在123.dat的文件里是这样(这是画线条用的文件)

    >

    120 25

    123 25

    >

    121 23

    123 27

   

  在123.dat的文件里是这样(这是点用的文件)

    120 25

    123 25

    121 23

    123 27

  表示方式三  把更多的数据打在数据文件里

    psxy 123.dat -R117/126/18/26 -JM7 -Sc -Ccpt >> 123.ps

    在123.dat的文件里要有四栏数据,依序为X,Y,颜色代码,圆的大小

4grdimage画二维等高图的命令

一定要有的参数

    grd grd文件的文件名

    -C  对照颜色,后面要接文件名

    -J  投影方式,和前面一样

  不一定要有的参数

    -B  和先前psbasemap的一样

  -K  在这一行下面还有后续的命令

    -O  把这一行命令绘制的图迭加到先前画的图上

    -P  把图旋转90度

    -R  地图的经纬度范围,和前面的一样

    -V  画面上会显示本行命令的执行结果

    -X  移动整个图的水平位置

    -Y  移动整个图的垂直位置

表示方式

grdimage file.grd -JOc122/21/22/69/4.8i -R117/126/18/26 -Cfile.cpt -P -K -V >> 123.ps

5psscale画比例尺的命令

一定要有的参数

    -D  定义比例尺的位置和大小

        如果比例尺是水平的  -D距中央/距顶端/长度/宽度h

        如果比例尺是垂直的  -D距左端/距中央/长度/宽度

  不一定要有的参数

    -B  定义比例尺的间隔,和前面一样

    -C  对照颜色,后面要接文件名

  -K  在这一行下面还有后续的命令

    -O  把这一行命令绘制的图迭加到先前画的图上

    -P  把图旋转90度

    -V  画面上会显示本行命令的执行结果

    -X  移动整个图的水平位置

    -Y  移动整个图的垂直位置

  表示方式

    psscale -Cfile.cpt -D2.8/-1/4/0.22h -Bf1000a2000:"Elevation (m)": -O -K >> 123.ps

6grdcontour画二维等高线图的命令

一定要有的参数

    grd grd文件案的文件名

    -C  等高线的间距

    -J  投影方式,和前面一样

  不一定要有的参数

    -A  等高线数值标示的间隔

    -B  和先前psbasemap的一样

    -E  视角

    -G  同一条等高线数值标示的间隔

  -K  在这一行下面还有后续的命令

    -L  等高线最低或最高的限制

    -N  等高线的单位(如果有下-A的参数才有效)

    -O  把这一行命令绘制的图迭加到先前画的图上

    -P  把图旋转90度

    -R  地图的经纬度范围,和前面的一样

    -T  高地(-T+)或低地(-T-)加上标记

    -V  画面上会显示本行命令的执行结果

    -X  移动整个图的水平位置

    -Y  移动整个图的垂直位置

  表示方式

grdcontour file.grd -JM7 -R117/126/18/26 -C0.025 -W1 -A1 -P -K -V >> 123.ps

7grd数据的处理

转换成xyz值

      grd2xyz file.grd -R117/126/18/26 > file.xyz

块状平均(I是精确度每多少度一格)

      blockmean file.xyz -R117/126/18/26 -I0.1 > file2.xyz

转换成grd文件

      surface file2.xyz -R117/126/18/26 -I0.1 -Gfile3.grd

查询文件信息

      minmax file.xyz

      grdinfo file.grd

8、一些例子制作CPT文件的程序
program make_cpt
      
integer min,max,minr,ming,minb,maxr,maxg,maxb,midr,midg,midb
      
integer r,g,b,rr,gg,bb,ro,go,bo,rro,ggo,bbo
      
real v,n,vv,nn,vo,vvo
      
write(*,*)'Please Input The Minimum Value Of Scale'
      
read (*,*) min
      
write(*,*)'Please Input The Maximum Value Of Scale'
      
read (*,*) max
      
write(*,*)'Please Input The Red Value of Minimum End'
      
read (*,*) minr
      
write(*,*)'Please Input The Green Value of Minimum End'
     
read (*,*) ming
      
write(*,*)'Please Input The Blue Value of Minimum End'
      
read (*,*) minb
      
write(*,*)'Please Input The Red Value of Center'
      
read (*,*) midr
     
write(*,*)'Please Input The Green Value of Center'
      
read (*,*) midg
     
write(*,*)'Please Input The Blue Value of Center'
      
read (*,*) midb
     
write(*,*)'Please Input The Red Value of Maximum End'
      
read (*,*) maxr
     
write(*,*)'Please Input The Green Value of Maximum End'
      
read (*,*) maxg
     
write(*,*)'Please Input The Blue Value of Maximum End'
      
read (*,*) maxb
      
open (20,file='cpt.out')
      
nr=abs(midr-minr)
      
ng=abs(midg-ming)
      
nb=abs(midb-minb)
      
if (nr.ge.ng.and.nr.ge.nb) then
         
    n=nr
      
else if (ng.ge.nb) then
         
n=ng
      
else
         
n=nb
      
end if
      
do 10 i=1,n
      
vo=min+(i-1)*(max-min)/2/n
      
ro=minr-(i-1)*(minr-midr)/n
      
go=ming-(i-1)*(ming-midg)/n
      
bo=minb-(i-1)*(minb-midb)/n
      
v=min+i*(max-min)/2/n
      
r=minr-i*(minr-midr)/n
      
g=ming-i*(ming-midg)/n
      
b=minb-i*(minb-midb)/n
      
write (20,39)vo,ro,go,bo,v,r,g,b
10   
continue
     
nrr=abs(midr-maxr)
      
ngg=abs(midg-maxg)
      
nbb=abs(midb-maxb)
      
if (nrr.ge.ngg.and.nrr.ge.nbb) then
         
nn=nrr
      
else if (ngg.ge.nbb) then
         
nn=ngg
  
    else
     
     nn=nbb
      
end if
      
do 100 j=1,nn
      
vvo=(max+min)/2+(j-1)*(max-min)/2/nn
      
rro=midr-(j-1)*(midr-maxr)/nn
      
ggo=midg-(j-1)*(midg-maxg)/nn
      
bbo=midb-(j-1)*(midb-maxb)/nn
      
vv=(max+min)/2+j*(max-min)/2/nn
     
rr=midr-j*(midr-maxr)/nn
      
gg=midg-j*(midg-maxg)/nn
      
bb=midb-j*(midb-maxb)/nn
     
write (20,39)vvo,rro,ggo,bbo,vv,rr,gg,bb
100   
continue
39   
format(f16.8,i4,i4,i4,f16.8,i4,i4,i4)
      
write (20,*)'B   0       0       0'
      
write (20,*)'F   255     255     255'
      
write (20,*)'N   255     255     255'
      end

制作CPT文件程序的脚本文件

a.out <<!-6000 3000255 0 0 123123 002550!把地震画到地图上psbasemap -JM6 -R118/124/20/27.5 -BNEWsf1a1g2:xx:/f1a1g2:y::.Ex1: -P -V -K >ex1.pspscoast -JM -R -W1 -Di -V -O -K >>ex1.pspsxy eq.xym -R -JM -Sc0.02 -Ccpt -O >> ex1.psgs ex1.ps
把地震画到地图上3Dpsxyz ex2.xym -B0.5/0.5/2 -P -G255/0/0 -JX5/5 -JZ5 -E200/30 -R121/124/22/24/-20/0 -Sc0.1 > ex2.psgs ex2.ps
综合应用grdimage /home/nmns/Grid/etopo2.grd -JM7 -R110/130/10/30 -Ctopo.light.cpt -P -V -K > ex3.pspsscale -Ctopo.light.cpt -D3.5/-0.5/4/0.2h -Bf1000a3000:"Elevation (m)": -O -V -K>> ex3.pspsbasemap -JM -R110/130/10/30 -BneWSf5a2g5:xx:/f5a2g5:y::.Ex3: -P -O -V -K  >> ex3.pspscoast -JM -R -W1 -Di -V -O -K >>ex3.pspsxy eq.xym -R -JM -Sc0.02 -Ccpt -O -K >> ex3.psgrdcontour Etopo5glb.grd -JM -R -C1000 -W1 -A1 -P -O -V >> ex3.psgs ex3.ps
立体地形图##3D TW topogrd2xyz /home/nmns/Grid/Etopo5.grd.km -R118/20/124/26r >TW.xyzblockmean TW.xyz -R -I0.05 -V>TW.xyz.bm.plotsurface TW.xyz.bm.plot -R -I0.05 -V -Gto.grd.km.plot pscoast -R118/124/20/26 -JM4.5 -E145/30 -B2/2nESw -A2000 -W -Dh -Y3c  -P -K >TW29.psgrdcontour to.grd.km.plot -JM4.5 -R -E145/30 -C1 -A1 -W1 -O -K >>TW29.ps psscale -Ctry0-3.cpt -D6.5/5.5/3/0.22 -Bf1a5:"km": -I -O -K >> TW29.ps echo '3.25 8.5 60 0.0 33 2 T@#opography' | pstext -R0/10/0/10 -Jx1i -O -K >>TW29.ps grdgradient to.grd.km.plot -A225 -Gto.grd.km.plot.intens -Nt0.75 grdview to.grd.km.plot -JM4.5 -Jz0.5c -Ctry0-3.cpt -Ito.grd.km.plot.intens -B5/5/2:"km":sewnZ -E145/30 -R118/124/20/26/-6/5 -Qs -Y7.5c -O >>TW29.psgs TW29.ps
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 22:39 , Processed in 0.227991 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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