数据类型
GMT 可以绘制地图的经纬度轴、绝对时间轴、相对时间轴以及笛卡尔坐标轴,具体请参考 -B 选项。不同的坐标轴需要的数据类型也不同。GMT 所支持的数据类型主要分为四大类:地理坐标、绝对时间坐标、相对时间坐标、一般浮点数。
地理坐标
地理坐标(即经纬度)有两种表示方式:
浮点型的度数,如 -123.45 代表 –123.45 度
度分秒:
[±]ddd[:mm[:ss[.xxx]]][W|E|S|N]
ddd、mm、ss、xxx 分别表示弧度、弧分、弧秒以及弧秒的小数部分
W、E、S、N 分别代表西经、东经、南纬、北纬
例如,123:27W 代表西经 123 度27分, 123:27:15.120W 表示西经 123 度 27 分 15.12 秒。
绝对时间坐标
绝对时间由日期(date)和时间(clock)两部分构成,格式为:
dateTclock
其中,T 是关键字,用于分隔日期和时间。
日期可以是如下格式的一种:
年–月–日:yyyy[-mm[-dd]],如 2013、2015-10、2015-01-02
年–一年中的第几日:yyyy[-jjj],如 2015-040
年–一年中的第几周–该周内第几天:yyyy[-Www[-d]],如 2014-W01-3、2014-W01
时间是 24 小时制,其格式为 hh:[mm:[ss[.xxx]]],如 10:10:35.120。
举几个绝对时间的例子:
2014-02-10T10:00:00.000
2014-040T23:23:54.330
2015-01-02 表示 2015 年 1 月 2 日 00:00:00
T10:20:44.234 表示今天早晨 10 点多
注解
GMT 的时间数据的默认输入/输出格式为 yyyy-mm-ddThh:mm:ss.xxx。若想要输入其它格式的时间数据,需要修改配置参数 FORMAT_DATE_IN 和 FORMAT_CLOCK_IN;若想要输出其它格式的时间数据,需要修改配置参数 FORMAT_DATE_OUT 和 FORMAT_CLOCK_OUT
若未指定 date,则默认 date 是今日
若未指定 clock,则默认是 00:00:00
若指定了 clock,则必须要加 T,如 T10:20:34 表示今天早晨 10 点多
GMT 在程序内部会将所有绝对时间转换成相对于特定时刻的秒数
相对时间坐标
相对时间坐标表示某个时刻相对于参考时刻的秒数、小时数、天数或年数。因而使用相对时间时需要指定两个参数,即参考时刻与相对时间所使用的单位。
默认参考时刻为 1970 年 1 月 1 日午夜,默认相对时间单位为秒。但可以分别用配置参数 TIME_EPOCH 和 TIME_UNIT 来指定参考时刻和相对时间的单位,也可以用配置参数 TIME_SYSTEM 同时指定这两个参数。
指定了参考时刻之后,相对时间跟一般浮点数就没什么区别了。那么,如何区分一般浮点数与相对时间呢?有以下两种方式:
在数据后加上小写的 t,如 30t 表示相对于 TIME_EPOCH 间隔了 30 个 TIME_UNIT 时刻
在命令行中使用 -ft 选项(不需要在数据后加 t),表明当前数据是相对时间坐标
一般浮点数
绘制常规的笛卡尔坐标轴时(即输入数据不是地理坐标、绝对时间或相对时间),输入数据可以直接用浮点数来表示。此时,不需要在意数据的物理含义及单位。例如,在 GMT 看来,5 牛顿的力或 5 千克的质量都只是浮点数 5。
浮点数坐标可以用两种方式表示:
一般表示:[±]xxx.xxx,如 123.45
指数表示:[±]xxx.xx[E|e|D|d[±]xx],如 1.23E10