这里a, f, 和 g分别为刻度标记、刻度和网格的间隔。 m|c 选择分(m)或秒(c)。 缺省设置是4个边界全部绘制(表示为 W, E, S, N)。通过重写代码来改变缺省设置(如, WSn)。 大写字母(如, W)说明同时画轴和轴的刻度标记。轴标记的格式受你的.gmtdefaults 文件中的DEGREE_FORMAT 控制。
图1.5 使用刻度标记、刻度和网格间隔的地理图边界
图1.6: 线性笛卡尔投影轴。长刻度线为标记刻度,短刻度线为刻度间隔,轴名用“:”括起,刻度单位“%”用“: ,% :”表示。我们使用 –R0/12/0/1 –JX3/0.4 –Ba4 f2 g1:Frequency::,%:.
log10轴选项(Options for log10 axes )
1. tick 参数必须选1, 2, 或 3。相应的对数标记间隔分别为1, 1–2–5, 或 1,–2,–3,–4–,...–,9。 2. tick 后加l ,刻度标注为log10 的每个整数值,即0,1,2等。
–
3. tick 后加p,刻度标注为log10 的指数形式(如105)。
图 1.7: 使用不同刻度标记、刻度和网格间隔的对数坐标。我们可以选择实际数值为刻度标记。参数值选1,每个10的整数幂都标记;选2,标记10的0.1,0.2,0.5次幂;选3,标记10的每个0.1次幂。上图为–R1/1000/0/1 –JX3l/0.4 –Ba1 f2 g3;中图为 –Ba1 f2 g3 l;下图为–Ba1 f2 g3 p.
指数轴选项(Options for exponential axes)
刻度后加字母p,刻度标记间隔是被转变后的单位,但标记
仍将按照未改变的单位来标。 如果tick = 1,幂=0.5(即开平方),等距刻度的标记将为1, –4, –9,等。
图1.8: 指数或幂投影轴。上图用指数0.5做坐标轴。这里间隔标记为实际数值。写为 –R0/100/0/1 –JX3 p0.5/0.4 –Ba20 f10 g5. 下图,虽然刻度标记使用相应的非投影值,但间隔为投影值。写为 –Ba3 f2 g1 p
9.3.2 The –c option
–c选项指定绘图拷贝数。[缺省为1] The –H option
–H 选项让GMT知道输入数据文件具有一个(缺省)或多个头纪录。如果多于1个头纪录,一定要在–H 选项后指定数字。如–H4。见图1.9。 9.3.3 The –J? options
选择地图投影。–J 后面的代码决定投影类型。以用户单位指定地图宽度(或轴长)。GMT 所允许的投影见图1.10。该指南我们将选择下面投影之一(全部GMT投影的详细资料见psbasemap 主页):
6
墨卡托投影(Mercator: )
–JMwidth.
图 1.9: 输入文件可以有由–H指定的任意多个头纪录,一个最终的PostScript 文件由多个单独的堆栈组成。
正形投影(Orthographic: )
–JG lon0/lat0/width. lon0/lat0 指定投影中心 Albers 圆锥投影(Albers conic: )
–JB lon0/lat0/lat1/lat2/width. 给出投影中心和2条标准平行线 Eckert 投影(Eckert IV and VI: )
–JK[f|s] lon0/width. 给出中央子午线
图 1.10: GMT允许的25种地图投影
线性投影(Linear: )
–JX width/height. 给出绘图宽度[和高度]。宽度[和高度]可用下列方式之一给出: 1. –JXwidth[d]—标准线性比例。如果x、y 用地理坐标的度来表示,加“d”。允许在360°范围内选择,并自动加注度符号“o”。
2. –JXwidthl—缩放前数值的log10
3. –JXwidthppower—缩放前数值的指数Raise values to power 可使用负的宽度[和高度]来改变轴的方向(如y轴正值向下增加)。
7
9.3.4 The –K –O options
–K 和 –O 选项控制了多次覆盖绘图PostScript 代码的形成。所有的PostScript 文件都必须有一个头(用来初始化),一个文件体(绘图),和一个文件尾(打印输出)(见图1.10)。这样,在覆盖几个GMT图 时,我们必须保证第一个图省略了文件尾,所有中间的图同时省略了文件头和文件尾,而最后的图则省略了文件头。–K省略了文件尾,说明更多的PostScript 代码将会加到后面[缺省是结束绘图过程]。–O 选择覆盖绘图模式并省略了文件头[缺省是初始化一个新的绘图过程]。大多数多次覆盖绘图的未预料到的结果都可以追索到该选项的错误使用。
9.3.5 The –P option
–P 选择肖像模式。缺省为风景画模式,沿PAPER_MEDIA所选图纸宽度方向改变x轴原点,并逆时针旋转坐标系90o转变为肖像模式。缺省的PAPER_MEDIA 设图纸类型为Letter(或在SI单位为A4);当使用不同的图纸时,该值要改变,比如11\或更大的界面。(图1.11).
图 1.11:(左)用户可以指定风景画模式[缺省]或肖像模式( –P)。(右)投影原点可以通过–X –Y 自由改变 。
9.3.6 The –R option
–Rxmin/xmax/ymin/ymax[r] 指定绘图范围。支持十进
位或指数标注。用度、分 [和秒]表示绘图范围, 用dd:mm[:ss] 格式。 加字符 r 用左下角和右上角坐标来表示矩形绘图范围。(图 1.12).
图 1.12: 可用两种方式指定绘图范围。
9.3.7 The –U option
–U 绘制UNIX 系统时间标志。可在当前命令行加入一个任意的字符串(用双引号限定), 或c代码。 (图1.13)
图1.13: –U 选项使标注绘图日期很方便
9.3.8 The –V option
–V 选择verbose模式,将建立程序运行报告文件stderr [Default runs ``silently''].
8
9.3.9 The –X –Y options
–X 和 –Y 为以英寸为单位表示的投影坐标原点偏移量(xoff,yoff)(对于新图缺省偏移量为(1,1);对于覆盖模式缺省偏移量为(0,0))。默认所有的偏移都是对上一个原点而言(见图 1.11)。绝对偏移(即相对于图纸坐下角的固定点(0,0))可以通过在偏移量后面加 “a”来实现。除非使用这些选项改变了图纸原点,以后的覆盖操作偏移方式同前面设定。偏移量用当前坐标系为单位(可在开始时用–P 选项旋转图纸;以后的覆盖操作将省略–P选项).
9.3.10 The –: option
对于地理数据,通常认为第一列为经度,第二列为纬度值。如果要调换经纬度顺序,必须使用–: 选项。
9.4 练习(Laboratory Exercises )
现在开始一些简单的绘制坐标轴和海岸线地图练习。按照所有重要的–B, –J, 和 –R选项的顺序进行,并熟悉几种GMT 投影。要练习使用GMT命令psbasemap 和 pscoast。
9.4.1 线性投影(Linear projection )
我们开始绘制一个线性x–y投影的底图图框。x轴由10到70,每10个单位标记;y轴由–3到8,每1个单位标记,最后的图框大小为4x3英寸。批处理文件如下: psbasemap –R10/70/–3/8 –JX4i/3i–B10/1:.\–P >plot.ps 可用ghostview显示结果 plot.ps。 练习
1. 试改变–JX 值 2. 试改变–B值 3. 省略–P
9.4.2 对数投影(Logarithmic projection )
然后绘制一个对数log–log投影的底图图框。假定原始原始x的数据范围由3到9613;y的数据范围由3.2×1020 到 6.8×1024。批处理文件如下:
psbasemap –R1/10000/1e20/1e25 –JX9il/6il –B2:\(m)\(W)\ 练习
1. 试在轴长后不加l
2. 由 –B 字串中去掉p字符 3. 在–B后“/”的每一侧加上g3
9.4.3 墨卡托投影(Mercator projection )
尽管随纬度的增加存在明显的水平变形问题,但由于保证了区域地图位置的可靠性,等角墨卡托投影(–JM)还是被科学家所使用。这是GMT提供的几种圆柱投影之一。完整的语法很简单 –JMwidth
为了绘制海岸线图,我们使用命令pscoast 时将自动访问基于GSHHS数据库1.3的海岸线数据。 除常用的转换外,我们可能需要使用几个pscoast专用的选项(见表 1.2)。
表 1.2: 绘制或覆盖海岸线图时的主要选项。 选项 作用 –A 去除高分辨率图中的细部特点,即给出不绘制面积的上限 –D 选择数据分辨率(全full, 高high, 中intermediate, 低low, 或粗crude)
9
–G 设定陆地颜色(缺省为无色) –I 绘制河流(可选择不同等级的精细程度) –L 绘制地图比例尺(长度比例尺可以是公里、英里或海里) –N 绘制国家的行政区划(包括美国的州界限) –S 设定水体颜色(缺省为无色) –W 绘制海岸线并设定线宽
–W, –G, –S 必选其一。我们首先练习的例子是拉丁美洲
pscoast –R–90/–70/0/20 –JM6i –P –B5g5 –G180/120/60 > map.ps 练习
1. 增加–V 选项
2. 试改用–R270/290/0/20,标注发生什么改变?
3. 编辑你的.gmtdefaults 文件,分别把DEGREE_FORMAT 的参数由0变到4。 4. 选择另一个区域并改变陆地颜色 5. 选择另一个包括北极或南极的区域 6. 试用 –W0.25p 代替(或增加)–G.
9.4.4艾伯特投影(Albers projection ) Albers 投影(–JB)是一种等积圆锥投影,它的等角同类投影是兰伯特(Lambert)圆锥投影(–JL)。 它们的用法几乎相同,这里我们只以Albers投影为例。一般的语法是 –JB lon0/lat0/lat1/lat2/width
这里( lon0, lat0)是地图(投影)中心,而lat1, lat2 是两条标准平行线,即圆锥面和地球表面的交线。使用以下命令:
pscoast –R–130/–70/24/52 –JB–100/35/33/45/6i –B10g5:.\Projection\–N1/2p –N2/0.25p –A500 –G200 –W0.25p –P > map.ps 练习
1. 改变GRID_CROSS_SIZE,用十字线代替网格线
2. 改变–R 为矩形图框说明,代替原来的最小和最大经纬度值。
9.4.5 正交投影(Orthographic projection ) 方位角正交投影(–JG)是几种具有类似语法和特点的投影之一,可以想象为从空间无穷远处来看地球。该投影的语法为: –JG lon0/lat0/width
这里( lon0, lat0)是地图(投影)中心,试用下命令:
pscoast –R0/360/–90/90 –JG280/30/6i –Bg30/g15–Dc–A5000 –G255/255/255 –S150/50/150 –P > map.ps 练习
1. 试用矩形图框选项–R 绘制矩形图框美国地图。
9.4.6 Eckert IV 和 VI 投影
我们用Eckert IV 和 VI投影(–JK)来结束地图投影的简介。这是全球专题地图所使用投影类型中的两种,他们都是等积投影,语法是: –JK[f|s] lon0/width
这里 f 是 Eckert IV(4)而 s(Default)是 Eckert VI(6)。lon0 为中央子午线(其优先级高于根据–R 范围中间值所得到的经度值)。一个简单的Eckert VI 世界地图可由下面命令创建
pscoast –R0/360/–90/90 –JKs180/9i –B60g30/30g15 –Dc –A5000 –G180/120/60 –S100/180/255 –W0.25p > map.ps 练习
10