Chapter 4 歷史文件地名標註系統
4.2 地名標註流程
4.2.3 匯入空間資訊
透過上一節的程序後,已辨識出使用者文本中具地名語意的地名,然僅找出 地名是無法被 Google Map API 使用的。必須透過空間資料庫將每個於文章中的地 名的坐標位置點出,才能夠於地圖上被點出。
於空間資料庫中,地名名稱不免有重覆的問題,也就是同一個時代內有同一 個地名卻代表不同地點的情形。如清代地名”太平”便有七個坐標位置。系統遭遇此 種有同名異地情形時,會將資料庫中所有此地名的坐標於使用者介面列出,讓使 用者可以自行選擇正確的坐標資料,而隨著使用者更改坐標,系統呈現的地標位 置也隨之不同,透過此互動介面,可使系統標註地名的彈性增加。
24
Fig. 4-4 同名異地處理情形
為了盡量減少使用者花費人工去修正此同名異地情形,預設地名的選取是有 其重要性的,若能夠每次系統標記完後,系統預設選取的地點便是於文章中如使 用者所預期的地點,對使用者而言可減少花費的時間,而若預設地點並非使用者 所預期,使用者也能透過方便的介面做調整工作,如此便不會對使用者觀察文本 有不利的影響,而增加了許多便利性。是以系統設計了一個判斷預設坐標的功能。
根據觀察《清實錄》的經驗,當文章中有多個地名出現時,通常這些地名的 地點通常會是同一個省份或是鄰近區域的地點,由此判斷利用坐標之間的距離作 為決定具有同名異地性質地名的預設坐標,是一個簡單且貼切的方式。在此使用 經緯度來計算坐標間的距離,因此必須注意經緯度的距離必須考量地球為一橢圓 球體而非平面,在計算距離時用的是球面而非平面坐標,計算兩個坐標間的最短 距離是計算球面上兩點間的最短距離,即大圓距離(The Great Circle Distance)由於 本研究目標在於標註古文本,在缺乏當代道路資料的情形下,並不考慮當代的實
25
際道路及交通情形,而是取最短的大圓距離當作兩點間距離。本研究採用 Haversine Fomula 來計算兩點間的大圓距離,式子如下所示:
d:大園距離 r:地球半徑
(ψ,λ):點的經度,緯度
匯入坐標實際的做法為:
Step1:將進行地名辨識後的文章,針對各地名從資料庫中抓出對應的坐標點並存 入該地名的陣列,陣列長度代表此地名的坐標數。
Step2:檢查文章中的地名數量,若僅有一地名則將此地名預設坐標設為陣列中第 一筆坐標
Step3:檢查是否有陣列長度大於一的地名,若無則將所有地名之預設坐標設為設 為該地名陣列中的坐標並結束此次空間資訊匯入。
Step4:針對陣列長度大於一的地名(稱 P),若文章內有陣列長度為一的地名,則 找出文章順序中此地名前後最接近(即相隔最少地名)且陣列長度等於一 的地名(稱 P1、P2),對 P 中每個坐標計算與 P1、P2 的大圓距離,取距離 最短者為預設坐標。若無陣列長度為一的地名則跳至下一 Step。
Step5:若文章不含有陣列長度等於一的地名,則將文章開頭算起前兩個地名(稱 P3、P4),將此兩地名陣列中的坐標彼此計算大圓距離,取具有最短距離 的兩坐標設為 P3、P4 陣列內唯一坐標將其他坐標捨棄,並將 P3、P4 的陣
26 WebGIS 界面存取表格,將文章呈現於 WebGIS。