數值地形模型 (DTM) 系列 第一課:FORTRAN 讀取篇

更新 發佈閱讀 7 分鐘

【前言】

數值地形模型(DTM)的處理是空間資訊科學的基礎。幾乎所有與空間資訊相關的研究,都與 DTM 脫離不了關係。因此,在本系列課程中,我們將介紹 DTM 資料的基本處理方法,包含:

  • 如何用 FORTRAN 讀取 DTM 資料檔案?(使用 Visual FORTRAN)
  • 如何用 Visual Basic 6.0 讀取 DTM 資料檔案?
  • 使用 VB.NET 進行二進位檔案的讀取與寫入。
  • 如何用 VB.NET 讀取 DTM 資料檔案?
  • 2026年技術評析

(1) 如何用 FORTRAN 讀取 DTM 資料檔案?

假設我們有一個 DTM 資料檔,格式為二進位(Binary)整數矩陣。雖然大部分的人會習慣使用 C/C++ 或 Matlab 來處理,但在科學運算領域,FORTRAN 依然是非常強大的工具。

資料規格假設:

  • 檔案格式:二進位整數矩陣。
  • 矩陣大小:477 (欄/Column) × 512 (列/Row)。
  • 資料型態:2-byte 整數 (Integer*2)。

程式邏輯說明:

  1. 宣告陣列: 宣告一個 integer*2 的二維陣列,大小為 (512, 477)。
  2. 開啟檔案: 使用 open 指令,並將格式(form)宣告為 binary
  3. 讀取資料: 使用無格式(unformatted)的 read 指令讀取高程值。
  4. 格式轉換: 將讀入的資料輸出為 GIS 軟體常見的標準格式:
    • ArcView ASCII Grid (*.asc):純文字網格檔。
    • ArcView Binary Raster (*.flt & *.hdr):二進位網格及其標頭檔。

【FORTRAN 範例原始碼:ReadDEM】

program ReadDEM

integer*2 dem(512, 477)
integer i, j
character*20 fmt

integer nCols, nRows
real*8 start_x, start_y
integer*2 cell_size
integer*2 NoData_Value

! 開啟原始二進位 DTM 檔案
open(10, file='SP25B.BIN', form='binary', status='old')

! 準備輸出 ASCII Grid 檔案
open(20, file='SP25B.ASC', status='unknown')

! 準備輸出 Binary Raster 標頭檔與資料檔
open(30, file='SP25B.hdr', status='unknown')
open(31, file='SP25B.flt', status='unknown', form='binary')

! 讀取二進位資料
do i = 1, 512
read(10) (dem(i, j), j = 1, 477)
end do

! 設定網格參數
nCols = 477
nRows = 512
start_x = 0.0
start_y = 0.0
cell_size = 40
NoData_value = -9999

! 動態建立格式字串
fmt = '( 512(i4, 1x))'
write(fmt(2:5), '(i4.4)') nCols

! 寫入 ASCII Grid 標頭資訊
write(20, 200) nCols
write(20, 201) nRows
write(20, 202) start_x
write(20, 203) start_y
write(20, 204) cell_size
write(20, 205) NoData_Value

! 寫入 ASCII Grid 資料本體
do i = 1, 512
write(20, fmt) (dem(i, j), j = 1, 512)
end do

200 format('ncols ', i3)
201 format('nrows ', i3)
202 format('xllcorner ', f10.2)
203 format('yllcorner ', f10.2)
204 format('cellsize ', i2)
205 format('NODATA_value ', i5)

! 寫入 Binary Raster 標頭檔
write(30, 200) nCols
write(30, 201) nRows
write(30, 202) start_x
write(30, 203) start_y
write(30, 204) cell_size
write(30, 205) NoData_Value

! 寫入 Binary Raster 資料檔 (.flt 需為浮點數)
do i = 1, 512
write(31) (float(dem(i, j)), j = 1, 512)
end do

stop
end

重點說明:

  • 技術重點: 程式展現了如何處理 integer*2 (16-bit) 資料,這是早期 DTM(如台灣全島 40m DTM)常見的格式。
  • GIS 應用: 將資料轉存為 .asc.flt,這使得 FORTRAN 運算的結果可以直接被 ArcGIS 或 ArcView 等 GIS 軟體讀取。
