OpenStreetMap最大的好處是與其他商用圖資比,其圖資的使用條款與費用沒有那麼苛刻。但是其缺點也是資料品質良莠不齊。這種情況在編輯者少的地方特別嚴重。
以中國杭溫高速鐵路為例,在溫州北站東邊這一段,就很容易發現中間斷了一節,這錯誤顯然是必須修的。
原始圖資請到這裡下載;後製與篩選的Python語法請參考我的Github:

步驟1 先找出缺角的兩端點座標
因為這是高鐵即將進站的區間,因此我們可假定缺口的這段應該是條直線。而我用外掛程式Basemaps匯入OpenStreetMaps的底圖來確認,確實應該是直線。
因此我要找出缺角的兩端點座標,才能把它連起來。具體步驟請參照下圖。步驟3和步驟4這兩個點不用很精確,等下我們會手動來改。

接下來我會用Vertex Tool去抓我要的其他線段端點的座標

啟動Vertex Tool後,在線段上任一點點右鍵,視窗會出現線段內各點的經緯度。

這時候點表格內的各個點,Vertex會很貼心地把您選到的那個點標藍色,這樣您就知道第一個端點的經緯度應該修正為(120.71834760, 28.07209320)

這時候回到剛才我們畫的臨時線段

找到那個藍色的點,修改成我們要的座標,就能跟左邊的斷點對齊了。我們再用一樣的方式補右邊的斷點(120.71922580,28.07211660)。

結果如下圖

接下來再用外掛程式Join multiple lines,把剛才這三個線段接在一起。
用類似Microsoft Office/LibreOffice選取物件的方法,把三條線選起來後


開啟外掛程式(如下圖),三條線就被整併在一起了。


小結
有可能用另一種方式是,我把原本那兩個線段往左拉或往右拉一點,也可能達到同樣的效果。在直線上理論上可以,不過若有彎道或曲線,也許還是要用到前面的那個方法。這就因個案而異了。這個作法是方便您在GIS上應急,或另有用途的話。比較好的方法,還是直接在OpenStreetMap去補這個線段的缺口(如果確實存在的話),讓這線段有缺口的問題能就此解決掉。
