gdal是一个库,所以它附带的程序本身是很容易被忽略的。可是这些程序又是极其有用的。真的,不骗你!

<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[maxdepth]"] (see also the log)>>

下面是主站中对gdal的附带工具程序的介绍,啥也不说了,翻译吧--

GDAL附带工具

GDAL创建了下面的工具程序

创建新的文件

存取一个已存在的文件来读取是一件很容易的事情,只要在命令行中指定文件或者数据集的名字。但是,创建一个文件是一件非常复杂的事情。你可能需要指定创建格式,各种创建参数,以及指定一个坐标系统。在不同的GDAL工具中有许多参数都是差不多的,这里列举出来。

-of format

-co NAME=VALUE

-a_srs SRS

总的命令行参数

所有的GDAL命令行工具程序都支持下面的“总的”命令行参数。

--version

--formats

--format format

--optfile file

--config key value

--debug value

--help-general

各工具程序详解

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


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


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


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


lilin/gdal-utils (last edited 2009-12-25 07:16:33 by localhost)