地理座標定位

一言以蔽之:經緯度和Plus Codes,都可以拿來標記地點。

上一篇文章講述了牙齒的定位,這一篇來談談地球上的定位。

經度、緯度

經度、緯度可以拿來定位地球上的任何一點位置,是人們最常使用座標系。早在西元130年,希臘的地理天文學家托勒密就在他畫的地圖上標記了經緯線。

-itude字根表示狀態,像amplitude是振幅;lat-字根是側面的(lateral),而long-字根是長的,所以經度英文是latitude,緯度英文是longitude。

所有的緯度線中,只有赤道線是地球的大圓,把地球分為南北,所以緯度零度定在赤道在科學上很合理。

然而每一條經度線都是地球的大圓,經度零度定義在哪一條都可以,那到底要選哪一條呢?歷史上經度零度曾被定義在羅馬、巴黎、耶路薩冷等地,最後被定義在舊的格林尼治天文臺(新的天文臺因為倫敦的光汙染嚴重而搬家了),從天文臺還有射出一道雷射光來表示本初子午線(經度零度)。

Plus Codes

由於經度是-180°~+180°,緯度是-90°~+90°,這些數字的小數點很長、很難記錄,有時候還不是用十進位的度數,而是用六十進位的度分秒。

所以Google開發了Plus Codes,也可以用來標記地球上任何一個地方。

Plus Codes的長度為10個字(加上符號+變成11個字),也可以視所需的精準度而多擴展2字,前四個字是區域代碼,後六個字是本地代碼。

為什麼可以把很長的二個經緯度數字縮短成10個字符呢?因為Plus Codes取了20個字符(英文字母和數字,去除了容易混淆的數字和字母,例如1和l、0和o,卅六個字符留下廿個),等效上就是從數字的十進位變成了廿進位,所以長度可以大幅縮短。

由於Plus Codes把經緯度編碼,從兩個欄位變成一個欄位,而且從數字(float number)變成了固定長度的字串(string),對程式碼撰寫是很有幫助的。

另外一個更重要的好處,Plus Codes是有一層一層分級的,簡單地說,我只要打部分的Plus Codes(也就是本地代碼)就可以標記這附近的地點了。例如人在新竹,只要打RX38+J9去Google Map,就可以查詢到城隍廟(如果人在日本東京查詢RX38+J9,則是會找到千葉縣)。

新竹都城隍廟Plus Code