gdal_translate

创建日期:2024-06-21
更新日期:2025-01-19

转换不同格式之间的栅格数据。

~#~# 概要

```

gdal_translate [~-~-help-general]

[-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/

CInt16/CInt32/CFloat32/CFloat64}] [-strict]

[-of format] [-b band]* [-mask band] [-expand {gray|rgb|rgba}]

[-outsize xsize[%]|0 ysize[%]|0] [-tr xres yres]

[-r {nearest,bilinear,cubic,cubicspline,lanczos,average,mode}]

[-unscale] [-scale[_bn] [src_min src_max [dst_min dst_max]]]*

[-exponent[_bn] exp_val]*

[-srcwin xoff yoff xsize ysize] [-epo] [-eco]

[-projwin ulx uly lrx lry] [-projwin_srs srs_def]

[-a_srs srs_def] [-a_ullr ulx uly lrx lry] [-a_nodata value]

[-gcp pixel line easting northing [elevation]]*

[-mo "META-TAG=VALUE"]* [-q] [-sds]

[-co "NAME=VALUE"]* [-stats] [-norat]

[-oo NAME=VALUE]*

src_dataset dst_dataset

```

~#~# 描述

gdal_translate实用程序可用于转换不同格式之间的栅格数据,可能会执行某些操作,例如子进程,重采样和重新调整进程中的像素。

~*~*-ot: type~*~*

输出频带为指示数据类型。

~*~*-strict:~*~*

在转换为输出格式时,不要原谅不匹配和丢失的数据。

~*~*-of format:~*~*

选择输出格式。 默认值为GeoTIFF(GTiff)。 使用短格式名称。

~*~*-b band:~*~*

选择输入带段进行输出。 频带编号为1.多个-b开关可用于选择一组输入频带以写入输出文件或重新排列频带。 从GDAL 1.8.0开始,频段也可以设置为“mask,1”(或“mask”),表示输入数据集的第一个频带的屏蔽带。

~*~*-mask band:~*~*

(GDAL> = 1.8.0)选择一个输入带段来创建输出数据集掩码带。 频带编号为1.频带可以设置为“无”,以避免复制输入数据集的全局掩码(如果存在)。 否则,它将被默认复制(“auto”),除非掩码是Alpha通道,或者明确地将其用作输出数据集(“-b mask”)的常规带。 频带也可以设置为“mask,1”(或“mask”)来表示输入数据集的第1个频带的屏蔽带。

~*~*-expand gray|rgb|rgba:~*~*

(从GDAL 1.6.0)使用3(RGB)或4(RGBA)频带将具有1个带的颜色表作为数据集公开数据集。 对于不支持颜色索引数据集的输出驱动程序(如JPEG,JPEG2000,MrSID,ECW)有用。 “灰色”值(来自GDAL 1.7.0)可以使用仅包含灰色索引数据集的灰度级别的颜色表展开数据集。

~*~*-outsize xsize[%]|0 ysize[%]|0:~*~*

设置输出文件的大小。 Outsize是像素和线,除非附加'%',在这种情况下,它是输入图像大小的一小部分。 从GDAL 2.0开始,如果2个值中的一个设置为0,则其值将从另一个值确定,同时保持源数据集的宽高比。

~*~*-tr xres yres :~*~*

(starting with GDAL 2.0) set target resolution. The values must be expressed in georeferenced units. Both must be positive values. This is mutually exclusive with -outsize and -a_ullr.

~*~*-r {nearest (default),bilinear,cubic,cubicspline,lanczos,average,mode}:~*~*

(GDAL> = 2.0)选择重采样算法。

~*~*-scale [src_min src_max [dst_min dst_max]]:~*~*

将输入像素值从src_min到src_max范围重新调整到范围dst_min到dst_max。 如果省略,输出范围为0到255.如果省略,则从源数据自动计算输入范围。 在GDAL 1.11之前,它只能被指定一次,在这种情况下,它适用于输出数据集的所有频带。 从GDAL 1.11开始,-scale可以重复多次(如果指定一次,它也适用于输出数据集的所有频带),以便指定每个频带参数。 也可以使用“-scale_bn”语法,其中bn是频带号(例如,输出数据集的第二频带的“-scale_2”)来指定一个或多个特定频带的参数。

~*~*-exponent exp_val:~*~*

(从GDAL 1.11)用幂函数应用非线性缩放。 exp_val是幂函数的指数(必须为正)。 此选项必须与-scale选项一起使用。 如果仅指定一次,则-exponent适用于输出图像的所有频带。 它可以重复几次,以便指定每个频带参数。 也可以使用“-exponent_bn”语法,其中bn是带数(例如,输出数据集的第二个带的“-exponent_2”)来指定一个或多个特定频带的参数。

