polespotter

贡献者:

何星辰

最近更新日期:

2025-10-20


官方文档:

polespotter

简介:

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

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

语法

gmt polespotter [ -Aabyssalhills ] [ -Dspacing ] [ -Ea|fsigma ] [ -Ffracturezones ] [ -Goutgrid ] [ -Iincrement ] [ -N ] [ -Rregion ] [ -Sl|p|s[modifiers] ] [ -V[level] ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -hheaders ] [ -iflags ] [ -oflags ] [ -rreg ] [ -:[i|o] ] [ --PAR=value ]

注意:选项标志和相关参数之间不允许有任何空格。

可选选项

-Aabyssalhills

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

-Dstep

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

-E

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

-Ffracturezones

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

-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 选项。

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

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

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

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

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

注意:

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

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

-N

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

-Rwest/east/south/north[/zmin/zmax][+r][+uunit]

指定感兴趣的区域。 |Add_-Rgeo|

该选项可以通过多种方式来定义区域:

  1. -Rwest/east/south/north 这是在使用经纬线呈直线的地图投影时指定地理区域的标准方式。 坐标可用十进制度表示,也可以使用 [±]dd:mm[:ss.xxx][W|E|S|N] 格式表示。

  2. -Rwest/south/east/north+r 当使用倾斜(斜轴)投影时,经线和纬线不再适合作为地图边界。 在这种情况下,可以通过给出矩形的左下角与右上角的地理坐标,并添加 +r 修饰符, 来保证地图输出区域为矩形,即使经纬线不是直线。

  3. -Rg-Rd 用于快速指定全球范围。-Rg 表示经度 0 到 360,纬度 -90 到 +90; -Rd 表示经度 -180 到 +180,纬度 -90 到 +90。

  4. -Rcode1,code2,…[+e|r|Rincs] 通过查阅 DCW(数字世界地图)数据库,间接地根据一个或多个国家代码来确定边界区域。 可以使用两个字符的 ISO 3166-1 alpha-2 国家代码(例如 NO)或完整国名(例如 Norway)。 如果要选择国家内的某个州(若可用),请追加 .state(如 US.TX),或使用完整州名(如 Texas)。 若要选择整个大陆,请直接拼写完整名称(如 -RAfrica )。 还可指定 DCW数据 的缩写或完整名称。所有名称大小写不敏感。 可附加以下修饰符:

    • +r:将区域边界调整为 incxinc/yincwinc/einc/sinc/ninc 的整数倍(默认不调整)。 例如,-RFR+r1 将法国的边界取整到最接近的整数度。inc 为正数表示扩大范围,负数表示缩小。

    • +R:在区域边界的基础上增加或减少 incxinc/yincwinc/einc/sinc/ninc 的数值(默认不扩展)。 inc 为正数表示扩大区域,负数表示缩小。

    • +e:将区域边界调整为 incxinc/yincwinc/einc/sinc/ninc 的整数倍, 并确保边界至少调整 inc 的 0.25 倍(默认不调整)。

  5. -Rxmin/xmax/ymin/ymax[+uunit] 在投影单位(如 UTM 米制)下指定区域。 其中 xmin/xmax/ymin/ymax 为与所选投影 (-J) 兼容的笛卡尔坐标。 unit 为允许的 单位-j 选项 (默认是 e)。 该选项会反算出实际的矩形地理区域。

    对于以 (0,0) 为中心的投影区域,可使用简写形式 -Rhalfwidth[/halfheight]+uunit, 其中 halfheight 默认为 halfwidth。此简写形式必须带 +u 修饰符。

  6. -Rjustifylon0/lat0/nx/ny 其中 justify 为两字符组合: L|C|R (左,中,右) and T|M|B (上,中,下),(例如, BL 为左下角) justify 指明 lon0/lat0 是矩形区域的哪个点, 而 nxny 与网格间距(通过 -I 设置)共同决定区域范围。 该形式常用于创建网格。 例如:-RCM25/25/50/50 表示一个以 (25,25) 为中心、尺寸为 50×50 的网格区域。

  7. -Rgridfile 从指定网格文件中复制区域范围设置。 根据调用模块的不同,此方式可能同时设置网格间距与网格配准方式 (参见 网格配准 )。

  8. -Ra[uto] 或 -Re[xact] 仅在现代模式下的绘图模块可用。自动从输入数据中确定区域:

    • -Re:精确匹配数据的范围(默认若未指定 -R)。

    • -Ra:在数据范围基础上略微扩大,使区域边界为数据范围的合理倍数。

-Sl|p|s[modifiers]

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

-Slplon/plat[+m]

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

-Sp

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

-Ss[+cxfile][+l]

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

-V[level] (more …)

设置 verbose 等级 [w]

-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 表示文本列)

-ocols[,…][,t[word]] (more …)

设置输出数据列(0表示第一列,t 表示文本列)

-r[g|p] (more …)

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

-:[i|o] (more …)

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

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

大地坐标与地心坐标

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

备注

#. 每个输入线必须包含两个或多个点,每两个连续点定义一个大圆线段。 对于断裂带,这些点应被足够密集地数字化,以便两点间的大圆能近似小圆。 #. 所有线段具有相同的角度不确定性 [1,除非通过 -E 改变]。 然而,单个线段可通过在段头中添加 -Dsigma 参数(单位:度)来覆盖此权重。

示例

要根据文件 hills.txtfractures.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 进行绘图。

相关模块

gmt, grdimage, grdrotater, grdspotter, project, mapproject, backtracker, pmodeler, gmtvector, grdpmodeler, grdrotater, originater