目录
一. 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 的安装 一、WINDOWS版GMT安装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.zip或GMT_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 view、corel draw、acrobat等程序打开 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;北纬20∼26.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 张图,各以a1、a2、a3 为代表。存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 命令 1、psbasemap:绘制底图。 Ex: psbasemap –R10/70/-3/8-JX4i/3i-B10/1:.”My first plot”:-P>! 2、pscoast:绘制GMT 内建全世界海岸线底图。 Ex: pscoast –R-90/-70/0/20 –JM6i-P-B5g5-G180/120/60>! 3、psxy:在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 ==选择画笔或符号轮廓的粗细 4、pstext:绘制文字。 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]=画箭号 5、blockmean:用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 估计法将输入档案过滤成区块平均数据 6、psvelomeca:绘制震源机制球 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 =结束封闭的多边形 7、makecpt:产生一个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=指定产生连续色之色(渐层)。【预设为不连续色之色表】 8、grd2cpt:从grd 档产生一个GMT 用的颜色档 Ex: grd2cpt[-grdfile][-Ctable][-I][-Tz0/z1/dz |-Tztable][-V][-Z]>!*.cpt Grd2cpt 指令选项:(同makecpt) 9、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 -I=增加颜色对比(通常设定0.3~0.5) 10、nearneighbor:xyz 档转grd 檔 Ex:nearneighbor-R115/125/20/30-15m-S40k-Gxyz.grd-Vxyz.xyz 或 11、Grdcontour:利用grd 档绘制等高线图 Ex:grdcontour xyz.grd-JM6i-P-B2-C250-A1000>! 12、grdgradient:将grd 档转成int 元文件 Ex:grdgradient xyz.grd-Gxyz.int-A45-Nt 13、grdimage: 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. 十. 几个例子 1、psbasemap画底图的命令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 2、pscoast画陆块海洋和海岸线的程序一定要有的参数 -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 3、psxy在地图上画点线的程序一定要有的参数 -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,颜色代码,圆的大小 4、grdimage画二维等高图的命令一定要有的参数 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 5、psscale画比例尺的命令一定要有的参数 -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 6、grdcontour画二维等高线图的命令一定要有的参数 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 7、grd数据的处理转换成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,b10
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,bb100
continue39
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
|