~*~*-unscale:~*~*

应用波段的缩放/偏移元数据将缩放值转换为非标度值。 还经常需要使用-ot开关重置输出数据类型。

~*~*-srcwin xoff yoff xsize ysize:~*~*

从源图像中选择一个基于像素/线位置进行复制的子窗口。

~*~*-projwin ulx uly lrx lry:~*~*

从源图像中选择要复制的子窗口(如-srcwin),但是在地理参考坐标中给出的角落(默认情况下在数据集的SRS中表示,可以使用-projwin_srs更改)。 注意:在GDAL 2.1.0和2.1.1中,使用与像素不对齐的坐标的-projwin将导致子像素移位。 这在以后的版本中已被更正。 当选择非最近邻重采样时,从GDAL 2.1.0开始,使用子像素精度来获得更好的结果。

~*~*-projwin_srs srs_def:~*~*

(GDAL> = 2.0)指定用于解释使用-projwin给出的坐标的SRS。 srs_def可以是通常的GDAL / OGR格式,完整的WKT,PROJ.4,EPSG:n或包含WKT的文件。 请注意,这不会导致数据集重新投射到指定的SRS。

~*~*-epo: (Error when Partially Outside)~*~*

(GDAL> = 1.10)如果设置了此选项,则部分超出源栅格范围的-srcwin或-projwin值将被视为错误。 从GDAL 1.10开始的默认行为是接受这些请求,当它们被认为是之前的错误。

~*~*-eco: (Error when Completely Outside)~*~*

(GDAL> = 1.10)与-epo相同,只是当请求完全超出源光栅范围时出错的标准。

~*~*-a_srs srs_def:~*~*

覆盖输出文件的投影。 srs_def可以是通常的GDAL / OGR格式,完整的WKT,PROJ.4,EPSG:n或包含WKT的文件。

~*~*-a_ullr ulx uly lrx lry:~*~*

分配/覆盖输出文件的地理参考范围。 这会将地理参考的边界分配给输出文件,忽略从源文件导出的内容。 所以这并不会导致对指定SRS的重新投射。

~*~*-a_nodata value:~*~*

将指定的节点值分配给输出频带。 从GDAL 1.8.0开始,可以设置为none,以避免将nodata值设置为输出文件(如果存在源文件)。 请注意,如果输入数据集具有节点值,则不会将与nodata值相等的像素值更改为使用此选项指定的值。

~*~*-mo "META-TAG=VALUE":~*~*

如果可能,传递元数据键和值以在输出数据集上设置。

~*~*-co "NAME=VALUE":~*~*

将创建选项传递给输出格式驱动程序。 可能会列出多个-co选项。 有关每种格式的合法创建选项,请参阅格式化的文档。

~*~*-gcp pixel line easting northing elevation:~*~*

将指示的地面控制点添加到输出数据集。 可以多次提供该选项以提供一组GCP。

~*~*-q:~*~*

抑制进度监视器和其他无错误输出。

~*~*-sds:~*~*

将此文件的所有子数据复制到各个输出文件。 使用具有数据分类的HDF或OGDI格式。 GDAL 1.11中的输出文件命名方案已更改(例如,ofile_1.tif,ofile_2.tif)。

~*~*-stats:~*~*

(GDAL> = 1.8.0)强制(重)计算统计。

~*~*-norat~*~*

(GDAL> = 1.11)不要将源RAT复制到目标数据集中。

~*~*-oo NAME=VALUE:~*~*

(从GDAL 2.0开始)数据集打开选项(特定格式)

~*~*src_dataset:~*~*

源数据集名称。 它可以是文件名,数据源的URL或多数据集文件的子数据库名称。

~*~*dst_dataset:~*~*

目标文件名。

~#~# 例子

```

gdal_translate -of GTiff -co "TILED=YES" utm.tif utm_tiled.tif

```

从GDAL 1.8.0开始,从RGBA数据集创建一个具有内部掩码的JPEG压缩TIFF:

```

gdal_translate rgba.tif withmask.tif -b 1 -b 2 -b 3 -mask 4 -co COMPRESS=JPEG

-co PHOTOMETRIC=YCBCR ~-~-config GDAL_TIFF_INTERNAL_MASK YES

```

从GDAL 1.8.0开始,从具有掩码的RGB数据集创建RGBA数据集:

```

gdal_translate withmask.tif rgba.tif -b 1 -b 2 -b 3 -b mask

```