GDAL附带工具【本文转载于:http://wiki./moin/lilin/gdal-utils,版权属于原创作者】 http://blog.163.com/lionyue@126/blog/static/10793071200710120467784/ gdal是一个库,所以它附带的程序本身是很容易被忽略的。可是这些程序又是极其有用的。真的,不骗你! 下面是主站中对gdal的附带工具程序的介绍
1. GDAL附带工具 1.1. GDAL创建了下面的工具程序
2. 创建新的文件存取一个已存在的文件来读取是一件很容易的事情,只要在命令行中指定文件或者数据集的名字。但是,创建一个文件是一件非常复杂的事情。你可能需要指定创建格式,各种创建参数,以及指定一个坐标系统。在不同的GDAL工具中有许多参数都是差不多的,这里列举出来。 -of format
-co NAME=VALUE
-a_srs SRS
3. 总的命令行参数所有的GDAL命令行工具程序都支持下面的“总的”命令行参数。 --version
--formats
--format format
--optfile file
--config key value
--debug value
--help-general
4. 各工具程序详解 4.1. gdalinfo列出栅格数据集的信息 用法: gdalinfo [--help-general] [-mm] [-stats] [-nogcp] [-nomd] [-mdd domain] * datasetname gdalinfo程序列出gdal支持的栅格格式的一系列信息。 -mm
-stats
-nogcp
-nomd
-mdd domain
gdalinfo会给出如下的信息(如果有的话):
例子: gdalinfo ~/openev/utm.tif Driver: GTiff/GeoTIFF Size is 512, 512 Coordinate System is: PROJCS["NAD27 / UTM zone 11N", GEOGCS["NAD27", DATUM["North_American_Datum_1927", SPHEROID["Clarke 1866",6378206.4,294.978698213901]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",0], PARAMETER["central_meridian",-117], PARAMETER["scale_factor",0.9996], PARAMETER["false_easting",500000], PARAMETER["false_northing",0], UNIT["metre",1]] Origin = (440720.000000,3751320.000000) Pixel Size = (60.000000,-60.000000) Corner Coordinates: Upper Left ( 440720.000, 3751320.000) (117d38'28.21"W, 33d54'8.47"N) Lower Left ( 440720.000, 3720600.000) (117d38'20.79"W, 33d37'31.04"N) Upper Right ( 471440.000, 3751320.000) (117d18'32.07"W, 33d54'13.08"N) Lower Right ( 471440.000, 3720600.000) (117d18'28.50"W, 33d37'35.61"N) Center ( 456080.000, 3735960.000) (117d28'27.39"W, 33d45'52.46"N) Band 1 Block=512x16 Type=Byte, ColorInterp=Gray 4.2. gdal_translate不同格式间的栅格数据转换 用法: gdal_translate [--help-general] [-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/ CInt16/CInt32/CFloat32/CFloat64}] [-not_strict] [-of format] [-b band] [-outsize xsize[%] ysize[%]] [-scale [src_min src_max [dst_min dst_max]]] [-srcwin xoff yoff xsize ysize] [-projwin ulx uly lrx lry] [-a_srs srs_def] [-a_ullr ulx uly lrx lry] [-a_nodata value] [-gcp pixel line easting northing]* [-mo "META-TAG=VALUE"]* [-quiet] [-sds] [-co "NAME=VALUE"]* src_dataset dst_dataset gdal_translate 工具可以用来在不同格式间转换栅格数据。并且在处理过程中暗地里做一些诸如子栅格设置,重采样和象元值集体变化等勾当。 -ot type
-not_strict
-of format
-b band
-outsize xsize[%] ysize[%]
-scale [src_min src_max [dst_min dst_max] ]
-srcwin xoff yoff xsize ysize
-projwin ulx uly lrx lry
-a_srs srs_def
-a_ullr ulx uly lrx lry
-a_nodata value
-mo "META-TAG=VALUE"
-co "NAME=VALUE"
-gcp pixel line easting northing
-quiet
-sds
src_dataset
dst_dataset
例子: gdal_translate -of GTiff -co "TILED=YES" utm.tif utm_tiled.tif 4.3. gdaladdo建立或者重建图像金字塔。 用法: gdaladdo [-r {nearest,average,average_mp,average_magphase,mode}] filename levels gdaladdo工具可以用于为大多数支持的格式建立或者重建金字塔。可以使用下面几种重采样算法中的一种来进行缩小重采样操作。 -r {nearest, average,average_mp, average_magphase,mode}:
filename
levels:
Mode不是一个确切的实现。而且average_mp不适合使用。Average_magphase在一个mag/phase空间中平均联合数据(译者:这句涉及算法,我不懂这个是什么平均方法)。最临近和平均值法可以用于普通的影像数据。最临近法用一个最临近的邻居(简单象元)重采样,而平均值法计算所有非无意义值的象元的平均值来进行重采样。 选择一个缩放水平如2表示略缩图缩放程度是源图像每个维上分辨率的1/2。如果文件在所选缩放水平上已经存在略缩图,那么那个缩放程度将被重新计算并覆盖写入。 一些格式根本不支持金字塔。许多格式在文件以外以扩展名.ovr存储金字塔,TIFF就是如此。GeoTIFF格式直接把金字塔存储到原有的文件中。 在TIFF中创建金字塔可以通过用COMPRESS_OVERVIEW配置参数进行压缩。所有GeoTIFF支持的压缩方法,可以在这里获得(如: --config COMPRESS_OVERVIEW DEFLATE)。 大多数驱动也支持一个备用的略缩图格式(使用的是Erdas图像格式)。引发这个备用格式使用 USE_RRD=YES 来设置参数。这样做会把GDAL程序创建的金字塔放到一个辅助的.aux文件中使得可以该金字塔可以直接在Erdas中使用或者也可以在ArcGIS中使用。 例子: 在所提供的TIFF文件内部创建金字塔 gdaladdo -r average abc.tif 2 4 8 16 从一个ERDAS.IMG文件中创建一个外部的压缩的金字塔文件。 gdaladdo --config COMPRESS_OVERVIEW DEFLATE erdas.img 2 4 8 16 为给定JPEG文件创建一个Erdas Imagine 格式金字塔 gdaladdo --config USE_RRD YES airphoto.jpg 3 9 27 81 4.4. gdalwarp简单图像重投影和绑定工具。 用法 gdalwarp [-s_srs srs_def] [-t_srs srs_def] [-order n] [-et err_threshold] [-te xmin ymin xmax ymax] [-tr xres yres] [-ts width height] [-wo "NAME=VALUE"] [-ot Byte/Int16/...] [-wt Byte/Int16] [-srcnodata "value [value...]"] [-dstnodata "value [value...]"] [-rn] [-rb] [-rc] [-rcs] [-wm memory_in_mb] [-multi] [-q] [-of format] [-co "NAME=VALUE"]* srcfile* dstfile gdalwarp工具是一个图像镶嵌、重投影、和绑定的工具。程序可以重投影到任何支持的投影,而且如果图像("raw" with)控制信息也可以把GCPs和图像存储在一起。 -s_srs srs_def
-t_srs srs_def
-order n
-tps
-et err_threshold
-te xmin ymin xmax ymax
-tr xres yres
-ts width height
-wo "NAME=VALUE"
-ot type
-wt type
-rn
-rb
-rc
-rcs
-srcnodata value [value...]
-dstnodata value [value...]
-wm memory_in_mb
-multi
-q
-of format
-co "NAME=VALUE"
srcfile
dstfile
如果输出文件已经存在,则在已存在的文件中创建地图集。 例子: 一个带有用经纬度标记的边界控制点的8位GeoTiff格式的Spot影像可以通过下面的命令绑定到一个UTM投影上。 gdalwarp -t_srs '+proj=utm +zone=11 +datum=WGS84' raw_spot.tif utm11.tif 一个带有用经纬度标记的边界控制点的两个波段的HDF格式的ASTER影像可以通过下面的命令绑定到UTM投影上。 gdalwarp HDF4_SDS:ASTER_L1B:"pg-PR1B0000-2002031402_100_001":2 pg-PR1B0000-2002031402_100_001_2.tif |
|
来自: 昵称QAb6ICvc > 《python》