移至主內容
首頁
SLAT Blogs

主導覽

  • 首頁
使用者帳號選單
  • 登入

導航連結

  1. 首頁

QGIS

By 肥貓, 22 二月, 2026 @ 肥貓的異想世界

試取得地理資訊系統中各路段的高度表

地理資訊系統其中一個有趣的應用,就是取得各路段的高度表。這種高度表在爬山、修築鐵公路時非常重要。雖然這次文章的標題叫做路段,但我想用在自然地理上的另一個地方,即河川(從源頭)到入海口大致的高度表。這在水利資源開發,例如航道規劃、水庫設計都有他的工程需求。

資料來源

雖然我國政府資料有河川河道的開放資料,提供了非常詳細的行水區的面(polygon)資料。但是高度表需要的是線段資料,把面轉成線的步驟也非常繁瑣。因此我這次使用的是第三方Geofabrik從OpenStreetMap弄下來的台灣圖資。但我這次決定不用以前常用的Shapefile格式,而是較罕見的pbf格式。

雖然Geofabrik抓下來的Shapefile檔案,編排與格式都符合一般人在GIS的日常習慣,但是它把很多河川上下游的關係的資料都去掉了。這樣在釐清上下游水系和支流的關係時會非常麻煩。

By 肥貓, 12 二月, 2026 @ 肥貓的異想世界

續1:用QGIS處理有斷點的資料的示範--以杭溫高速鐵路溫州北站附近為例(OpenStreetMap)

續前篇,既然可以在Python用命令列讀取資料,還有各線段的經緯度座標,那我何不乾脆一起把修正後的座標帶進去?比起在QGIS點放個老半天也比較簡單。

我仔細看了一下圖資裡的內容,得知資料裡每一列貯存經緯度的欄位叫做

hangzhou_wenzhou_hs2.iloc[n].geometry.wkt

By 肥貓, 11 二月, 2026 @ 肥貓的異想世界
Hangzhou-Wenzhou High Speed Railway manipulated

用QGIS處理有斷點的資料的示範--以杭溫高速鐵路溫州北站附近為例(OpenStreetMap)

OpenStreetMap最大的好處是與其他商用圖資比,其圖資的使用條款與費用沒有那麼苛刻。但是其缺點也是資料品質良莠不齊。這種情況在編輯者少的地方特別嚴重。

以中國杭溫高速鐵路為例,在溫州北站東邊這一段,就很容易發現中間斷了一節,這錯誤顯然是必須修的。

原始圖資請到這裡下載;後製與篩選的Python語法請參考我的Github:

By 肥貓, 7 二月, 2026 @ 肥貓的異想世界
geopandas in Python Spyder runtime, notice size differences between several procedures

用Python/QGIS篩選地理資料的簡短示範

我們可以用很多第三方程式去擷取OpenStreetMap的圖資,但是地理範圍較大的資料容量也很大。若直接匯入QGIS不僅浪費資源也影響程式穩定度,宜在Python用命令列做預處理。

用極端點的例子,我想製作中國的高速公路網圖,可以在人道救援資料集找到擷取OSM中國所有道路的資料集,你再從中篩選出高速公路資料集即可。說來容易,但是檔案抓下來就1.8GB,直接匯入QGIS是不會當掉,但是快七百萬個Features是要等到天荒地老?

若用Python先做預處理,把資料篩選到約56萬筆再匯入QGIS,事情顯然就簡單得多。拜AI之賜,Google很快就能給你基礎的語法下去修。

By 肥貓, 3 十一月, 2023 @ 肥貓的異想世界
用QGIS套疊福爾摩沙高速公路與地形圖

用QGIS + OpenStreetMap + Python 處理線形地理資料

本文內容是敘述如何用QGIS,結合開放街圖(OpenStreetMap)的圖資,以及Python資料處理,在QGIS上處理資料。

本次使用圖資:福爾摩沙高速公路(即我國國道三號,下稱福高)的路線圖。

取得圖資(XML):

去OpenStreetMap尋找福高路線圖的XML檔。搜尋「福爾摩沙高速公路(北上)」,取得該路線圖編號(3876887)。並於畫面下方點選「下載XML」,進入XML顯示頁面。操作過程如下三張圖所示

QGIS

部落格列表

管理日誌
LibreOffice 正體中文文件
肥貓的異想世界
軟體自由運動部落格
馬哥的大小事
My Libre World
社會派宅爸

最新文章

試取得地理資訊系統中各路段的高度表
續1:用QGIS處理有斷點的資料的示範--以杭溫高速鐵路溫州北站附近為例(OpenStreetMap)
用QGIS處理有斷點的資料的示範--以杭溫高速鐵路溫州北站附近為例(OpenStreetMap)
用Python/QGIS篩選地理資料的簡短示範
我的 2025 回顧
LibreOffice x GSoC 2025 成果報告
LO Conf 2025 精彩回顧:奧地利軍隊的開源轉型之路
試用Python製作一支簡單的爬蟲程式
試用Python製作一支簡單的考試程式
Interview with Sandy Corzeta, Admin of Indonesia's Fediverse Instance 'misskey.id'
簡單處理在Ubuntu終端機啟動Miniconda的問題
在LibreOffice Calc利用Vlookup做精準搜尋
Powered by Drupal