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