水平网格移动

5.0.0 新版功能.

通过网格移动改变水平基准面。

Alias

hgridshift公司

Domain

2D、3D和4D

输入类型

大地坐标(水平)、米(垂直)、小数年(时间)

输出类型

大地坐标(水平)、米(垂直)、小数年(时间)

水平网格移动是通过将平面输入坐标偏移由加载的网格确定的特定量来完成的。水平网格移动最简单的用例是应用单个网格:

+proj=hgridshift +grids=nzgr2kgrid0005.gsb

可以同时加载多个网格,例如,如果数据集需要跨多个国家进行转换。在本例中,美国大陆、阿拉斯加和加拿大的网格同时加载:

+proj=hgridshift +grids=@conus,@alaska,@ntv2_0.gsb,@ntv_can.dat

这个 @ 在上面的例子中,如果在PROJ搜索路径中找不到网格,那么网格是可选的。网格列表按优先级排列,以便列表开头的网格优先于列表后面的网格。

PROJ支持CTable2、NTv1和NTv2文件进行水平网格校正。有关这三种格式的详细信息可以在GDAL文档和/或驱动程序源代码中找到。GDAL读取和写入这三种格式。建议使用GDAL构建新的网格。

时间网格移动

5.1.0 新版功能.

通过使用中心历元初始化水平网格偏移操作,仅当坐标从栅格中心历元之前的历元转换为栅格中心历元之后的历元时,它才可用作应用栅格偏移的阶跃函数。这在需要处理地震活动引起的变形的变换中非常方便。

网格的中心纪元由 +t_epoch 坐标的最后一个历元是 +t_final . 坐标的观测历元是坐标元组的一部分。

假设我们想用2005年到2009年的数据转换来模拟2008年冰岛地震的形变:

echo 63.992 -21.014 10.0 2005.0 | cct +proj=hgridshift +grids=iceland2008.gsb +t_epoch=2008.4071 +t_final=2009.0
63.9920021 -21.0140013 10.0 2005.0

备注

结果坐标的时间戳仍然是2005.0。观测时间始终保持不变,否则不可能进行逆变换。

时间网格移动在转换管道中尤其强大,其中多个网格移动可以链接在一起,有效地作为一系列阶跃函数,可以应用于通过时间传播的坐标。在下面的示例中,我们建立了一个管道,允许从任何给定历元到当前日期的坐标变换,仅应用那些在观测历元和最终历元之间具有中心历元的网格偏移:

+proj=pipeline +t_final=now
+step +proj=hgridshift +grids=earthquake_1.gsb +t_epoch=2010.421
+step +proj=hgridshift +grids=earthquake_2.gsb +t_epoch=2013.853
+step +proj=hgridshift +grids=earthquake_3.gsb +t_epoch=2017.713

备注

特殊时期 now 在使用指定最终历元时使用 +t_final . 这将导致坐标转换为当前日期。另外, +t_final 用作 global pipeline parameter ,这意味着它将应用于管道中的所有步骤。

在上述转换中,观测时间为2009.32的坐标将受管道中所有三个网格移动步骤的影响。与观测时间2014.12的坐标只会被管道中的最后一步抵消。

参数

要求的

+grids=<list>

要加载的网格的逗号分隔列表。如果网格的前缀是 @ 电网被认为是可选的,如果电网不可用,项目将不会投诉。

网格应为CTable2、NTv1或NTv2格式。

可选的

+t_epoch=<time>

转变的中心时代。

5.1.0 新版功能.

+t_final=<time>

变换后坐标传播到的最后一个历元。特殊时期 now 可以用来代替写一个特定的时间段。什么时候? now 使用时,它被内部替换为转换的时代。这意味着,如果在以后的某个日期再次执行,结果坐标将略有不同。

5.1.0 新版功能.