✍️ 周茂  •  📅 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 -Aprog[+mmethod+ccpt] -Goutfile [ -Fgd opts”] [ -M[+r[+w]]] [ -Rregion ] [ -V[level] ] [ -bibinary ] [ -dnodata[+ccol] ] [ -eregexp ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -qiflags ] [ -rreg ] [ --PAR=value ]

输入数据

infile

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

必选选项

-A
-Aprog[+mmethod+ccpt]

选择要运行的 GDAL 程序,prog 可选的值包括:infodemgridrasterizetranslatewarp。如果为 dem,则需追加选项 +mmethodmethod 可设置 为:hillshade,color-relief,slope,TRI,TPI 或 roughness;使用 color-relief 时 还需使用 +ccpt_name 指定 cpt。

-G

-Goutgrid[=ID][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]

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

可选选项

-F
-Fgdal opts

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

-M
-M[+r[+w]]

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

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

  • +w-M 相同

-R
-Rxmin/xmax/ymin/ymax[+r][+uunit]

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

-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]zgap[+n|p]

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

-h
-h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]

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

-i
-icols[+l][+sscale][+ooffset][,][,t[word]]

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

-qi
-qi[~]rows[+ccol][+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