留言
avatar-img
晴寒的沙龍
2會員
51內容數
冬日微晴已無寒意
你可能也想看
Thumbnail
他以為只要離開螢幕,天亮之前一切都會恢復原樣。 但螢幕又自己亮了起來——那幾行陌生的字正等著他。
Thumbnail
他以為只要離開螢幕,天亮之前一切都會恢復原樣。 但螢幕又自己亮了起來——那幾行陌生的字正等著他。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
工作上固定頻率會收到User提供的設定需求資訊,檔案大多為excel的格式.xlsx或.xls,需要擷取內容的參數資訊,轉換撰寫sql語法寫入資料庫進行操作。 既然格式都是固定的,何不動手寫個小工具,一鍵完成轉換呢?
Thumbnail
工作上固定頻率會收到User提供的設定需求資訊,檔案大多為excel的格式.xlsx或.xls,需要擷取內容的參數資訊,轉換撰寫sql語法寫入資料庫進行操作。 既然格式都是固定的,何不動手寫個小工具,一鍵完成轉換呢?
Thumbnail
或許有人會說,windows搜尋就已經支援這個功能了,但是我試用了一下,好像沒有很好用,我寫的這篇就是針對Excel的檔案做關鍵字的搜尋,並會在最後列出包含該關鍵字的檔案資訊。
Thumbnail
或許有人會說,windows搜尋就已經支援這個功能了,但是我試用了一下,好像沒有很好用,我寫的這篇就是針對Excel的檔案做關鍵字的搜尋,並會在最後列出包含該關鍵字的檔案資訊。
Thumbnail
前一篇文章:利用Claude的Cowork自動批改全班資訊圖表作業,可以幫助教師評量學生作品的資訊圖表。本篇要再來使用 Cowork 的代理程式將全冊教科書的 C 語言原始檔,全部加上註解,並編製成依內建樣式排版完成的 Word 文件檔。意指要在 Cowork 中建立一本加上註解的程式語言電子書。
Thumbnail
前一篇文章:利用Claude的Cowork自動批改全班資訊圖表作業,可以幫助教師評量學生作品的資訊圖表。本篇要再來使用 Cowork 的代理程式將全冊教科書的 C 語言原始檔,全部加上註解,並編製成依內建樣式排版完成的 Word 文件檔。意指要在 Cowork 中建立一本加上註解的程式語言電子書。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
手機成為當代個人資訊擷取的核心工具,其便利性來自於隨身攜帶與多功能整合。無論是捕捉日常生活的瞬間、記錄靈感、掃描文件,甚至直接擷取網頁與電子書內容,手機皆可一手包辦。此外,行動平台的多樣應用程式如備忘錄、筆記軟體、掃描工具等,進一步降低擷取的門檻。
Thumbnail
手機成為當代個人資訊擷取的核心工具,其便利性來自於隨身攜帶與多功能整合。無論是捕捉日常生活的瞬間、記錄靈感、掃描文件,甚至直接擷取網頁與電子書內容,手機皆可一手包辦。此外,行動平台的多樣應用程式如備忘錄、筆記軟體、掃描工具等,進一步降低擷取的門檻。
Thumbnail
某些使用情境下,為了節省大量的安裝時間,及確保每台機器的安裝設定的一致性,製作一個免安裝版的映像檔就非常有必要了。 這次Violet來教大家如何製作純文字介面的免安裝ISO檔,同時也會說明如何使用指定的Kernel版本。 教學使用的作業系統為Debian11 bullseye,Kernel版本為
Thumbnail
某些使用情境下,為了節省大量的安裝時間,及確保每台機器的安裝設定的一致性,製作一個免安裝版的映像檔就非常有必要了。 這次Violet來教大家如何製作純文字介面的免安裝ISO檔,同時也會說明如何使用指定的Kernel版本。 教學使用的作業系統為Debian11 bullseye,Kernel版本為
Thumbnail
Windows Event Log 是調查中重要的東西,透過 LOG 才能看到駭客的軌跡,了解駭客一些行為的蛛絲馬跡。或電腦系統異常現象之LOG,亦可提前掌握,避免系統嚴重錯誤事件發生。 FullEventLogView,是一款專門用於查看Windows系統事件記錄的免費工具軟體
Thumbnail
Windows Event Log 是調查中重要的東西,透過 LOG 才能看到駭客的軌跡,了解駭客一些行為的蛛絲馬跡。或電腦系統異常現象之LOG,亦可提前掌握,避免系統嚴重錯誤事件發生。 FullEventLogView,是一款專門用於查看Windows系統事件記錄的免費工具軟體
Thumbnail
C通常一部電影 網路影集 小說 漫畫 電玩 在最後一集或最後結局 可以把感動觀眾到哭的 結局劇情 可能有哪幾種劇情? 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 在影視作品和文學作品的最後一集或結局, 有一些常見的劇情元素和情感觸發方式, 可以感動觀眾並引起哭泣
Thumbnail
C通常一部電影 網路影集 小說 漫畫 電玩 在最後一集或最後結局 可以把感動觀眾到哭的 結局劇情 可能有哪幾種劇情? 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 在影視作品和文學作品的最後一集或結局, 有一些常見的劇情元素和情感觸發方式, 可以感動觀眾並引起哭泣
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News