返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

sphinterpolate

发布于 2023-08-10 21:46:56 字数 7069 浏览 0 评论 0 收藏 0

贡献者

周茂


官方文档

sphinterpolate

简介

sphinterpolate 读取 lon,lat,z 形式的文件,进行 Delaunay 三角剖分并作球面张力插值。通过

gmt sphinterpolate [ table ]

table

一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。

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

输出网格文件名,其中各子选项的含义见 网格文件

-Ixinc[+e|n][/yinc[+e|n]]

指定X和Y方向的网格间隔

  • xincyinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]

  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)

  • +n 表明 xincyinc 不是网格间隔,而是X和Y方向的节点数。此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  • yinc 设置为0,则表示其与 xinc 相同

  • 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化,此时依然可以使用 -I-r 覆盖相应的值

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)

指定数据范围

可选选项

-D[east]

用于删掉重复点 [默认不删除,即假定数据中不存在重复];通过追加 east 参数表示不对在此经度上的点做重复检查

-Qmode[options]

设置用于内插的计算张力因子的方法,用来保证局部形状特征或满足弧段约束 [默认没有张力]

  • p 分段线性插值,不施加张力

  • l 使用局部梯度估计进行平滑插值

  • g[N/M/U] 使用全局梯度估计进行平滑插值。N/M/UN 为使用可变张力时,迭代次数 [3]; M 确定全局梯度时使用的 Gauss-Seidel 迭代次数 [10]; U 最后一次迭代中梯度变化的阈值 [0.01]

  • s[E/U/N] 平滑。E/U/N [/0/0/3] 中 E 为典型数据值中预期方差; U 为数据偏差的加权平方和的上限。 N 为使用可变张力时的迭代次数。

-T

使用可变张力; 使用 -Qp 选项时,忽略该选项

-V[level] (more …)

设置 verbose 等级 [w]

-Z

在内插前,使用最大数据范围 1/(max-min) 进行数据缩放 [默认不缩放]

-bi[ncols][type][w][+l|b] (more …)

设置二进制输入数据的格式

-dinodata (more …)

将输入数据中值为 nodata 的列替换为 NaN

-e[~]“pattern” | -e[~]/regexp/[i] (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 …)

设置网格配置方式 [默认为网格线配准]

-s[cols][+a|+r] (more …)

设置 NaN 记录的处理方式

-:[i|o] (more …)

交换输入或输出中的第一和第二列

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

示例

采用分段线性插值由 mars370d.txt 生成全球 1 度分辨率网格

gmt begin mars
    gmt sphinterpolate @mars370d.txt -Rg -I1 -Qp -Gmars.nc
    gmt grdimage mars.nc -JH0/4.5i -B30g30
gmt end show

使用无张力的插值,由 testdata.txt 生成全球 1 度分辨率网格

gmt sphinterpolate testdata.txt -Rg -I1 -Gsolution.nc

注意事项

STRIPACK 算法需要输入中不包含重复点。 blockmean 等模块可以将多个接近的点合并成单个点。sphinterpolate

Renka, R, J., 1997, Algorithm 772: STRIPACK: Delaunay Triangulation and Voronoi Diagram on the Surface of a Sphere, AMC Trans. Math. Software, 23(3), 416-434.

Renka, R, J,, 1997, Algorithm 773: SSRFPACK: Interpolation of scattered data on the Surface of a Sphere with a surface under tension, AMC Trans. Math. Software, 23(3), 435-442.

相关模块

greenspline, nearneighbor, sphdistance, sphtriangulate, surface, triangiulate

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文