grdgdal
- 贡献者:
- 最近更新日期:
2022-07-02
- 官方文档:
- 简介:
从 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 [ -F“gd opts”] [ -M[+r[+w]]] [ -Rregion ] [ -V[level] ] [ -bibinary ] [ -dnodata[+ccol] ] [ -eregexp ] [ -ggaps ] [ -hi ] [ -iflags ] [ -qiflags ] [ -rreg ] [ --PAR=value ]
必选选项
- infile
ASCII,二进制表数据,OGR 数据或 2—D 网格文件名。具体 -A 使用的程序有关
- -Aprog[+mmethod+ccpt]
选择要运行的 GDAL 程序,prog 可选的值包括:info,dem,grid,rasterize, translate,warp。如果为 dem,则需追加选项 +mmethod,method 可设置为:hillshade,color-relief,slope,TRI,TPI 或 roughness;使用 color-relief 时还需使用 +ccpt_name 指定 cpt。
-Goutgrid[=ID][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]
输出网格文件名。通过追加 =ID 可指定 网格格式。对网格追加子选项可进行额外设置:
+d 将网格除以一个数 divisor [默认为 1]
+n 将网格中的 invalid 替换为 NaN
+o 将网格中的值进行一定的偏移,即加一个数 offset,或使用 a 自动对值进行调整以保证整数网格的精度 [默认为 0]
+s 将网格中的值缩放,即乘以 scale,或使用 a 自动对网格缩放以保证整数网格的精度 [默认为 1]
注 :offset 操作位于 scale 之前;+sa 将会同时设置 +oa。如果需使用 GDAL 指定网格格式,则 ID 应设置为 gd,并指定 :driver 和可选的数据类型 dataType,以及 +coptions 选项传递给 GDAL 的 -co 选项。
可选选项
- -F“gdal opts”
传递给 -A 指定的程序的选项列表,用双引号扩起来
- -Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
指定数据范围
- -V[level] (more …)
设置 verbose 等级 [w]
- -bi[ncols][type][w][+l|b] (more …)
设置二进制输入数据的格式
- -d[i|o]nodata (more …)
将输入数据中等于 nodata 的记录替换为 NaN,或将输出数据中值为 NaN 的记录替换为 nodata
- -e[~]“pattern” | -e[~]/regexp/[i] (more …)
筛选或剔除匹配指定模式的数据记录
- -g[a]x|y|d|X|Y|D|[col]zgap[+n|p] (more …)
确定数据或线段的间断
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)
跳过或生成指定数目的头段记录
- -icols[+l][+sscale][+ooffset][,…][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
- -qi[~]rows[+ccol][+a|f|s] (more …)
筛选输入的行或数据范围
- -r[g|p] (more …)
设置网格配置方式 [默认为网格线配准]
- -:[i|o] (more …)
交换输入或输出中的第一和第二列
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(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