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

```

简介

一个来自三线小城市的程序员开发经验总结。