5.1 单位

GMT 中使用的单位分为两类:长度单位和距离单位。

注解

注意这两者的区别,长度单位一般用于度量纸张上的距离,而距离单位用于度量真实地球上的距离。

5.1.1 长度单位

GMT 中的长度量可以使用厘米(cm)、英寸(inch)或点(point)为单位。它们之间的关系如下:

1 inch = 2.54 cm = 72 point

厘米、英寸和点,在 GMT 中分别用 cip 表示。例如 5c 表示5厘米, 3i 表示3英寸, 2p 表示2点。

GMT 中指定长度量的单位有两种方式,即隐式指定单位和显式指定单位。

隐式指定单位
若没有在长度量后指定长度单位,则 GMT 会根据参数 PROJ_LENGTH_UNIT 的默认长度单位对该长度量进行解释。比如 -X4 中的长度量 4 会根据 PROJ_LENGTH_UNIT 取值的不同而被解释为4厘米、4英寸或4点。
显式指定单位
即在长度量后直接加上单位以显式地指定当前长度量要使用的单位。比如 -X4c 中的长度量会被唯一地解释为4厘米,而不依赖于 PROJ_LENGTH_UNIT 的取值。

小技巧

使用 gmt get PROJ_LENGTH_UNITgmt defaults | grep PROJ_LENGTH_UNIT 命令可以看到 GMT 中默认的长度单位。

使用长度单位时,建议遵循如下几条:

  • 始终显式指定长度量的单位,不依赖于 PROJ_LENGTH_UNIT 的值,以免导致同一脚本在不同机器上跑的结果不同
  • 长度单位 p 用于指定较小的长度量,比如线宽、文字大小等
  • 长度单位 ci 用于指定较大的长度量,比如底图宽度、圆圈大小等
  • 尽量使用 SI 单位制( c )而不用 US 单位制( i ),因为国人对于1厘米要比1英寸更有概念

5.1.2 距离单位

对于真实地球上的距离量而言,常用单位包括:

  • d :弧度(degree of arc)
  • m :弧分(minute of arc)
  • s :弧秒(second of arc)
  • k :千米(kilometer)
  • e :米(meter) 默认单位

还有几个不常用的单位:

  • f :英尺(foot)
  • M :Statute mile
  • n :Nautical mile
  • u :US Survey foot

对于一个距离量而言,若不指定单位,则默认其单位为 e (即“米”),当然还是建议为每个距离量显式指定其单位,使得命令更加清晰。比如在地球上以某点为中心画一个特定半径的圆,半径为 30 等效于 30e 表示30米,半径为 30k 则表示30千米。

对于距离量而言,还涉及到如何计算地球或任意星球上两点之间距离的问题。GMT 中提供了三种不同精度的距离计算方式,分别是 Flat Earth 距离、大圆路径距离和测地距离。

大圆路径距离
将地球当做球体,是GMT中默认使用的距离计算方式。比如距离量 50k 就默认用大圆弧距离来计算
Flat Earth距离
是大圆弧距离的一阶近似,通过在距离量前加上减号来使用这种计算方式。比如距离量 -50k 则使用Flat Earth方式计算距离
测地距离
计算距离时考虑了地球椭率,可以通过在距离量前加上加号来使用这种计算方式。比如距离 +50k 则使用大地测量方式来计算距离

从计算精度上看:大地测量距离>大圆弧距离>Flat Earth距离;从计算速度上看,Flat Earth距离>大圆弧距离>大地测量距离。

参见

关于三种距离计算方式的详细介绍,见附录 三种距离计算方式