将坐标值推送到管道堆栈¶
6.0.0 新版功能.
保存管道一个步骤中的坐标分量,并使其可用于在另一个管道步骤中检索。
Alias |
推 |
Domain |
四维 |
输入类型 |
任何 |
输出类型 |
任何 |
此操作允许保存坐标的组件,以便在以后的步骤中应用。移动保存的坐标组件,或 推 ,到属于 pipeline . 管道坐标叠加的灵感来源于计算机科学中常用的叠加数据结构。有四个堆栈可用:一个四个坐标维度。尺寸或坐标分量编号为1-4。只能在同一坐标组件编号内将数据移动到堆栈中或从堆栈中移动数据。可以使用 pop operation .
如果push操作是自己使用的(例如,不在管道中),则它将作为no操作来运行,该操作将通过未更改的坐标。
实例¶
推送和推送的常用用法 pop 操作是三维的 Helmert 只需要水平分量的变换。将传统垂直参照的高度与现代地心参照的高度相结合时,通常会出现这种情况。下面是这样一个转换的例子,其中水平部分通过Helmert操作进行转换,但垂直部分保持与输入完全相同。
$ echo 12 56 12.3 2020 | cct +proj=pipeline \
+step +proj=push +v_3 \
+step +proj=cart +ellps=GRS80 \
+step +proj=helmert +x=3000 +y=1000 +z=2000 \
+step +proj=cart +ellps=GRS80 +inv \
+step +proj=pop +v_3 \
12.0056753463 55.9866540552 12.3000 2000.0000
请注意,输出中的第三个坐标分量与输入相同。
没有push和pop操作的相同转换如下所示:
$ echo 12 56 12.3 2020 | cct +proj=pipeline \
+step +proj=cart +ellps=GRS80 \
+step +proj=helmert +x=3000 +y=1000 +z=2000 \
+step +proj=cart +ellps=GRS80 +inv \
12.0057 55.9867 3427.7404 2000.0000
在这里,垂直分量被显著调整。
参数¶
- +v_1¶
存储管道堆栈上的第一个坐标组件
- +v_2¶
在管道堆栈上存储第二个坐标分量
- +v_3¶
在管道堆栈上存储第三个坐标分量
- +v_4¶
在管道堆栈上存储第四个坐标分量