gdal_merge.py


1 gdal_merge.py: 合並(Merge)/鑲嵌(Mosaic)工具。要求圖像必須是相同坐標系統、具有相同的波段數;可以不同分辨率,可以有重疊區域(后加入圖像覆蓋先加入的圖像)。

注意:只能使用nearest重采樣方法。

gdal_merge.py [-o out_filename] [-of out_format] [-co NAME=VALUE]*
              [-ps pixelsize_x pixelsize_y] [-tap] [-separate] [-v] [-pct]
              [-ul_lr ulx uly lrx lry] [-n nodata_value] [-init "value [value...]"]
              [-ot datatype] [-createonly] input_files

參考:http://www.gdal.org/gdal_merge.html

http://osdir.com/ml/gdal-development-gis-osgeo/2006-03/msg00087.html

使用時需要python、gdal(python庫)支持,設置方法:

set OSGEO4W_ROOT=D:\Program Files (x86)\QGIS Chugiak

set PATH=%OSGEO4W_ROOT%\bin;%PATH%

SET PYTHONHOME=%OSGEO4W_ROOT%\apps\Python27

2 應用

2.1 圖像合並(Merge)/鑲嵌(Mosaic)

目的:將多個圖像合並為一幅圖像。

原理:讀入源圖像(多個),復制(如果分辨率不一致,需要進行重采樣)源圖像到目標圖像的相應位置。

方法:gdal_merge.py

-n 源圖像中無值時賦此值。

-a_nodata 同-n(>1.9)。

-co 參數。格式:key=value。COMPRESS=JPEG:使用JPEG壓縮方式。JPEG_QUALITY=75。JPEG壓縮率。

-of 輸出格式。默認為GTiff(GeoTiff)。

-o 輸出圖像。默認(out.tif)。

示例:

 gdal_merge.bat -n 0 -a_nodata 0 -coCOMPRESS=JPEG -co JPEG_QUALITY=75 -of GTiff -o D:/qgis-ppt/mosaic/merge4.tifD:/qgis-ppt/mosaic/J1.tif D:/qgis-ppt/mosaic/J2.tif D:/qgis-ppt/mosaic/J3.tifD:/qgis-ppt/mosaic/J4.tif

2.2 保持輸入圖像波段不變,

目的:將多個圖像合並為一幅圖像,並保持在目標圖像中保留原始圖像的所有波段。

原理:讀入源圖像(多個),復制(如果分辨率不一致,需要進行重采樣)源圖像到目標圖像的相應位置。

方法:gdal_merge.py

-separate 將為每個輸入圖像的通道保留在目標圖像的單獨通道中。

示例:

gdal_merge.bat -separate -of GTiff -oD:/qgis-ppt/mosaic/merge4-layerstack.tif D:/qgis-ppt/mosaic/J1.tifD:/qgis-ppt/mosaic/J2.tif D:/qgis-ppt/mosaic/J3.tif D:/qgis-ppt/mosaic/J4.tif

可以看到結果中,源圖像的3個通道都被依次加入到目標圖像中。

2.3 保存PCT信息

目的:將多個圖像合並為一幅圖像,並保存PCT顏色表。

原理:讀入源圖像(多個),復制(如果分辨率不一致,需要進行重采樣)源圖像到目標圖像的相應位置,將PCT信息保存在Tiff等輸出文件的文件頭。

方法:gdal_merge.py

-pct 讀入第一幅圖像的PCT信息,並寫入輸出文件(假設所有輸入文件使用相同的PCT)。

示例:

gdal_merge.bat -pct -of GTiff -oD:/qgis-ppt/mosaic/merge4-pct.tif D:/qgis-ppt/mosaic/J1.tifD:/qgis-ppt/mosaic/J2.tif D:/qgis-ppt/mosaic/J3.tif D:/qgis-ppt/mosaic/J4.tif

打開圖像的16進制格式,可以看到,PCT文件比無PCT的文件,多了PCT文件頭信息,其它部分都一樣。

2.4 輸出指定部分數據(將結果進行裁剪)

目的:將多個圖像合並為一幅圖像,輸出指定范圍數據。

原理:讀入源圖像(多個),復制(如果分辨率不一致,需要進行重采樣)源圖像到目標圖像的相應位置,將結果數據進行范圍裁剪。

方法:gdal_merge.py

-ul_lr upperleft_lowerright,左上角到右下角范圍。默認使用全部范圍。

示例:

gdal_merge.bat -ul_lr 114.01 39.99 114.03 39.97 -ofGTiff -o D:/qgis-ppt/mosaic/merge4-ul_lr.tif D:/qgis-ppt/mosaic/J1.tifD:/qgis-ppt/mosaic/merge4.tif

2.5 輸出指定分辨率數據

目的:將多個圖像合並為一幅圖像,並輸出指定分辨率數據。

原理:讀入源圖像(多個),進行重采樣,將結果得到到目標圖像的相應位置。

方法:gdal_merge.py

-ps xpixelsize ypixelsize,xy兩個方向的輸出分辨率。默認使用第一幅圖像的分辨率。注意Y的方向。

示例:

gdal_merge.bat -of GTiff -ps 2.14577e-05-2.14577e-05 -o D:/qgis-ppt/mosaic/merge4-res.tif D:/qgis-ppt/mosaic/J1.tifD:/qgis-ppt/mosaic/J2.tif D:/qgis-ppt/mosaic/J3.tif D:/qgis-ppt/mosaic/J4.tif


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM