✍️ 何星辰 • 📅 2025-10-20

# polespotter

官方文档:

  polespotter

简介:

  找到给定断裂带和深渊山脉的阶段极点

polespotter 读取线段（深海丘褶皱线和/或断裂带线）并执行三种类型的扫描之一。 在 spot 模式下，它为沿这些线的每个单独线段计算大圆。 断裂带的平分大圆与深海丘的延伸大圆预计在潜在的旋转极点处相交。 假设深海丘线相对于旋转极点为经线，而断裂带为纬线。 可以通过网格计算并返回线密度，大圆线可以通过标准输出返回， 而大圆的交点可以保存到文件中。在 line 模式下， 它将确定哪些线段与给定的试验极点相容，而在 pole 模式下，它将计算由网格定义的所有极点的卡方误差。

## 语法

gmt polespotter [ `-A` abyssalhills ] [ `-D` spacing ] [ `-E` a|f sigma ] [ `-F` fracturezones ] [ `-G` outgrid ] [ `-I` increment ] [ `-N` ] [ `-R` region ] [ `-S` l|p|s[modifiers] ] [ `-V`[level] ] [ `-bi` binary ] [ `-di` nodata[+c col] ] [ `-e` regexp ] [ `-h` headers ] [ `-i` flags ] [ `-o` flags ] [ `-r` reg ] [ `-:`[i|o] ] [ --PAR=value ]

## 可选选项

-A

-A abyssalhills

  含有多个深海丘线段的文件。这些线被认为反映了海底形成时指向旋转极点的大圆方向。

-D

-D step

  设置所有生成的大圆的线增量（单位：km）[默认 5]。实际间距将被调整为沿完整圆周的整数步数。

-E

-E a|f sigma

  为 abyssal hills 或 fracture zones 的方向提供不同的 1σ 角度不确定性（以度为单位）。 使用 -Ea sigma 设置前者 [1]，使用 -Ef sigma 设置后者 [1]。 这些 sigma 值随后用于形成权重 = 1/sigma。

-F

-F fracturezones

  含有多个断裂带线段的文件。这些线被认为反映了海底形成时围绕旋转极点的小圆。

-G

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

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

-I

-I xinc[+e|n][/yinc[+e|n]]

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

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

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

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

  注意：

  - 若 yinc 设置为0，则表示其与 xinc 相同

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

-N

-N

  归一化网格，使最大值等于 1 [默认不归一化]。

-R

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

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

-S

-Sl|p|s[modifiers]

  设置本次运行的扫描模式。从 lines， poles 或 spots 中选择。 根据模式不同，可能需要和可选参数如下所示：

  -Sl plon/plat[+m]

    Line 模式表示我们接受一个 plon/plat 试验极点位置， 并确定每个数据线段与小圆（针对断裂带）和经线（针对深海丘）的预测的相容性。 默认情况下，我们报告每个线段的汇总统计数据（chi2、table、segment、type）。 附加 +m 可改为报告沿所有多点线段的每个中点的误差信息 （mlon、mlat、del_angle、chi2、table、segment、type）。 信息写入标准输出。

  -Sp

    Pole 模式表示我们搜索给定网格上的所有极点，并确定与所有给定线约束的加权卡方误差。 此模式需要 `-G`、`-R`、`-I` （可选 `-r` ）。

  -Ss[+c xfile][+l]

    Spot 模式表示我们计算断裂带的平分线和沿深海丘的经线，并确定所有这些大圆的交点。 可以附加两个修饰符：+l 将把生成的所有大圆输出到标准输出 [默认无输出]， +c xfile 将计算所有大圆的交点并将位置写入 xfile。 此输出包含 5 列：lon、lat、weight、cos、type， 其中 weight 是由两个生成线段组合得到的长度权重，cos 是相交线之间角度的余弦， type 分别为 0（AH 与 AH 相交）、1（AH 与 FZ 相交）、2（FZ 与 FZ 相交）， 其中 AH 表示深海丘大圆，FZ 表示断裂带平分大圆。

-V

-V[level]

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

-bi

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

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

-di

-di nodata

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

-e

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

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

-h

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

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

-i

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

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

-o

-o cols[,...][,t[word]]

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

-r

-r[g|p]

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

-:

-:[i|o]

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

-^ 或 -

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

-+ 或 +

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

-? 或无参数

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

--PAR=value

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

## 大地坐标与地心坐标

所有球面旋转均作用于地心坐标。 这意味着输入的数据点和网格被视为采用大地坐标表示， 在进行旋转之前，必须先将其转换为地心坐标。 旋转操作完成后，最终重建得到的点将再转换回大地坐标。 如果将椭球设置参数 PROJ_ELLIPSOID 更改为 Sphere， 则可跳过此默认的转换过程。

## 备注

1. 每个输入线必须包含两个或多个点，每两个连续点定义一个大圆线段。 对于断裂带，这些点应被足够密集地数字化，以便两点间的大圆能近似小圆。

2. 所有线段具有相同的角度不确定性 [1，除非通过 `-E` 改变]。 然而，单个线段可通过在段头中添加 `-D` sigma 参数（单位：度）来覆盖此权重。

## 示例

要根据文件 hills.txt 和 fractures.txt 中的深海丘与断裂带结构（lon, lat）数据， 在北半球上以 1x1 度网格创建一个极点分布图， 沿大圆每 10 km 取样，并将大圆输出到标准输出，可尝试:

    gmt polespotter -Ahills.txt -Ffractures.txt -D10 -Gpoles.nc -R0/360/0/90 -I1 -V -Ss+l > lines.txt

然后可使用 grdimage 进行绘图。

## 相关模块

grdimage, grdrotater, grdspotter, project, mapproject, backtracker, pmodeler, vector, grdpmodeler, grdrotater, originater