使用 QGIS修復缺失數據的柵格
處理柵格數據時,有時可能需要處理數據間隙。這些可能是傳感器故障、處理錯誤或數據損壞的結果。以下是航拍圖像中數據間隙(即無數據值)的示例。
圖片來源:? 土地委員會(COLA);桑給巴爾革命政府 (RGoZ),從 OpenAerialMap 下載。(注意:數據間隙是使用python腳本模擬的,不是原始數據集的一部分)
如果數據間隙很小,則可以通過插入來自相鄰像素的值來有效解決。我將概述解決此問題的 2 種方法。第一個使用 Qgis,另一個使用純 Python。
此處顯示的方法使用該gdal_fillnodata工具應用反距離加權插值和平滑。正如文檔中所指出的,這適用于填充連續柵格數據(例如高程)中的缺失區域。它也適用于不同數據(例如航拍圖像)中的非常小的差距。如果您希望插入點數據以創建柵格,則應改用該gdal_grid工具。這在 QGIS 中的處理 → 工具箱 → 柵格分析 → 網格...
修復 QGIS 中的數據缺口
GDAL 帶有一個工具 gdal_fillnodata,可以從 QGIS 的處理工具箱中使用。
如果源柵格設置了無數據值并且與缺失數據值相同,則可以跳過此步驟。否則,第一步是將柵格的無數據值設置為數據間隙的像素值。從 Processing → ToolBox,搜索并找到Translate(轉換格式)工具
在我們的示例中,無數據像素值為 0。為將指定的無數據值分配給輸出波段選項設置值 0,并為轉換后的柵格輸入文件名。
現在我們準備好從 Processing Toolbox運行Fill nodata工具
此工具一次適用于 1 個頻段。選擇波段 1(紅色)。設置最大距離以搜索要插值的值到1,因為我們只有 1 個像素間隙。將輸出另存為01_red.tif并單擊運行。保存帶有01_等前綴的文件很重要,因為下一步將按文件名的字母順序合并波段。
對波段 2(綠色)和波段 2(藍色)重復該過程,為它們選擇合適的文件名。您應該有 3 個沒有填充數據值的單獨柵格。現在我們可以將它們合并到一個文件中。從處理工具箱中搜索并找到合并工具。
在合并工具中,選擇所有 3 個單獨的柵格。選中將每個輸入文件放入單獨的帶框。輸入輸出的文件名,然后單擊運行。
生成的合并柵格將具有 3 個波段,無數據間隙將填充來自相鄰像素的內插值。
這是顯示版本之前和之后的動畫。
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。