用 QGIS 反轉線圖徵的箭頭方向

qgis 反轉 修正線條方向

製作交通路線、水文地圖、溪河流向或溝渠排水計畫專案時,我們通常會用 GIS 軟體的線圖徵 (Line Features) 來繪製這些目標的向量圖形,最後搭配上符號學 (Symbology) 的箭頭工具來美化地圖。


不過很多 GIS 從業人員在繪製地圖時,時常忽略數化目標的方向、地勢高低或溝渠流向,導致產出的線圖徵方向錯誤。


對於這個問題,一般來說用處理工具箱的 Reverse line direction, Field Calculator 的 reverse 函數或 Advanced Digitizing Toolbar 工具列的 Reverse line 點擊想反轉的線條即可解決。不過前兩項工具會反轉「整張地圖」的線圖徵,無法針對擁有特定屬性 (Attributes) 的向量圖徵進行反轉。


但山不轉路轉,既然它只能反轉整張地圖的線圖徵,那我們就用 Extract by location 工具將目標抓出來反轉即可。


 

反轉特定線圖徵的工作流程

  1. 建立點圖層,徵標記要反轉的目標。
  2. 用 Buffer 將點圖徵轉換成圓形,讓它稍微覆蓋目標線條。
  3. 用 Extract by location 將目標線條抓出成獨立圖層。
  4. 用 Select by location 刪除原始圖層錯誤的線條。
  5. 用 Reverse line direction 反轉目標線條
  6. 用 Merge vector layers 合併


由於 Delete duplicate geometries 和 v.clean 往往會刪除轉好的線圖徵,因此建議直接刪除錯誤的線條後再執行 Merge 合併。翠維尼



其他工具

v.clean 
Delete duplicate geometries

 


結語

這個工作流程雖然能將線段轉正,但實際上太過手工、有點麻煩。如果目標圖徵很多的話,光是標記就要花上不少時間了。


除了手動標記之外,另外一個的方式是用 Extract vertices 於線的 Vertex 產生點圖徵,賦予座標後用判斷式讓線段的起點和終點依座標方位來 reverse 線段。甚至可以用 DTM 或地形圖來執行這項任務。但這個方法目前空想程度居多,實際要達成可能有點難度。


因此建議各位 GIS 相關從業人員在繪製地圖時,請一開始就先把方向畫正確,避免造成後續維護和修改的麻煩。



 

延伸閱讀

更多 QGIS




留言