gdalwarp

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

图像重塑和扭曲工具

~#~# 概要

```

gdalwarp [~-~-help-general] [~-~-formats]

[-s_srs srs_def] [-t_srs srs_def] [-to "NAME=VALUE"]* [-novshiftgrid]

[-order n | -tps | -rpc | -geoloc] [-et err_threshold]

[-refine_gcps tolerance [minimum_gcps]]

[-te xmin ymin xmax ymax] [-te_srs srs_def]

[-tr xres yres] [-tap] [-ts width height]

[-ovr level|AUTO|AUTO-n|NONE] [-wo "NAME=VALUE"] [-ot Byte/Int16/...]

[-wt Byte/Int16]

[-srcnodata "value [value...]"] [-dstnodata "value [value...]"]

[-srcalpha|-nosrcalpha] [-dstalpha]

[-r resampling_method] [-wm memory_in_mb] [-multi] [-q]

[-cutline datasource] [-cl layer] [-cwhere expression]

[-csql statement] [-cblend dist_in_pixels] [-crop_to_cutline]

[-of format] [-co "NAME=VALUE"]* [-overwrite]

[-nomd] [-cvmd meta_conflict_value] [-setci] [-oo NAME=VALUE]*

[-doo NAME=VALUE]*

srcfile* dstfile

```

~#~# 描述

gdalwarp实用程序是图像拼接,重新布置和扭曲实用程序。 该程序可以重新投影到任何支持的投影,并且如果图像是具有控制信息的“原始”,也可以应用与图像一起存储的GCP。

~*~*-s_srs srs def:~*~*

源空间参考集。 可以传递的坐标系由OGRSpatialReference.SetFromUserInput()调用支持,其中包括EPSG PCS和GCSes(即EPSG:4296),PROJ.4声明(如上))或包含.prj文件的名称 众所周知的文字 从GDAL 2.2开始,如果SRS具有指向PROJ.4地理格栅的显式垂直基准,并且输入数据集是单频段数据集,则垂直校正将应用于数据集的值。

~*~*-t_srs srs_def:~*~*

目标空间参考集。 可以传递的坐标系由OGRSpatialReference.SetFromUserInput()调用支持,其中包括EPSG PCS和GCSes(即EPSG:4296),PROJ.4声明(如上))或包含.prj文件的名称 众所周知的文字 从GDAL 2.2开始,如果SRS具有指向PROJ.4地理格栅的显式垂直基准,并且输入数据集是单频段数据集,则垂直校正将应用于数据集的值。

~*~*-to NAME=VALUE:~*~*

设置一个适合传递给GDALCreateGenImgProjTransformer2()的变换选项。

~*~*-novshiftgrid~*~*

(GDAL> = 2.2)当源或目标SRS中的一个具有显式垂直基准时,并且输入数据集是单频带数据集时,禁用垂直基准移动网格的使用。

~*~*-order n:~*~*

用于翘曲的多项式阶数(1〜3)。 默认值是根据GCP的数量选择多项式顺序。

~*~*-tps:~*~*

基于可用的GCP强制使用薄板样条变压器。

~*~*-rpc:~*~*

强制使用RPC。

~*~*-geoloc:~*~*

强制使用地理位置数组。

~*~*-et err_threshold:~*~*

变换近似的误差阈值(以像素为单位 - 默认为0.125,除非从GDAL 2.1开始,指定RPC_DEM翘曲选项,在这种情况下,将使用精确的变换器,即err_threshold = 0)。

~*~*-refine_gcps tolerance minimum_gcps:~*~*

(GDAL> = 1.9.0)通过自动消除异常值来优化GCP。 离群值将被消除,直到minimum_gcps为止,或者没有异常值被检测到。 当GCP被消除时,允许公差进行调整。 不是GCP细化只适用于多项式插值。 如果没有投影可用,公差为像素单位,否则为SRS单位。 如果没有提供minimum_gcps,则使用根据多项式模型的最小GCP。

~*~*-te xmin ymin xmax ymax:~*~*

设置要创建的输出文件的地理参考范围(默认情况下在目标SRS中,或在使用-te_srs指定的SRS中)

~*~*-te_srs srs_def:~*~*

(GDAL> = 2.0)指定用于解释用-te给出的坐标的SRS。 srs_def可以是通常的GDAL / OGR格式,完整的WKT,PROJ.4,EPSG:n或包含WKT的文件。 这不能与作为输出数据集的目标SRS的-t_srs混淆。 -te_srs是一个方便的例子。 当知道大地测量长/纵坐标SRS中的输出坐标时,仍然希望在投影坐标系中得到结果。

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

设置输出文件分辨率(在目标地理参考单位)

~*~*-tap:~*~*

(GDAL> = 1.8.0)(目标对齐像素)将输出文件的范围的坐标与-tr的值对齐,以使对齐的范围包含最小范围。

~*~*-ts width height:~*~*

以像素和行设置输出文件大小。 如果width或height设置为0,则将从计算出的分辨率中猜出另一个维度。 请注意,-ts不能与-tr一起使用

~*~*-ovr level|AUTO|AUTO-n|NONE>:~*~*

(GDAL>

2.0)指定必须使用哪个概要级别的源文件。 默认选项AUTO将选择其分辨率与目标分辨率最接近的概览级别。 指定整数值(基于0,即0

第一概览级别)来选择特定级别。 指定AUTO-n,其中n是大于或等于1的整数,以选择AUTO 1以下的概览级别。 或者指定NONE强制使用基本分辨率(如果使用低质量重采样方法生成概览,并且使用较高质量的重采样方法进行翘曲,则可能很有用)。

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

