✍️ 周茂 • 📅 2026-01-01

# grdgdal

官方文档:

  grdgdal

简介:

  从 gmt 执行 GDAL 光栅相关的程序

grdgdal 封装了一部分 GDAL 程序（当前包含 gdalinfo，gdaldem，gdal_grid，gdal_translate， gdal_rasterize 以及 gdalwarp），因此可以在该模块中实现上述命令的功能。考虑到 gmt 和 GDAL 的语法差异较大，本模块仅提供了较少的 GMT 风格的选项，而是使用 `-F` 选项将 GDAL 风格的语法 传递给 GDAL。因此，要使用该模块的用户可能需要查阅 GDAL 文档来了解其用法。

本模块在输出网格时，提供了一个选项来设置使用 GMT 或 GDAL 来写网格文件。两种方式各有优缺点。 使用 GMT 写网格时会将数据从 GDAL 拷贝到 GMT，因此可能会稍慢，但网格文件可以直接被 Matlab， Julia，Python 等使用。使用 GDAL 写网格可能会稍为快一些，但网格可能不能直接被上述编程语言 使用。

## 语法

gmt grdgdal infile `-A` prog[+m method+c cpt] `-G` outfile [ `-F`"gd opts"] [ `-M`[+r[+w]]] [ `-R` region ] [ `-V`[level] ] [ `-bi` binary ] [ `-d` nodata[+c col] ] [ `-e` regexp ] [ `-g` gaps ] [ `-h` headers ] [ `-i` flags ] [ `-qi` flags ] [ `-r` reg ] [ --PAR=value ]

## 输入数据

infile

  ASCII，二进制表数据，OGR 数据或 2—D 网格文件名。具体与 `-A` 使用的程序有关。

## 必选选项

-A

-A prog[+m method+c cpt]

  选择要运行的 GDAL 程序，prog 可选的值包括：info，dem，grid，rasterize， translate，warp。如果为 dem，则需追加选项 +m method，method 可设置 为：hillshade，color-relief，slope，TRI，TPI 或 roughness；使用 color-relief 时 还需使用 +c cpt_name 指定 cpt。

-G

-G outgrid[=ID][+d divisor][+n invalid][+o offset|a][+s scale|a][:driver[dataType][+c options]]

> 输出网格文件名。通过追加 =ID 可指定 网格格式。 参数详细介绍请参考 写 netCDF 文件。

## 可选选项

-F

-F"gdal opts"

  传递给 `-A` 指定的程序的选项列表，用双引号扩起来

-M

-M[+r[+w]]

  `-M` 后不加任何选项时，使用 GDAL 读和写数据。

  - +r 使用 GDAL 读数据，使用 GMT 写数据，当读 OGR 格式数据时，该选项为必须

  - +w 与 `-M` 相同

-R

-R xmin/xmax/ymin/ymax[+r][+u unit]

  指定数据范围。 (参数详细介绍)

-V

-V[level]

  设置 verbose 等级 [w]。 (参数详细介绍)

-bi

-bi[ncols][type][w][+l|b]

  控制二进制文件的输入格式。 (参数详细介绍)

-d

-d[i|o]nodata

  将某些特定值当作 NaN。 (参数详细介绍)

-e

-e[~]"pattern" | -e[~]/regexp/[i]

  筛选或剔除匹配指定模式的数据记录。 (参数详细介绍)

-g

-g[a]x|y|d|X|Y|D|[col]z gap[+n|p]

  确定数据或线段的间断。 (参数详细介绍)

-h

-h[i|o][n][+c][+d][+m segheader][+r remark][+t title]

  在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)

-i

-i cols[+l][+s scale][+o offset][,...][,t[word]]

  对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)

-qi

-qi[~]rows[+c col][+a|f|s]

  筛选输入的行或数据范围。 (参数详细介绍)

-r

-r[g|p]

  设置网格配置方式 [默认为网格线配准]。 (参数详细介绍)

-:

-:[i|o]

  交换输入或输出数据的前两列。 (参数详细介绍)

-^ 或 -

  显示简短的帮助信息，包括模块简介和基本语法信息（Windows下只能使用 -）

-+ 或 +

  显示帮助信息，包括模块简介、基本语法以及模块特有选项的说明

-? 或无参数

  显示完整的帮助信息，包括模块简介、基本语法以及所有选项的说明

--PAR=value

  临时修改GMT参数的值，可重复多次使用。参数列表见 配置参数

## 示例

将 VRT 文件使用最邻近算法网格化，网格分辨率为 0.05，结果保存为 NetCDF 格式

    gmt grdgdal lixo.vrt -Agrid -R0/10/0/10 -Gjunk.nc -I0.05 -F"-a nearest" -M+r

与上述功能相同，但使用 CSV 文件并使用 GDAL 保存网格

    gmt grdgdal lixo.csv -Agrid -R0/10/0/10 -Gjunk.nc -I0.05 -F"-a nearest" -M+w

## 相关模块

grdconvert