小二 发表于 2013-2-23 10:00:40

GMT中文操作简介

目录一.      GMT 简介与硬件需求二.      GMT 的输出与输入一、数据的输入(Input Data):二、操作方式(Job Control):三、数据的输出(Output Data):三.      GMT 的安装一、WINDOWS版GMT安装四.      GMT 概念及操作五.      GMT 常用参数(一)六.      GMT 常用参数(二) — -B –J七.      GMT 常用参数(三) — -R -V -K –O八.      GMT 常用参数(四) — -P -X -Y –U九.      GMT 命令十.      几个例子1、psbasemap画底图的命令2、pscoast画陆块海洋和海岸线的程序3、psxy在地图上画点线的程序4、grdimage画二维等高图的命令5、psscale画比例尺的命令6、grdcontour画二维等高线图的命令7、grd数据的处理8、一些例子

一.      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 tablesAscii 档案或Binary 档案。2. Gridded datad setsGrid-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.batSET NETCDF=C:\GMTSET GMTHOME=C:\GMTSET HOME= D:\gmtwork (工作目录及磁盘驱动器自定)SET INCLUDE=%INCLUDE%;%NETCDF%\INCLUDESET LIB=%LIB%;%NETCDF%\LIB;%GMTHOME%\LIB7、在MS-DOS 模式中C:\WINDOWS\ cd..C:\cd GMTC:\GMT>gmtenv.batC:\GMT>ECHO OFFGMT 4.0 Environment initializedC:\GMT> gmtdefaults –D > .gmtdefaultsC:\GMT>8、再执行gs650w32.exe 及gsv36w32.exe以上两步骤为安装ghostscript 及ghostgum9、安装WIN4GMT10、若要查看程序执行的过程,请依照以下步骤:
「开始」→「运行」→在空白处输入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 >表示建立图层,第一行写一个,第二行开始用两次>> grdimagegrdimage -R-Jm-C-O-P-V-K>>topo.ps-R 重复之前命令〈第二行开始 只要和第一行数字相同者 可以省略 只需要写大写英文字母命令〉-O去档头〈备注:要接上上一个命令,否则会另划一张新的纸〉-P 版面设定 直式或横式纸张 pscoast〈绘制GMT 内建全世界海岸线底图〉-D 分辨率〈精细程度〉c 简单ihf 精细 -W 画线时用-W2/131/70/53/W 后数字〈2〉表示线条宽度 数字越大越粗后面数字则表示线条颜色:若为三个数字 表示是彩色RGB 系统〈0-2555 之间数字〉 若为一个数字 则为灰阶-C 颜色RGB255 255 255 白255 0 0 红色0 0 0 黑B background 颜色F 前景颜色-F 画比例尺-Lf122/27/24/200f 表示图示法中欲以一段一段表示〈像铁路那种〉122/27 指放置经纬度位置200 表示欲表次200公里 psscale 则为高程的设定psscale:利用cpt 颜色档绘制一个GMT 专用的颜色表Ex:psscale[-Dxpos/ypos/length/width][-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 =0ANOT_FONT =Helvetica         边框字体ANOT_FONT_SIZE =14P         边框字体大小ANOT_OFFSET =0.2cBASEMAP_AXES =WESNBASEMAP_FRAME_RGB =0/0/0BASEMAP_TYPE =fancyCOLOR_BACKGROUND =0/0/0COLOR_FOREGROUND =255/255/255COLOR_NAN =128/128/125COLOR_IMAGE =adobeCOLOR_MODEL =rgbD_FORMAT =%lgDEGREE_FORMAT =0DOTS_PR_INCH =300ELLIPSOID =WGS-84FRAME_PEN =1.25pFRAME_WIDTH =0.2cGLOBAL_X_SCALE =1GLOBAL_Y_SCALE =1GRID_CROSS_SIZE =0cGRID_PEN =0.25pGRIDFILE_SHORTHAND =FALSEHEADER_FONT =HelveticaHEADER_FONT_SIZE =36pHSV_MIN_SATURATION =1HSV_MAX_SATURATION =0.1HSV_MIN_VALUE =0.3HSV_MAX_VALUE =1INTERPOLANT =akimaIO_HEADER =FALSEN_HEADER_RECS =1LABEL_FONT =HelveticaLABEL_FONT_SIZE =24pLINE_STEP =0.025cMAP_SCALE_FACTOR =0.9996MAP_SCALE_HEIGHT =0.2cMEASURE_UNIT =cmN_COPIES =1OBLIQUE_ANOTATION =1PAGE_COLOR =255/255/255PAGE_ORIENTATION =landscape#设定纸张大小为a4PAPER_MEDIA =a4PSIMAGE_FORMAT =hexTICK_LENGTH =0.2cTICK_PEN =0.5pUNIX_TIME =FALSEUNIX_TIME_POS =-2c/-2cVECTOR_SHAPE =0VERBOSE =FALSEWANT_EURO_FONT =TRUEX_AXIS_LENGTH =25cY_AXIS_FENGTH =15cX_ORIGIN =2.5cY_ORIGIN =2.5cXY_TOGGLE =FALSEY_AXIS_TYPE =hor_text 六.      GMT 常用参数(二) — -B –J常用的参数(选项):1、–B 选项最常被用的选项,决定坐标轴的样式。格式:-Bxinfo[:. "title string":]xinfo=tick]][: "axis label":][:,"unit label":]yinfo==tick]][: "axis label":][:,"unit label":]说明:[:."title string":]=指明所画之图表的标图。=在坐标轴上指明东西南北。xinfo=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 投影-JKlon0/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 –O1、-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 –U6.-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.pspscoast-R119.30/122.30/21.15/25.45 –Jm2-Dh-W1/0-P-O-K-V>>!chihshang_fault.pspsxy 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 ==Draw selected error bars with specified attributes-G fill ==选择填满的颜色-L ==结束封闭多边形-M ==多节数据输入-N ==不切割在地图的边界符号-S ==有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.pspsxy 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=画箭号5、blockmean:用L2 norm 的方法将输入档案过滤成区块平均数据Ex: blockmean file(s)]-Ix_inc] –Rwest/east/south/north[-C][-F][-H][-L][-S][-V][-W][-:][-bi][-bo]指令格式说明:blockmean 指令可从标准输入设备(键盘)或档案读取没有排列的位置资料(x、y、z),并且可由标准输出(屏幕)输出平均值数据。Blockmean 和blockmedian、blockmode 指令一样,作为指令surface 的预先处理程序,以防突出的资料干扰。此指令对于小数处理或平均值的计算也很有效。你可以对.gmtdefault 檔之D_FORMAT 的参数,作输出格式的处理;也可选择输入二进位档,并且输出单精度或双精确度的数据。指令选项:xyzfile(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]>!*.cptmakecpt 指令选项: -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]>!*.cptGrd2cpt 指令选项:(同makecpt)9、psscale:利用cpt 颜色档绘制一个GMT 专用的颜色表Ex:psscale[-Dxpos/ypos/length/width][-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.cptgrdimage xyz.grd-Jm1.2r-R119/123/21/26-Ccolor.cpt-Ixyz.int-P-Balflg1-Y1.5psscale-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/bathymethyThis 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.html14、GMT MAP ProjectionsAlberts Conic Equal-area Projection (-Jb –JB)l Longitude and latitude of the projection centerl Two standard parallelsl Map scale in inch/degree or 1:xxxxx notation (-Jb) or map width (-JB)Example:gmtset GRID_CROSS_SIZE_PRIMARY 0pscoast -R110/140/20/35 -JB125/20/25/45/5i -B10g5 -Dl -Glightgray -W0.25p-A250 -P > GMT_albers.psLambert Conic Conformal Projection (-Jl –JL)gmtset BASEMAP_TYPE FANCY PLOT_DEGREE_FORMAT ddd:mm:ssFGRID_CROSS_SIZE_PRIMARY 0.05ipscoast -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.psgmtset GRID_CROSS_SIZE_PRIMARY 0Equidistant Conic Projection (-Jd –JD)Example: Generate a map of Cubagmtset PLOT_DEGREE_FORMAT ddd:mm:ssF GRID_CROSS_SIZE_PRIMARY0.05ipscoast -R-88/-70/18/24 -JD-79/21/19/23/4.5i -B5g1 -Di -N1/1p -Glightgray -W0.25p-P > GMT_equidistant_conic.psgmtset GRID_CROSS_SIZE_PRIMARY 0Azimuthal ProjectionsLambert Azimuthal Equal-Area (–Ja –JA)Rectangular mapgmtset PLOT_DEGREE_FORMAT ddd:mm:ssF GRID_CROSS_SIZE_PRIMARY 0pscoast -R0/-40/60/-10r –JA30/-30/4.5i -B30g30/15g15 -Dl -A500 -Glightgray -W0.25p -P >GMT_lambert_az_rect.psHemisphere mappscoast -Rg -JA280/30/3.5i -B30g30/15g15 -Dc -A1000 -Gblack -P >GMT_lambert_az_hemi.psFigure 6.5: Hemisphere map using the Lambert azimuthal equal-area projection.Stereographic Equal-Angle Projection (–Js –JS)gmtset PLOT_DEGREE_FORMAT ddd:mm:sspscoast -R-30/30/60/72 -Js0/90/4.5i/60 -Ba10g5/5g5 -Dl -A250 -Gblack -P >GMT_stereographic_polar.psFigure 6.7: Polar stereographic conformal projection.Rectangular Stereographic Mapgmtset PLOT_DEGREE_FORMAT ddd:mm:ss OBLIQUE_ANNOTATION 30pscoast -R-25/59/70/72r -JS10/90/11c -B30g10/5g5 -Dl -A250 -Glightgray -W.25p -P> GMT_stereographic_rect.psFigure 6.8: Polar stereographic conformal projection with rectangular borders.General Stereographic Mapgmtset PLOT_DEGREE_FORMAT ddd:mm:ss OBLIQUE_ANNOTATION 0pscoast -R100/-40/160/-10r -JS130/-30/4i -B30g10/15g15 -Dl -A500 -Gblack -P >GMT_stereographic_general.psFigure 6.9: General stereographic conformal projection with rectangular borders.Orthographic Projection (–Jg –JG)The orthographic azimuthal projection is a perspective projection from infinitedistance. It is therefore often used to give the appearance of a globe viewed fromspace.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.ps2、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.ps3、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.ps6、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.ps7、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.grd8、一些例子制作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
页: [1]
查看完整版本: GMT中文操作简介