數據類型¶
GMT可以繪製笛卡爾座標軸、地圖的經緯度軸以及絕對時間軸、相對時間軸。對於不同的座標軸,需要的數據類型也不同。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>T<clock>
其中 T
是關鍵字,用於分隔日期和時間。
日期 <date>
可以是如下格式的一種:
yyyy[-mm[-dd]]
:年-月-日,例如2013
、2015-10
、2015-01-02
yyyy[-jjj]
:年-一年中的第幾日,例如2015-040
yyyy[-Www[-d]]
:年-第幾周-該周內第幾天,例如2014-W01-3
、2014-W01
時間 <clock>
是24小時制,其格式爲:
hh:[mm:[ss[.xxx]]]
例如 10:10:35.120
。
使用過程中需要注意:
- 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點多 - 所有絕對時間在程序內部都會被轉換成相對於特定時刻的秒數
下面舉幾個絕對日期的例子:
2014-02-10T10:00:00.000
T10:20:44.234
2014-040T23:23:54.330
相對時間座標¶
相對時間座標即某個時間相對於參考時刻的秒數、小時數、天數或年數。因而在使用相對時間時,首先要給定兩個參數:參考時刻以及相對時間所使用的單位。
GMT參數 TIME_EPOCH 用於指定參考時刻, TIME_UNIT 用於指定相對時間的單位。也可以用參數 TIME_SYSTEM 同時指定這兩個參數。默認的參考時刻爲1970年1月1日午夜,默認的相對時間單位爲秒。
在指定了參考時刻後,相對時間就跟一般的浮點數沒什麼區別了。那如何區分一般的浮點數與相對時間呢?有兩種方式:
- 在數據後加上小寫的
t
,比如30t
表示相對於 TIME_EPOCH 間隔了 30 個 TIME_UNIT 時間單位的時刻 - 在命令行中使用
-ft
選項表明當前數據是相對時間,此時不需要在數字後加t
一般座標值¶
在繪製常規的笛卡爾座標軸時,即輸入數據不是地理座標、絕對時間或相對時間時,輸入數據可以直接用浮點數表示,而不去在意其物理含義及單位。比如,5牛頓的力,5千克的質量,在 GMT 看來都只是浮點數 5
。
這些浮點數座標可以用兩種方式表示:
- 一般表示:
[±]xxx.xxx
,比如123.45
- 指數表示:
[±]xxx.xx[E|e|D|d[±]xx]
,比如1.23E10