blockmean
- 官方文档:
- 简介:
使用均值估计对表数据做区块平均
blockmean 读取 xyz 形式的表数据(或可在最后加一列权重), 并对 -R 和 -I 定义
的每个区块输出一个平均的位置和值到标准输出。使用 -G 可直接输出为网格文件。在进行
surface 模块时,为避免短波信号混淆,应提前使用 blockmean ,blockmedian
, 或 blockmode 。这些操作在用来抽稀数据或者平均数据时很有用。用户可通过设置
FORMAT_FLOAT_OUT 参数设置输出数据有效数字以避免精度损失。
语法
gmt blockmean
[ table ]
-Iincrement
-Rregion
[ -Afields ]
[ -C ]
[ -E[+p|P] ]
[ -G[grdfile] ]
[ -S[m|n|s|w] ]
[ -V[level] ]
[ -W[i|o][+s|w] ]
[ -aflags ]
[ -bibinary ]
[ -bobinary ]
[ -dnodata[+ccol] ]
[ -eregexp ]
[ -fflags ]
[ -hheaders ]
[ -iflags ]
[ -oflags ]
[ -qflags ]
[ -rreg ]
[ -wflags ]
[ -:[i|o] ]
[ --PAR=value ]
输入数据
- table
一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。
必须选项
- -I
- -Ixinc[+e|n][/yinc[+e|n]]
指定X和Y方向的网格间隔
xinc 和 yinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]
+e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调 网格间隔以适应给定的数据范围)
+n 表明 xinc 和 yinc 不是网格间隔,而是X和Y方向的节点数。 此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。
注意:
若 yinc 设置为0,则表示其与 xinc 相同
若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化, 此时依然可以使用 -I 和 -r 覆盖相应的值
- -R
- -Rxmin/xmax/ymin/ymax[+r][+uunit]
指定数据范围。 (参数详细介绍)
可选选项
- -A
- -C
- -C
使用区块的中心作为输出位置,默认使用平均位置
- -E
- -E[+p|P]
输出额外的报告,见
-A。输出顺序为 x,y,z,s,l,h[,w] 。 使用-W可设置输出权重。使用 -E+p|P 时,则表明输入数据中包含不确定度, s 将变为加权后的值(+p) 或者(+P)z 的平均值的传播误差。
- -G
- -Ggrdfile
将结果输出为网格;使用该选项时,将不会输出到标准输出。如果输出网格中的 字段超过一个(
-A),则网格名必须包含%s以便将字段名写入到网格 文件名中来区别不同的输出网格。注 : 使用该选项时不能使用-C选项。
- -S
- -S[m|n|s|w]
n 报告落入每个区块中的输入点的个数
s 报告落入每个区块中的输入点的 z 值的和
w 报告落入每个区块中的输入点的权重的和
m 报告落入每个区块中的输入点的均值 [默认]
- -W
- -W[i|o][+s|w]
计算加权结果。加权结果的输入和输出都为 4 列,输入数据的第 4 列为权重,输出 数据的第四列为权重的和。使用 i 和 u 分别表示用于加权输入和加权输出 [默认不使用不加权的输入和输出]。如果数据权重为不确定度,即一倍中误差,则可以 追加 +s ,则在程序内部,权重定义为 weight = 1/sigma^2 。否则,直接使用 第四列作为权重。
- -V
- -V[level]
设置 verbose 等级 [w]。 (参数详细介绍)
- -a
- -a[[col=]name][,…]
控制输入或输出为 OGR/GMT 格式时对非空间元数据的处理方式。 (参数详细介绍)
- -bi
- -bi[ncols][type][w][+l|b]
控制二进制文件的输入格式。 (参数详细介绍)
- -bo
- -bo[ncols][type][w][+l|b]
控制二进制文件的输出格式。 (参数详细介绍)
- -d
- -d[i|o]nodata
将某些特定值当作 NaN。 (参数详细介绍)
- -e
- -e[~]“pattern” | -e[~]/regexp/[i]
筛选或剔除匹配指定模式的数据记录。 (参数详细介绍)
- -f
- -f[i|o]colinfo
显式指定当前输入或输出数据中每一列的数据类型。 (参数详细介绍)
- -h
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]
在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)
- -i
- -icols[+l][+sscale][+ooffset][,…][,t[word]]
对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)
- -o
- -ocols[,…][,t[word]]
对输出的数据进行列选择以及简单的代数运算。 (参数详细介绍)
- -q
- -q[i|o][~]rows[+ccol][+a|f|s]
对输入或输出的行进行筛选,该选项在一定程度上可以代替 gawk 的某些功能。 (参数详细介绍)
- -r
- -r[g|p]
设置网格配置方式 [默认为网格线配准]。 (参数详细介绍)
- -w
- -wy|a|w|d|h|m|s|cperiod[/phase][+ccol]
将输入坐标转换为循环坐标。 (参数详细介绍)
- -:
- -:[i|o]
交换输入或输出数据的前两列。 (参数详细介绍)
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数
ASCII 格式精度
ASCII 格式输出数据通过 gmt.conf 配置文件控制。控制经纬度格式的参数为 FORMAT_GEO_OUT ;控制绝对时间的的参数包括 FORMAT_DATE_OUT 和 FORMAT_CLOCK_OUT ;普通浮点数通过参数 FORMAT_FLOAT_OUT 控制。上述格式控制可能会导致精度损失,这会在下游计算中导致一些问题。 如果用户需要保证数据精度,则应考虑将数据写为二进制文件,或者使用 FORMAT_FLOAT_OUT 指定更多的有效数字。
示例
从 ship_15.txt 文件中获取 5 分区块的平均值
gmt blockmean @ship_15.txt -R245/255/20/30 -I5m > ship_5x5.txt
确定每个 5 分的区块中数据点的个数
gmt blockmean @ship_15.txt -R245/255/20/30 -I5m -Sn > ship_5x5_count.txt
确定 10 分的区块中数据的均值和标准差,并将结果保存到两个文件中
gmt blockmean @ship_15.txt -I10m -R-115/-105/20/30 -E -Gfield_%s.nc -Azs
相关模块
blockmedian, blockmode, greenspline, nearneighbor, sphtriangulate, surface, triangulate