设置翘曲选项。 GDALWarpOptions :: papszWarpOptions docs显示所有选项。 可以列出多个-wo选项。

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

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

~*~*-wt type:~*~*

工作像素数据类型。 源图像和目标图像缓冲区中的像素数据类型。

~*~*-r resampling_method:~*~*

重采样方法使用。 可用的方法是:

~> ~*~*near~*~*:

~> 最近邻重采样(默认,最快算法,最差插值质量)。

~> ~*~*bilinear~*~*:

~> 双线性重采样。

~> ~*~*cubic~*~*:

~> 立方重采样。

~> ~*~*cubicspline~*~*:

~> 三次样条重采样。

~> ~*~*lanczos:~*~*

~> Lanczos开启了sinc重采样。

~> ~*~*average:~*~*

~> 平均重采样,计算所有非NODATA贡献像素的平均值。 (GDAL> = 1.10.0)

~> ~*~*mode:~*~*

~> 模式重采样,选择所有采样点最常出现的值。 (GDAL> = 1.10.0)

~> ~*~*max:~*~*

~> 最大重采样,从所有非NODATA贡献像素中选择最大值。 (GDAL> = 2.0.0)

~> ~*~*min:~*~*

~> 最小重采样,从所有非NODATA贡献像素中选择最小值。 (GDAL> = 2.0.0)

~> ~*~*med:~*~*

~> 中值重采样,选择所有非NODATA贡献像素的中值。 (GDAL> = 2.0.0)

~> ~*~*q1:~*~*

~> 第一个四分位数重采样,选择所有非NODATA贡献像素的第一个四分位数值。 (GDAL> = 2.0.0)

~> ~*~*q3:~*~*

~> 第三个四分位数重采样,选择所有非NODATA贡献像素的第三个四分位数值。 (GDAL> = 2.0.0)

~*~*-srcnodata value [value...]:~*~*

设置输入频带的nodata屏蔽值(可为每个频段提供不同的值)。 如果提供了多个值,则应引用所有值作为单个操作系统参数将它们保持在一起。 屏蔽值不会用于插值。 使用值None来忽略源数据集上的内部nodata设置。

~*~*-dstnodata value [value...]:~*~*

设置输出频带的节点值(每个频带可以提供不同的值)。 如果提供了多个值,则应引用所有值作为单个操作系统参数将它们保持在一起。 新文件将被初始化为该值,如果可能,nodata值将被记录在输出文件中。 使用无值来确保未定义节点数(GDAL>

1.11)。 如果不使用此参数,则nodata值将从源数据集(GDAL>

1.11)中复制。

~*~*-srcalpha:~*~*

强制将源图像的最后一个频带视为源alpha带。

~*~*-nosrcalpha:~*~*

防止源图像的alpha带被认为是这样的(它将作为一个常规的波段变形)(GDAL> = 2.2)。

~*~*-dstalpha:~*~*

创建一个输出alpha带,以识别nodata(未设置/透明)像素。

~*~*-wm memory_in_mb:~*~*

设置允许warp API用于缓存的内存量(以兆字节为单位)。

~*~*-multi:~*~*

使用多线程翘曲实现。 将使用两个线程来处理图像块并同时执行输入/输出操作。 请注意,计算本身不是多线程的。 要做到这一点,可以使用 - NUM_THREADS = val / ALL_CPUS选项,可以与-multi

~*~*-q:~*~*

安静。

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

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

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

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

~*~*-cutline datasource:~*~*

启用使用名称OGR支持数据源的混合切割线。

~*~*-cl layername:~*~*

从cutline数据源中选择命名图层。

~*~*-cwhere expression:~*~*

基于属性查询限制所需的切割特征。

~*~*-csql query:~*~*

使用SQL查询而不是使用-cl的图层选择剪切特征。

~*~*-cblend distance:~*~*

设置混合距离用于混合切割线(以像素为单位)。

~*~*-crop_to_cutline:~*~*

(GDAL> = 1.8.0)将目标数据集的范围裁剪到切割线的程度。

~*~*-overwrite:~*~*

(GDAL> = 1.8.0)覆盖目标数据集(如果已存在)。

~*~*-nomd:~*~*

(GDAL> = 1.10.0)不要复制元数据。 没有这个选项,数据集和带元数据(以及一些带信息)将从第一个源数据集复制。 源数据集之间不同的项目将设置为*(请参见-cvmd选项)。

~*~*-cvmd meta_conflict_value:~*~*

(GDAL> = 1.10.0)用于设置源数据集之间冲突的元数据项的值(默认为“*”)。 使用“”删除冲突的项目。

~*~*-setci:~*~*

(GDAL> = 1.10.0)从源数据集中设置目标数据集的条带的颜色解释。

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

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

~*~*-doo NAME=VALUE:~*~*

(从GDAL 2.1开始)输出数据集打开选项(格式具体)

~*~*srcfile:~*~*

源文件名。

~*~*dstfile:~*~*

目标文件名。

如果输出文件已经存在,则支持镶嵌到现有的输出文件。 现有文件的空间范围不会被修改以适应新数据,因此在这种情况下可能需要删除它,或使用-overwrite选项。

多边形切割线可以用作掩码来限制可能被更新的目的地文件的区域,包括混合。 如果包含切割特征的OGR层没有明确的SRS,那么剪切特征必须位于目标文件的SRS中。 当写入尚未存在的目标数据集时,其范围将是原始栅格之一,除非指定了-te或-crop_to_cutline。

当进行垂直移位调整时,只要缺少垂直移位值(而不是使用0),变压器选项 - 到ERROR_ON_MISSING_VERT_SHIFT = YES就可以用于出错。