用 QGIS 反轉線圖徵的箭頭方向
製作交通路線、水文地圖、溪河流向或溝渠排水計畫專案時,我們通常會用 GIS 軟體的線圖徵 (Line Features) 來繪製這些目標的向量圖形,最後搭配上符號學 (Symbology) 的箭頭工具來美化地圖。
不過很多 GIS 從業人員在繪製地圖時,時常忽略數化目標的方向、地勢高低或溝渠流向,導致產出的線圖徵方向錯誤。
對於這個問題,一般來說用處理工具箱的 Reverse line direction, Field Calculator 的 reverse 函數或 Advanced Digitizing Toolbar 工具列的 Reverse line 點擊想反轉的線條即可解決。不過前兩項工具會反轉「整張地圖」的線圖徵,無法針對擁有特定屬性 (Attributes) 的向量圖徵進行反轉。
但山不轉路轉,既然它只能反轉整張地圖的線圖徵,那我們就用 Extract by location 工具將目標抓出來反轉即可。
反轉特定線圖徵的工作流程
- 建立點圖層,徵標記要反轉的目標。
- 用 Buffer 將點圖徵轉換成圓形,讓它稍微覆蓋目標線條。
- 用 Extract by location 將目標線條抓出成獨立圖層。
- 用 Select by location 刪除原始圖層錯誤的線條。
- 用 Reverse line direction 反轉目標線條
- 用 Merge vector layers 合併
由於 Delete duplicate geometries 和 v.clean 往往會刪除轉好的線圖徵,因此建議直接刪除錯誤的線條後再執行 Merge 合併。翠維尼
其他工具
v.clean
Delete duplicate geometries
結語
這個工作流程雖然能將線段轉正,但實際上太過手工、有點麻煩。如果目標圖徵很多的話,光是標記就要花上不少時間了。
除了手動標記之外,另外一個的方式是用 Extract vertices 於線的 Vertex 產生點圖徵,賦予座標後用判斷式讓線段的起點和終點依座標方位來 reverse 線段。甚至可以用 DTM 或地形圖來執行這項任務。但這個方法目前空想程度居多,實際要達成可能有點難度。
因此建議各位 GIS 相關從業人員在繪製地圖時,請一開始就先把方向畫正確,避免造成後續維護和修改的麻煩。