psxy命令
(2012-10-18 15:00:56)
标签:
杂谈 |
分类: GMT |
psxy命令
绘制线,多边形以及符号。psxy读取文件中的(x,y)或是标准输入,产生用来绘制线,多边形以及某些符号的PostScript代码。如果某个符号被选择了,但是它的大小并没有给出,那么psxy命令会自动将输入数据的第三列作为符号的大小数据。当符号的大小<=0时,该处的符号将会被跳过,不进行绘制。如果没有给出具体的符号,那么输入的数据文件的最后一列必须给出符号的特征。通过-m选项来绘制多段的数据文件。如果没有使用-S选项,那么将绘制一条将所有点连接起来的线段。使用-L来进行多边形的闭合。
2.4.1语法结构
psxy
[−Y[a|c|r][y-shift[u]]] [−:[i|o]] [−bi[s|S|d|D[ncol]|c[var1/...]]] [−ccopies] [−fcolinfo] [−g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u]] [−m[flag]]
2.4.2语法解释
1.必要绘图选项
files列出一个或多个文件名,如果没有给出,psxy会从标准输入中读取。使用-T选项忽略所有输入文件,包括标准输入。
-J选择地图投影方法,具体方法与psbasemap中的相同。
−Rwest/east/south/north[r]设置绘图区域的大小,同psbasemap中的相同。
2.可选的绘图选项
−A[m|p]默认情况下,线性部分被绘制成大圆弧,使用-A可将其绘制成直线。添加m表示首先沿子午线绘制直线,然后再沿平行线绘制直线。相反添加p表示首先沿平行线绘制,然后再沿子午线绘制。
-B设置地图边框的注记以及注记之间的间隔,与psbasemap中的相同。
−Ccptfile给出一个颜色表文件。如果使用了-S选项,那么绘制的符号的填充色由文件第三列的z值决定。如果没有-S选项,那么psxy命令则要求用户提供一个多段的线性或多边形文件(此处需要-m选项),该文件每一部分的头部要含有一个z值的字段,该字段将决定线或多边形的颜色。
−Ddx/dy设置绘制符号或线的位置与给出位置的偏移量,默认是没有任何偏移的。如果只给出了dx而没有dy,那么dy与dx的值相同。
−E[x|y|X|Y][n][cap][/[-|+]pen绘制误差条。添加x或y表示只在x轴或y轴方向绘制误差条,默认是两轴都绘制误差条。x或y的误差必须紧跟在(x,y)或(x,y,size)列的后面。cap参数表示误差条末端帽的长度,默认为0.25c或是0.1i。pen参数设置绘制误差条的笔属性,默认属性为:线宽:0.25p,黑色,实线。添加符号+表示使用-C所提供的颜色来设置符号的填充色和误差条的边框色,而符号-则表示只设置误差条的颜色,关闭符号的填充。
−Gfill选择符号或多边形的填充色或填充样式。默认是没有任何填充。
−H[i][nrec]表示输入的文件拥有头记录。如果使用该选项,则默认的头记录数为gmtdefaults文件中N_Header_Recs所规定的数目(默认值为1),但可通过nrec来改变记录数。-Hi表示保留输入文件的头记录,默认是去除文件中的头记录。文件中的空行或以#开头的行会被自动跳过。
−Iintens使用intens值(变化范围-1~1)来调节填充色,起到照明效果,默认是没有照明效果。
-K表示该命令后面还有其他的PostScript命令,默认是该命令结束后,停止对当前地图的绘制。
-L构成封闭的多边形,此外与-C,-m和-Z一样使用提供的颜色为多边形区域着色,默认颜色是多边形轮廓的颜色。
-N绘制地图边界外的符号,默认是只绘制边界内的点。但是由于该软件的问题,该命令无法正常使用,是一个软件漏洞。
-O,-P与psbasemap中的相同。
−S[symbol][size]绘制符号。如果符号的大小size直接给出,则其长度单位为gmtdefaults中设置的长度单位。如果未直接给出,则输入的文件的第三列需给出(如果使用了-C,则是第四列)。如果符号的特征没有给出,那么输入文件的最后一列需给出,注意这不可以与-b选项同时使用。可在size后添加c,i,m或p分别代表厘米,英寸,米和像素,默认单位为gmtdefaults中的MeasureUnit。注意:如果符号的大小以及形状都是由输入文件给出,用户必须在MeasureUnit中设置所需的的符号的长度单位。-S后面的小写字母(a,c,d,g,h,u,n,s,t)表示符号在给定直径的圆的内部(即给定的圆为符号的外接圆),而相应的大写字母则表示符号的面积等于给定直径的圆的面积。符号的形状有如下几种:
-S-绘制水平方向的破折号-,size为其长度;
-S+绘制+号,size为其外接圆的直径;
-Sa绘制星形,size为其外接圆的直径;
-Sbsize[/base][u]垂直条,由base延长到y值,size为垂直条的宽度。添加符号u表示使用x轴的单位,默认为绘图的长度单位。默认情况下,base值为y的最小值,通过base可改变该值。
-SBsize[/base][u]水平条,有base延长到x值,size为水平条的宽度。添加符号u表示使用y轴的单位,默认为绘图的长度单位。默认情况下,base值为x的最小值,通过base可改变该值;
-Sc圆,size为其直径;
-Sd菱形,size为其外接圆的直径;
-Se椭圆,方向(沿水平方向逆时针旋转的角度),长轴的长度,短轴的长度分别由输入数据的第3,4,5列给出。
-SE与-Se类似,除了给出的不是方向而是方位角(由北向东旋转的角度)。由于投影方式的不同,方位角在地图上的投影角度会产生相应的变化,而-Se中的方向角度投影后是没有变化的。此外,轴长的单位必须是km,而不是绘图的距离单位,但线性投影是一个特例,此处认为椭圆轴长的单位与-R的单位相同。
-Sfgap/size[dir][type][:offset]绘制断层。
-Sg八边形,size为其外接圆的直径。
-Sh六边形,size为其外接圆的直径。
-Si倒三角形,size为其外接圆的直径。
-Sj旋转矩形,方向(沿水平方向逆时针旋转的角度),x方向上的尺寸,y方向上的尺寸分别位于输入数据的第3,4,5列。
-SJ旋转矩形,与-Sj类似,除了此处给出的不是方向而是方位角(由北向东旋转的角度)。由于投影方式的不同,方位角在地图上的投影角度会产生相应的变化,而-Sj中的方向角度投影后是没有变化的。此外,矩形边长的单位必须是km,而不是绘图的距离单位,但线性投影是一个特例,此处认为边长的单位与-R的单位相同。
-Sk绘制常用符号。
-Slsize/string绘制字母或文本字符(少于64个字符),添加%来选择合适的字体,默认字体为gmtdefaults中AnnotFontPrimary规定的字体。
-Sm[f|l|b]size弧形,size为弧的半径,弧形开始和结束的方向(沿水平方向逆时针旋转)分别位于输入数据的第3,4列。-Smf表示只在弧度开始的地方绘制箭头,-Sml表示只在弧度结束的地方绘制箭头,而-Smb表示在开始和结束的地方都绘制箭头,默认是不绘制任何箭头。
-Sn五边形,size为其外接圆的半径。
-Sp点,此处无需设置大小size,点的大小为当前分辨率下的一个像素。
-Sq注释线,例如等高线。可添加[d|D|f|l|L|x|X]info[:labelinfo]。这些所需的参数控制着注释线上标签的位置,有以下五种控制方法:
ddist[c|i|m|p]或Ddist[d|e|k|m|n]小写字母d给出标签间的距离,其单位可以是c,i,m或p。而大写字母D给出的是地图单位长度间的距离,其单位有e(米),k(千米),m(里),n(海里)或d(度数)。默认是10c或4i。
fffile.d读取ASCII码文件ffile.d,在文件中的位置与沿注释线的位置相匹配的地方绘制标签,不匹配的地方或是点在绘图区域外的地方不绘制标签。
l|Lline1[,lin2,…]给出每条用逗号隔开的直线段的首末两点的坐标,标签会绘制在这些直线与注释线相交的地方。每条直线段的格式为start/stop,start和stop既可以用经纬度坐标表示,也可以通过使用pstext中表示对齐的两个字符来表示,可从LCR和BMT中任意选择一个进行组合,例如:直线LT/RB表示绘制一条从图框左上角到右下角的一条直线。大写字母L表示这些点位于一个大的圆弧上,默认是位于一条直线上。
nn_label规定注释线上等间距标签的个数,默认为1。大写字母N表示从线的起点处开始注记,默认是从线的中点处开始。
-Sr矩形,不需要给出大小,但是x方向和y方向的尺寸需位于输入数据的第3,4列。
-Ss正方形,size为其外接圆的直径。
-St三角形,size为其外接圆的直径。
-Sv矢量,第三、四列需要提供方向(从指向西的水平方向起逆时针方向的角度)和长度。如果提供了size则格式应该为带箭头线的宽度/头部的长度/头部的宽度,默认为0.075c/0.3c/0.25c。默认情况下,带箭头线的属性不会随着其长度的变化而变化。若希望随着尺寸的减小,矢量也相应的减小,在后面添加nnorm即可,当矢量的尺寸小于norm时,将其相关属性的尺寸乘以系数(长度/norm)。使用-Svb将矢量的中心与点对齐,使用-Svh使点与矢量的头部相对齐,使用-Svt使点与矢量的底部相对齐,使用-Svs表示给出的是点的坐标而不是方位和长度,默认情况下采用-Svt。使用大写的B,H,T,S表示绘制的是双箭头的矢量,默认的是单箭头。
-SV与-Sv基本相同,除了此处给出的是方位角(由北向东旋转)。由于地图选择的投影方式的不同,方位角在地图上的投影角度会发生不同的变化。而在-Sv中方向角的投影角度是始终不变的。
-Sw扇形,开始和结束的方向角(沿水平方向逆时针旋转的角度)应分别位于输入数据的第3,4列。size为扇形的半径。
-SW扇形,与-Sw类似,除了此处使用的是方位角(由北向东的旋转角度)而不是两个方向角。由于地图选择的投影方式的不同,方位角在地图上的投影角度会发生不同的变化,而在-Sv中方向角的投影角度是始终不变的。
-Sx十字线,size为其外接圆的直径。
-Sy垂直的破折号,size为竖直线的长度。
以上这些就是psxy可以绘制的各种图形符号。
-T忽略所有的输入文件,包括标准输入。使用该选项来激活所有与绘制线或图形符号无关的选项,例如:psxy–R–J–O–T,该命令用来终止一系列不产生任何地图输出的GMT绘图命令。
−W[-|+][pen]设置用来绘制线或符号轮廓的笔(pen)属性,默认情况下:笔宽0.25p,黑色,实线。添加+表示使用颜色表(同过-C选项获得)为符号的内部和边框进行着色,而使用-则表示只设置边框的颜色,关闭内部颜色的填充。关于pen的说明,pen包括线宽、颜色和结构,每一项都是可选的。线宽的单位可以是以具体的大小来表示(单位有:p(像素),cm,inch),也可以使用faint(给人的感觉是线条比较淡,比较轻),thinner,thinnest,thicker,thickest或obese(粗)。颜色可是用灰度表示,也可使用彩色表示。结构包括虚线(-)和点线(.)。笔宽,颜色,结构表示时之间要用逗号隔开。
-U,-V,-X-Y,-c与psbasemap中的相同。
−:[i|o](经度,纬度)和(纬度,经度)两种表示方式之间的切换开关,默认为(经度,纬度)。添加符号i表示只对输入文件进行切换,添加符号o表示只对输出文件进行切换,默认是同时对两者进行切换。
−bi[s|S|d|D[ncol]|c[var1/...]]选择二进制输入,添加s表示单精度,默认是双精度(d)。大写的S或D表示强制字节转换。如果输入文件的列数大于程序所需要的列数,需要添加ncol,ncol表示输入文件的列数。如果输入的文件时netCDF文件,则添加c。添加var1/var2…来规定将要读取的变量,默认是基于所选择的设定所需要的列数的编号。
−fcolinfo输入或输出数据(时间或地理数据)列的特殊格式。i或o分别表示该选项只应用于输入数据或输出数据,默认是应用于两者。通过逗号将列与列区分开。可添加符号T(绝对日期),t(相对日期),x(经度),y(纬度)或f(浮点)到每一列的后面。例如:-f[i|o]g表示-f[i|o]0x,1y(地理坐标),即输入输出的数据文件的第一列和第二列分别为经度和纬度。
−g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u]检查连续的数据点之间的间隔,用来打断直线。
−m[flag]多段文件,每部分内容通过一条记录隔开,该记录的第一个字符为flag,默认的flag为>。以下的一个或多个选项可以添加到这些部分的头记录中区:
-Gfill使用新的填充方式fill,并将填充功能开启;
-G-关闭填充功能;
-G+回到默认的填充方式,如果命令行中没有设置填充,那么就没有填充;
-Wpen使用新的pen属性(pen属性在上面的-W中已经介绍过),并绘制轮廓线;
-W-不绘制轮廓线;
-W+回到默认的笔属性,如果命令行中没有设置,则不绘制轮廓线;
-Zzval使用z值zval,通过cpt查询获得填充色;
-ZNaN从cpt文件中获得NaN颜色(灰度值128,可在gmtdefaults4中设置)。