-JG: Azimuthal orthographic/General perspective
Azimuthal orthographic(正射方位投影)是一种从无穷远距离处的透视投影,因而常用于绘制从外太空看地球。 与 Lambert 等面积投影以及立体投影类似,一次只能看到一个半球。 该投影既不是等面积也不是保角,在半球边界处有较大畸变。 从投影中心出发的任意方向是真实的。
该投影的参数为:
-JGlon/lat[/distance]/width 或 -Jglon/lat[/distance]/scale
lon/lat 是投影中心位置
distance 是边界离投影中心的度数 [<=90,默认值为 90]
width 地图宽度
scale 地图比例尺,可以取 1:xxxx 格式(图上 1 厘米对应真实地球 xxxx 厘米), 也可以是 radius/latitude(表示从投影中心到纬线 latitude 在图上的距离为 radius)
gmt coast -Rg -JG-75/41/12c -Bg -Dc -A5000 -Gpink -Sthistle -png GMT_orthographic

使用正射投影绘制半球
-Jg 加上更多的参数时还可以用于绘制 General perspective(透视投影),以在二维平面内模拟从太空看三维的地球。 该投影与正射投影类似,都是从空间进行透视投影。 不同之处在于,正射投影的透视点在无穷远处,而透视投影可以指定透视点的位置, 因此整体效果类似于从飞行器拍摄地球。
该投影的参数为:
-Jg|Glon0/lat0/scale|width[+aazimuth][+ttilt][+vvwidth/vheight][+wtwist][+zaltitude[r|R]|g]
lon/lat 投影中心的经纬度
-Jg 对应 scale 地图比例尺,可以取 1:xxxx 格式(图上 1 厘米对应真实地球 xxxx 厘米), 也可以是 radius/latitude(表示从投影中心到纬线 latitude 在图上的距离为 radius)
-JG 对应 width 地图宽度
+a 设置 azimuth 观察者的方位角(相对于北向顺时针旋转的角度),默认值为 0 度
+t 设置 tilt 倾角(单位为度),即相对于投影平面向上的角度,默认值为 0 度。 若值为负数则视角以地平线为中心
+v 限制了视角的角度为 vwidth 和 vheight ,单位为度。
+w 设置 twist 扭转角度,即投影图像视轴的顺时针旋转,默认值为 0 度。180° 的扭转(如下图)模仿了飞行器倒挂飞行的情形。
+z 设置 altitude 观察者所处的海拔,单位为 km,默认值为无限大。 附加 R 表示所给的值为以地球半径为单位,观察者与地心的距离。 附加 r 表示所给的值为 km 为单位的观察者与地心的距离。 附加 g 表示地球同步轨道的高度。
备注
由于透视投影类似从空间的飞行器中观察地球,azimuth,tilt 以及 twist 可以从飞行器姿态的角度理解, 分别对应航偏角、俯仰角以及翻滚角。twist 为 180° 时,可以看作“头朝下”观察地球。
gmt coast -Rg -JG4/52/12c+z230+a90+t60+w180+v60 -Bx2g2 -By1g1 -Ia -Di -Glightbrown \
-Wthinnest -Slightblue --MAP_ANNOT_MIN_SPACING=0.6c -view GMT_perspective

透视投影