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
gdal_merge.py的更多相关文章
- 部分GDAL工具功能简介
主要转自http://blog.csdn.net/liminlu0314?viewmode=contents 部分GDAL工具功能简介 gdalinfo.exe 显示GDAL支持的各种栅格文件的信息. ...
- gdalwarp:变形工具
1 gdalwarp:变形工具.包括投影.拼接.及相关的变形功能.此工具功能强大,但效率不高,使用时注意 gdalwarp [--help-general] [--formats] [-s_s ...
- Gazebo機器人仿真學習探索筆記(五)環境模型
環境模型構建可以通過向其中添加模型實現,待之後補充,比較有趣的是建築物模型, 可以編輯多層樓層和房間,加入樓梯,窗戶和牆壁等,具體可以參考附錄,等有空再補充. 起伏地形環境構建可以參考之前內容:在Ga ...
- 在Gazebo中使用DEM構建起伏地形環境
所需資料下載地址: 1. https://bitbucket.org/osrf/gazebo_tutorials/raw/default/dem/files/ 数字高程模型(致謝谷歌翻譯)概述数字高程 ...
- MS4W安装教程
简介 欢迎使用MS4W,这是由Gateway Geomatics开发的快速简便的安装程序,用于为Windows及其附带应用程序(如Geomoose.MapBender.Openlayers等)设置Ma ...
- python调用py中rar的路径问题。
1.python调用py,在py中的os.getcwd()获取的不是py的路径,可以通过os.path.split(os.path.realpath(__file__))[0]来获取py的路径. 2. ...
- Python导入其他文件中的.py文件 即模块
import sys sys.path.append("路径") import .py文件
- import renumber.py in pymol
cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...
- python gettitle.py
#!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...
随机推荐
- SQL SERVER数据库服务操作
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 《第一行代码》学习笔记16-碎片Fragment(1)
1.碎片( Fragment):一种可以嵌入在活动当中的UI片段,能让程序更加合理和充分地利用大屏幕的空间,在平板上的应用广泛. 2.碎片同样包括布局,有自己的生命周期,甚至可理解成一个迷你型的活动. ...
- Windows命令行(DOS命令)教程-8 (转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_7.html
15. pass [功能] 设定DOS寻找.COM..EXE..BAT文件的所在目录 [格式] path=[[drive:]path[;-]]或path [说明] 只打path没有参数时,只显示环境变 ...
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- jQuery选择器的学习
jQuery的核心在于它的选择器,通过观看视频和阅读,发现jQuery选择器大体上的分类可分为这么几种(不同人方式不同,这里选择一个自认为比较好的): 1.基础选择器(对应api文档中的基本选择器和层 ...
- dynamic和object浅谈
要想知道dynamic和object的关系必须先理解它们的含义 C# 4.0提供了一个dynamic 关键字.在MSDN里是这样描述:在通过 dynamic 类型实现的操作中,该类型的作用是绕过编译时 ...
- Taum and B'day
//自己 def main(): t = int(raw_input()) for _ in range(t): units = 0 b, w = map(int, raw_input().strip ...
- [TYVJ] P1003 越野跑
越野跑 背景 Background 成成第一次模拟赛 第二道 描述 Description 为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练.贝茜希望能在每次训练中跑 ...
- poj2409 Let it Bead
Let it Bead Time Limit: 1000MS M ...
- 《Programming WPF》翻译 第8章 3.Storyboard
原文:<Programming WPF>翻译 第8章 3.Storyboard Storyboard是动画的集合.如果你使用了标记,所有的动画必须要被定义在一个Storyboard中.(在 ...