4.2 单位¶
GMT 中的单位有两类:长度单位和距离单位。
注解
本手册中,长度单位专用于度量纸张上的距离,而距离单位则用于度量真实地球上的距离。
4.2.1 长度单位¶
GMT 中的长度量可以使用厘米(cm)、英寸(inch)或点(point)为单位。它们之间的关系如下:
1 inch = 2.54 cm = 72 point
厘米、英寸和点,在 GMT 中分别用 c
、i
和 p
表示。例如 5c
表示5厘米,3i
表示3英寸,2p
表示2点。
GMT 有两种方式可以指定长度量的单位,即显式指定单位和隐式指定单位。
- 显式指定单位
- 在长度量后直接加上单位以显式地指定当前长度量的单位。比如
-X4c
意味着传给-X
选项的长度量是4厘米 - 隐式指定单位
- 若长度量后没有给定长度单位,则 GMT 会根据参数 PROJ_LENGTH_UNIT
所指定的默认长度单位对该长度量进行解释。比如
-X4
中的长度量4
会根据 PROJ_LENGTH_UNIT 取值的不同而被解释为4厘米、4英寸或4点。
使用长度单位时,建议遵循如下几条:
- 始终显式指定长度量的单位,不依赖于 PROJ_LENGTH_UNIT 的值,以免导致同一脚本在不同机器上由于GMT参数配置的差异而导致结果不同
- 长度单位
p
用于指定较小的长度量,比如线宽、文字大小等 - 长度单位
c
和i
用于指定较大的长度量,比如底图宽度、圆圈大小等 - 尽量使用 SI 单位制(
c
)而不用 US 单位制(i
),因为国人对于1厘米要比1英寸更有概念
4.2.2 距离单位¶
对于真实地球上的距离量而言,常用单位包括:
d
:弧度(degree of arc)m
:弧分(minute of arc)s
:弧秒(second of arc)k
:千米(kilometer)e
:米(meter) 默认单位
还有几个不常用的单位:
f
:英尺(foot)M
:Statute milen
:Nautical mileu
:US Survey foot
对于一个距离量而言,若不指定单位,则默认其单位为 e
(即“米”)。当然还是建议为每个距离量显式指定其单位,使得命令更加清晰。比如在地球上以某点为中心画一个特定半径的圆,半径取 30
等效于 30e
表示30米,半径取 30k
则表示30千米。
对于距离量而言,还涉及到如何计算地球或任意星球上两点之间距离的问题。GMT 中提供了三种不同精度的距离计算方式,分别是 Flat Earth 距离、大圆路径距离和测地距离。三种距离计算方式的详细介绍见附录中“三种距离计算方式”一节。本节只介绍如何告诉GMT你想要用哪种距离计算方式。
- 大圆路径距离:
将地球当做球体,是GMT中默认使用的距离计算方式。比如距离量
50k
就默认用大圆弧距离来计算 - Flat Earth距离:
是大圆弧距离的一阶近似,通过在距离量前加上减号来使用这种计算方式。比如距离量
-50k
则使用Flat Earth方式计算距离 - 测地距离:
计算距离时考虑了地球椭率,可以通过在距离量前加上加号来使用这种计算方式。比如距离
+50k
则使用大地测量方式来计算距离
三种距离计算的方式,从计算精度上看:测地距离>大圆路径距离>Flat Earth距离;从计算速度上看,Flat Earth距离>大圆路径距离>测地距离。
4.2.3 小练习¶
使用
gmt get PROJ_LENGTH_UNIT
查看 GMT 的默认长度单位。如下命令在一个长宽均为10厘米(由
-JX10c/10c
控制)的矩形底图中心,绘制了一个直径为3厘米(由-Sc3c
控制)的圆:echo 5 5 | gmt psxy -JX10c/10c -R0/10/0/10 -Baf -Sc3c -W1p > test.ps
将
-Sc3c
改成-Sc3i
或-Sc3
并绘图查看图件的区别。