aboutsummaryrefslogtreecommitdiff
path: root/test/gie/4D-API_cs2cs-style.gie
blob: edd838822e17e9898812bf2363411256851a36c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
===============================================================================

Test the 4D API handling of cs2cs style transformation options.

These tests are mostly based on the same material as those in
more_builtins.gie, since we are testing the same kinds of things,
but provided through a different interface.

===============================================================================


<gie>

-------------------------------------------------------------------------------
Test the handling of the +towgs84 parameter
-------------------------------------------------------------------------------
This example is from Lotti Jivall: "Simplified transformations from
ITRF2008/IGS08 to ETRS89 for maritime applications". The original
XYZ data (cf. more_builtins.gie) have been transformed to LPZ using
this command: echo x_val y_val z_val | cct -It0 proj=cart ellps=GRS80 --

NOTE: Here, the ellipsoid has been swapped to WGS84, to align with
      the WGS84 ellipsoid used in the cs2cs emulation introduced by
      pj_cs2cs_emulation_setup()
-------------------------------------------------------------------------------
operation proj=latlong ellps=WGS84
          towgs84 =  0.676780,  0.654950, -0.528270,
                    -0.022742,  0.012667,  0.022704, -0.010700
-------------------------------------------------------------------------------
tolerance 0.05 mm
direction forward

accept    13.4999969828397   54.9999995493206   -0.6034
expect    13.4999906103972   54.9999957469562   -0.6374

direction inverse

accept    13.4999906103972   54.9999957469562   -0.6374
expect    13.4999969828397   54.9999995493206   -0.6034
-------------------------------------------------------------------------------



-------------------------------------------------------------------------------
This example is a random point, transformed from ED50 to ETRS89 using KMStrans2.

NOTE: Signs swapped wrt. KMStrans2, which apparently uses frame rotation.
-------------------------------------------------------------------------------
operation proj=latlong ellps=intl
          towgs84 =  081.07030, 089.36030, 115.75260,
                     000.48488, 000.02436, 000.41321, 0.540645
-------------------------------------------------------------------------------
tolerance  0.1 mm
# echo SWAPPED and trimmed - expect succcess
# accept     16.819999997    55.170000002        61.0
accept     16.82    55.17        61.0
expect     16.8210462130   55.1705688946       29.0317
-------------------------------------------------------------------------------
This commented-out version of the example above was used to detect the sign
discrepancy between KMSTrans2 and PROJ.
-------------------------------------------------------------------------------
operation proj=latlong ellps=intl
          towgs84 =  -081.07030, -089.36030, -115.75260,
                     -000.48488, -000.02436, -000.41321, -0.540645
-------------------------------------------------------------------------------
# echo NOT SWAPPED - Expect failure
# accept     16.8210462130   55.1705688946       29.0317
# expect     16.819999997    55.170000002        61.0
-------------------------------------------------------------------------------



-------------------------------------------------------------------------------
operation  proj=latlong nadgrids=nzgd2kgrid0005.gsb  ellps=GRS80
-------------------------------------------------------------------------------
tolerance 1 nm
ignore    pjd_err_failed_to_load_grid
accept    173                 -45                  0 0
expect    172.999892181021551 -45.001620431954613  0 0
direction inverse
accept    172.999892181021551 -45.001620431954613  0 0
expect    173                 -45                  0 0
-------------------------------------------------------------------------------



-------------------------------------------------------------------------------
operation  proj=latlong geoidgrids=egm96_15.gtx  ellps=GRS80
-------------------------------------------------------------------------------
tolerance 15 cm      # lax tolerance due to widespread bad egm96 file
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5   0
expect    12.5 55.5 -36.0213
direction inverse
accept    12.5 55.5 -36.0213
expect    12.5 55.5  0
-------------------------------------------------------------------------------
operation  proj=merc geoidgrids=egm96_15.gtx  ellps=GRS80
-------------------------------------------------------------------------------
tolerance 0.1 mm
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5 0
expect    1391493.63492   7424275.19462  -36.0213
direction inverse
accept    1391493.63492   7424275.19462  -36.0213
expect    12.5 55.5 0
-------------------------------------------------------------------------------



-------------------------------------------------------------------------------
Same as the two above, but also do axis swapping.
-------------------------------------------------------------------------------
operation  proj=latlong geoidgrids=egm96_15.gtx  axis=neu ellps=GRS80
-------------------------------------------------------------------------------
tolerance 15 cm      # lax tolerance due to widely distributed, bad egm96 file
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5  0
expect    55.5 12.5 -36.0213
direction inverse
accept    55.5 12.5 -36.0213
expect    12.5 55.5  0
-------------------------------------------------------------------------------
operation  proj=latlong geoidgrids=egm96_15.gtx  axis=dne ellps=GRS80
-------------------------------------------------------------------------------
tolerance 15 cm      # lax tolerance due to widely distributed, bad egm96 file
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5  0
expect    36.0213 55.5 12.5
direction inverse
accept    36.0213 55.5 12.5
expect    12.5 55.5  0
-------------------------------------------------------------------------------
operation  proj=merc geoidgrids=egm96_15.gtx  ellps=GRS80
-------------------------------------------------------------------------------
tolerance 0.1 mm
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5 0
expect    1391493.63492   7424275.19462  -36.0213
direction inverse
accept    1391493.63492   7424275.19462  -36.0213
expect    12.5 55.5 0
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
Some more complex axis swapping.
-------------------------------------------------------------------------------
operation  proj=latlong geoidgrids=egm96_15.gtx  axis=nue ellps=GRS80
-------------------------------------------------------------------------------
tolerance 15 cm      # lax tolerance due to widely distributed, bad egm96 file
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5 0
expect    55.5 -36.0213 12.5
direction inverse
accept    55.5 -36.0213 12.5
expect    12.5 55.5 0
-------------------------------------------------------------------------------
operation  proj=merc geoidgrids=egm96_15.gtx axis=sue ellps=GRS80
-------------------------------------------------------------------------------
tolerance 15 cm
ignore    pjd_err_failed_to_load_grid
accept    12.5 55.5 0
expect    -7424275.1946 -36.0213  1391493.6349 0.0000
direction inverse
accept    -7424275.1946 -36.0213  1391493.6349 0.0000
expect    12.5 55.5 0
-------------------------------------------------------------------------------
</gie>