7.2 -J 选项

-J 选项用于指定将数据投影到画布上所采用的函数,即投影方式。 -J 选项有两种写法:

  • -J<δ>[<pars>/]<scale>
  • -J<Δ>[<pars>/]<width>

此处 <δ> 是一个小写字母, <Δ> 是一个大写字母,代表某种投影方式。 <pars> 代表零个或多个由斜杠分隔的投影参数,具体的参数数目由投影方式决定。

投影方式使用大写字母时,其最后一个参数 <width> 表示地图宽度。投影方式使用小写字母时,最后一个参数 <scale> 表示比例尺,可以只跟一个数字 xxxx ,也可以是 1:xxxx 格式。前者表示地球上的1度在图上为xxxx厘米(当然也可以是其他单位),而后者表示地图上的1厘米代表真实地球的xxxx厘米。

即,可以使用 -J 选项选择投影方式,每个投影方式有大写和小写两种形式,其中小写形式指定的是地图的比例尺,大写形式指定的是图在画布上的宽度。

注解

几乎所有地理投影方式,都只能指定其宽度而不能同时指定其宽度和高度,因为地图高度会由地图宽度和投影方式自动决定。

例如:

  • -Jm1c 表示使用墨卡托投影,地图上的1度距离投影到画布上为1厘米
  • -Jm1:10000000 表示使用墨卡托投影,画布上的1 cm代表实际距离中的10000000 cm,即100 km
  • -JM15c 也表示使用墨卡托投影,整个地图的宽度是15厘米,地图的高度由 -R-J 自动确定
  • -JX10c/5c 使用线性投影,地图的宽度是10厘米,高度为5厘米

下表列出了GMT所支持的全部投影方式,详细介绍见 投影方式

表 7.2 GMT -J Codes
WITH GMT PROJECTION CODES
-J (upper case for width, lower case for scale) Map projection
-JAlon0/lat0[/horizon]/width Lambert azimuthal equal area
-JBlon0/lat0/lat1/lat2width Albers conic equal area
-JClon0/lat0width Cassini cylindrical
-JCyl_stere/[lon0[/lat0/]]width Cylindrical stereographic
-JDlon0/lat0/lat1/lat2width Equidistant conic
-JElon0/lat0[/horizon]/width Azimuthal equidistant
-JFlon0/lat0[/horizon]/width Azimuthal gnomonic
-JGlon0/lat0[/horizon]/width Azimuthal orthographic
-JGlon0/lat0alt/azim/tilt/twist/W/H/width General perspective
-JHlon0width Hammer equal area
-JIlon0width Sinusoidal equal area
-JJlon0width Miller cylindrical
-JKflon0width Eckert IV equal area
-JKslon0width Eckert VI equal area
-JLlon0/lat0/lat1/lat2width Lambert conic conformal
-JM[lon0[/lat0/]]width Mercator cylindrical
-JN[lon0/]width Robinson
-JOalon0/lat0azim/width Oblique Mercator, 1: origin and azimuth
-JOblon0/lat0/lon1/lat1width Oblique Mercator, 2: two points
-JOclon0/lat0/lonp/latpwidth Oblique Mercator, 3: origin and pole
-JP[a]width[/origin] Polar [azimuthal] (\(\theta, r\)) (or cylindrical)
-JPoly[lon0[/lat0/]]width (American) polyconic
-JQ[lon0[/lat0/]]width Equidistant cylindrical
-JR[lon0/]width Winkel Tripel
-JSlon0/lat0[/horizon]/width General stereographic
-JT[lon0[/lat0/]]width Transverse Mercator
-JUzone/width Universal Transverse Mercator (UTM)
-JV[lon0/]width Van der Grinten
-JW[lon0/]width Mollweide
-JXwidth[l|pexp|T|t][/height[l|pexp|T|t]][d] Linear, log\(_{10}\), \(x^a-y^b\), and time
-JYlon0/lat0width Cylindrical equal area

GMT用单个字母指定投影方式,但英文字母只有26个,而投影方式却不止26个,因而,从GMT 4.3.0开始,GMT开始支持 Proj4 包的命名方式。与上面介绍的不同, Proj4 包不是使用单个字符指定投影方式,而是通过一个单词指定。比如墨卡托投影既可以用 -Jm 指定也可以用 -Jmerc 指定。

表 7.3 Proj4 -J codes
WITH Proj4 PROJECTION CODES
-J (lower case for scale only) Map projection
-Jaea/lon0/lat0/lat1/lat2/scale Albers conic equal area
-Jaeqd/lon0/lat0[/horizon]/scale Azimuthal equidistant
-Jcass/lon0/lat0/scale Cassini cylindrical
-Jcea/lon0/lat0/scale Cylindrical equal area
-Jcyl_stere/[lon0[/lat0/]]scale Cylindrical stereographic
-Jeqc/[lon0[/lat0/]]scale Equidistant cylindrical
-Jeqdc/lon0/lat0/lat1/lat2/scale Equidistant conic
-Jgnom/lon0/lat0[/horizon]/scale Azimuthal gnomonic
-Jhammer/lon0/scale Hammer equal area
-Jeck4/lon0/scale Eckert IV equal area
-Jeck6/lon0/scale Eckert VI equal area
-Jlaea/lon0/lat0[/horizon]/scale Lambert azimuthal equal area
-Jlcc/lon0/lat0/lat1/lat2/scale Lambert conic conformal
-Jmerc/[lon0[/lat0/]]scale Mercator cylindrical
-Jmill/lon0/scale Miller cylindrical
-Jmoll/[lon0/]scale Mollweide
-Jnsper/lon0/lat0alt/azim/tilt/twist/W/H/scale General perspective
-Jomerc/lon0/lat0azim/scale Oblique Mercator, 1: origin and azimuth
-Jomerc/lon0/lat0/lon1/lat1/scale Oblique Mercator, 2: two points
-Jomercp/:lon0/lat0/lonp/latp/scale Oblique Mercator, 3: origin and pole
-Jortho/lon0/lat0[/horizon]/scale Azimuthal orthographic
-Jpolar/[a]scale[/origin] Polar [azimuthal] (\(\theta, r\)) (or cylindrical)
-Jpoly/[lon0[/lat0/]]scale (American) polyconic
-Jrobin/[lon0/]scale Robinson
-Jsinu/lat0/scale Sinusoidal equal area
-Jstere/lon0/lat0[/horizon]/scale General stereographic
-Jtmerc/[lon0[/lat0/]]scale Transverse Mercator
-Jutm/zone/scale Universal Transverse Mercator (UTM)
-Jvandg/[lon0/]scale Van der Grinten
-Jwintri/[lon0/]scale Winkel Tripel
-Jxyxscale[l|pexp|T|t][/yscale[l|pexp|T|t]][d] Linear, log\(_{10}\), \(x^a-y^b\), and time