aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorThomas Knudsen <busstoptaktik@users.noreply.github.com>2018-02-01 10:22:08 +0100
committerGitHub <noreply@github.com>2018-02-01 10:22:08 +0100
commit8f3345f39afedc3b025613852a54248f170a1b9f (patch)
tree58772da8e08b8cc79eb42a192ff556482c43c7f4 /test
parent34917e08075c056213ec651bb9a523c1f023446d (diff)
parent52c20a2e095c63fab6e4158c92b8995d882cbe62 (diff)
downloadPROJ-8f3345f39afedc3b025613852a54248f170a1b9f.tar.gz
PROJ-8f3345f39afedc3b025613852a54248f170a1b9f.zip
Merge pull request #731 from busstoptaktik/4D-API_cs2cs-style
[WIP] 4D API cs2cs style
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt16
-rw-r--r--test/gie/4D-API_cs2cs-style.gie161
-rw-r--r--test/gie/axisswap.gie14
-rw-r--r--test/gie/builtins.gie16
-rw-r--r--test/gie/more_builtins.gie10
-rw-r--r--test/gigs/5103.1.gie75
-rw-r--r--test/gigs/5110.gie8
-rw-r--r--test/gigs/5111.1.gie12
-rw-r--r--test/gigs/5112.gie39
-rw-r--r--test/gigs/5201.gie168
-rw-r--r--test/gigs/5208.gie100
11 files changed, 384 insertions, 235 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index a91492da..7475f715 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -7,18 +7,21 @@ proj_add_gie_test("Axisswap" "gie/axisswap.gie")
proj_add_gie_test("Deformation" "gie/deformation.gie")
proj_add_gie_test("Ellipsoid" "gie/ellipsoid.gie")
proj_add_gie_test("GDA" "gie/GDA.gie")
+proj_add_gie_test("4D-API-cs2cs-style" "gie/4D-API_cs2cs-style.gie")
+# GIGS tests. Uncommented tests are expected to fail due to issues with
+# various projections. Should be investigated further and fixed.
proj_add_gie_test("GIGS-5101.1-jhs" "gigs/5101.1-jhs.gie")
proj_add_gie_test("GIGS-5101.2-jhs" "gigs/5101.2-jhs.gie")
proj_add_gie_test("GIGS-5101.3-jhs" "gigs/5101.3-jhs.gie")
proj_add_gie_test("GIGS-5101.4-jhs-etmerc" "gigs/5101.4-jhs-etmerc.gie")
-#proj_add_gie_test("GIGS-5101.4-jhs" "gigs/5101.4-jhs.gie")
+#proj_add_gie_test("GIGS-5101.4-jhs" "gigs/5101.4-jhs.gie") # Same as above, but using etmerc instead of tmerc
proj_add_gie_test("GIGS-5102.1" "gigs/5102.1.gie")
#proj_add_gie_test("GIGS-5102.2" "gigs/5102.2.gie")
proj_add_gie_test("GIGS-5103.1" "gigs/5103.1.gie")
proj_add_gie_test("GIGS-5103.2" "gigs/5103.2.gie")
proj_add_gie_test("GIGS-5103.3" "gigs/5103.3.gie")
-proj_add_gie_test("GIGS-5104" "gigs/5104.gie")
+#proj_add_gie_test("GIGS-5104" "gigs/5104.gie")
#proj_add_gie_test("GIGS-5105.1" "gigs/5105.1.gie")
proj_add_gie_test("GIGS-5105.2" "gigs/5105.2.gie")
proj_add_gie_test("GIGS-5106" "gigs/5106.gie")
@@ -29,12 +32,15 @@ proj_add_gie_test("GIGS-5109" "gigs/5109.gie")
proj_add_gie_test("GIGS-5111.1" "gigs/5111.1.gie")
#proj_add_gie_test("GIGS-5111.2" "gigs/5111.2.gie")
proj_add_gie_test("GIGS-5112" "gigs/5112.gie")
-#proj_add_gie_test("GIGS-5113" "gigs/5113.gie")
-#proj_add_gie_test("GIGS-5201" "gigs/5201.gie")
+proj_add_gie_test("GIGS-5113" "gigs/5113.gie")
+proj_add_gie_test("GIGS-5201" "gigs/5201.gie")
#proj_add_gie_test("GIGS-5203" "gigs/5203.1.gie")
#proj_add_gie_test("GIGS-5204.1" "gigs/5204.1.gie")
#proj_add_gie_test("GIGS-5205.1" "gigs/5205.1.gie")
#proj_add_gie_test("GIGS-5206" "gigs/5206.gie")
#proj_add_gie_test("GIGS-5207.1" "gigs/5207.1.gie")
#proj_add_gie_test("GIGS-5207.2" "gigs/5207.2.gie")
-#proj_add_gie_test("GIGS-5208" "gigs/5208.gie")
+proj_add_gie_test("GIGS-5208" "gigs/5208.gie")
+
+
+
diff --git a/test/gie/4D-API_cs2cs-style.gie b/test/gie/4D-API_cs2cs-style.gie
new file mode 100644
index 00000000..853df993
--- /dev/null
+++ b/test/gie/4D-API_cs2cs-style.gie
@@ -0,0 +1,161 @@
+===============================================================================
+
+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
+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
+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
+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
+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
+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
+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
+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
+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>
diff --git a/test/gie/axisswap.gie b/test/gie/axisswap.gie
index ac148a92..5fe86200 100644
--- a/test/gie/axisswap.gie
+++ b/test/gie/axisswap.gie
@@ -53,9 +53,17 @@ expect 3 -2 1 4
roundtrip 100
operation proj=axisswap axis=neu
-tolerance 0.000001 m
-accept 1 2 3 4
-expect 2 1 3 4
+tolerance 0 m
+accept 1 2 3
+expect 2 1 3
+
+# when using the +axis parameter we specify the order of the INPUT coordinate,
+# as opposed to +order which relates to the OUTPUT coordinate. Here we test
+# that n(1), u(2) and e(3) are swapped correctly to enu ordering.
+operation proj=axisswap axis=nue
+tolerance 0 m
+accept 1 2 3
+expect 2 3 1
operation proj=axisswap axis=swd
tolerance 0.000001 m
diff --git a/test/gie/builtins.gie b/test/gie/builtins.gie
index 3877b58a..e8f1bfe1 100644
--- a/test/gie/builtins.gie
+++ b/test/gie/builtins.gie
@@ -1233,14 +1233,14 @@ Geocentric
operation +proj=geocent +ellps=GRS80 +lat_1=0.5 +lat_2=2
-------------------------------------------------------------------------------
tolerance 0.00010 mm
-accept 2 1
-expect 222638.981586547 111319.490793274
-accept 2 -1
-expect 222638.981586547 -111319.490793274
-accept -2 1
-expect -222638.981586547 111319.490793274
-accept -2 -1
-expect -222638.981586547 -111319.490793274
+accept 2 1 0
+expect 6373287.27950247 222560.09599219 110568.77482092
+accept 2 -1 0
+expect 6373287.27950247 222560.09599219 -110568.77482092
+accept -2 1 0
+expect 6373287.27950247 -222560.09599219 110568.77482092
+accept -2 -1 0
+expect 6373287.27950247 -222560.09599219 -110568.77482092
direction inverse
accept 200 100
diff --git a/test/gie/more_builtins.gie b/test/gie/more_builtins.gie
index 20bffbd9..e21f0321 100644
--- a/test/gie/more_builtins.gie
+++ b/test/gie/more_builtins.gie
@@ -131,11 +131,11 @@ expect 12 55 0 0
-------------------------------------------------------------------------------
Finally test a pipeline with more than one init step
-------------------------------------------------------------------------------
-operation proj=pipeline step
- init=epsg:25832 inv step
- init=epsg:25833 step
- init=epsg:25833 inv step
- init=epsg:25832
+operation proj=pipeline
+ step init=epsg:25832 inv
+ step init=epsg:25833
+ step init=epsg:25833 inv
+ step init=epsg:25832
-------------------------------------------------------------------------------
accept 691875.63214 6098907.82501 0 0
expect 691875.63214 6098907.82501 0 0
diff --git a/test/gigs/5103.1.gie b/test/gigs/5103.1.gie
index f00ed019..c972b738 100644
--- a/test/gigs/5103.1.gie
+++ b/test/gigs/5103.1.gie
@@ -10,254 +10,201 @@ Test 5103 (part 1), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
operation +proj=pipeline
+step +init=epsg:4313 +inv
+step +init=epsg:31370
+
+tolerance 30 mm
--------------------------------------------------------------------------------
-tolerance 0.03 m
accept 5 58
expect 187742.7 969521.653
-tolerance 0.03 m
accept 5 57
expect 188698.877 857277.135
-tolerance 0.03 m
accept 5 56
expect 189652.853 745291.184
-tolerance 0.03 m
accept 5 55
expect 190604.967 633523.672
-tolerance 0.03 m
accept 5 54
expect 191555.55 521935.9
-tolerance 0.03 m
accept 5 53
expect 192504.921 410490.433
-tolerance 0.03 m
accept 5.3876389 52.1561606
expect 219843.841 316827.604
-tolerance 0.03 m
accept 4 51
expect 124202.936 187756.876
-tolerance 0.03 m
accept 4 50
expect 123652.406 76521.628
-tolerance 0.03 m
accept 4 49
expect 123101.889 -34711.068
-tolerance 0.03 m
accept 3.3137281 47.9752611
expect 71254.553 -148236.592
-tolerance 0.03 m
accept 3 53
expect 58108.966 411155.591
-tolerance 0.03 m
accept 4 53
expect 125304.704 410370.504
-tolerance 0.03 m
accept 5 53
expect 192504.921 410490.433
-tolerance 0.03 m
accept 6 53
expect 259697.429 411515.356
-tolerance 0.03 m
accept 7 53
expect 326870.04 413445.087
-tolerance 0.03 m
accept 8 53
expect 394010.571 416279.276
-tolerance 0.03 m
accept 9 53
expect 461106.844 420017.408
-tolerance 0.03 m
accept 10 53
expect 528146.69 424658.807
-tolerance 0.03 m
accept 11 53
expect 595117.95 430202.63
+
--------------------------------------------------------------------------------
-operation +proj=pipeline
- +step +init=epsg:31370 +inv
- +step +init=epsg:4313
+operation proj=pipeline
+ step init=epsg:31370 inv
+ step init=epsg:4313
+
+tolerance 30 mm
--------------------------------------------------------------------------------
-tolerance 0.03 m
accept 187742.7 969521.653
expect 5 58
-tolerance 0.03 m
accept 188698.877 857277.135
expect 5 57
-tolerance 0.03 m
accept 189652.853 745291.184
expect 5 56
-tolerance 0.03 m
accept 190604.967 633523.672
expect 5 55
-tolerance 0.03 m
accept 191555.55 521935.9
expect 5 54
-tolerance 0.03 m
accept 192504.921 410490.433
expect 5 53
-tolerance 0.03 m
accept 219843.841 316827.604
expect 5.3876389 52.1561606
-tolerance 0.03 m
accept 124202.936 187756.876
expect 4 51
-tolerance 0.03 m
accept 123652.406 76521.628
expect 4 50
-tolerance 0.03 m
accept 123101.889 -34711.068
expect 4 49
-tolerance 0.03 m
accept 71254.553 -148236.592
expect 3.3137281 47.9752611
-tolerance 0.03 m
accept 58108.966 411155.591
expect 3 53
-tolerance 0.03 m
accept 125304.704 410370.504
expect 4 53
-tolerance 0.03 m
accept 192504.921 410490.433
expect 5 53
-tolerance 0.03 m
accept 259697.429 411515.356
expect 6 53
-tolerance 0.03 m
accept 326870.04 413445.087
expect 7 53
-tolerance 0.03 m
accept 394010.571 416279.276
expect 8 53
-tolerance 0.03 m
accept 461106.844 420017.408
expect 9 53
-tolerance 0.03 m
accept 528146.69 424658.807
expect 10 53
-tolerance 0.03 m
accept 595117.95 430202.63
expect 11 53
--------------------------------------------------------------------------------
-operation +proj=pipeline
+operation +proj=pipeline towgs84=0,0,0 # turn off dual datum shift
+step +init=epsg:4313 +inv
+step +init=epsg:31370
+
+tolerance 6 mm
--------------------------------------------------------------------------------
-tolerance 0.006 m
accept 5 58
roundtrip 1000
-tolerance 0.006 m
accept 5 57
roundtrip 1000
-tolerance 0.006 m
accept 5 56
roundtrip 1000
-tolerance 0.006 m
accept 5 55
roundtrip 1000
-tolerance 0.006 m
accept 5 54
roundtrip 1000
-tolerance 0.006 m
accept 5 53
roundtrip 1000
-tolerance 0.006 m
accept 5.3876389 52.1561606
roundtrip 1000
-tolerance 0.006 m
accept 4 51
roundtrip 1000
-tolerance 0.006 m
accept 4 50
roundtrip 1000
-tolerance 0.006 m
accept 4 49
roundtrip 1000
-tolerance 0.006 m
accept 3.3137281 47.9752611
roundtrip 1000
-tolerance 0.006 m
accept 3 53
roundtrip 1000
-tolerance 0.006 m
accept 4 53
roundtrip 1000
-tolerance 0.006 m
accept 5 53
roundtrip 1000
-tolerance 0.006 m
accept 6 53
roundtrip 1000
-tolerance 0.006 m
accept 7 53
roundtrip 1000
-tolerance 0.006 m
accept 8 53
roundtrip 1000
-tolerance 0.006 m
accept 9 53
roundtrip 1000
-tolerance 0.006 m
accept 10 53
roundtrip 1000
-tolerance 0.006 m
accept 11 53
roundtrip 1000
diff --git a/test/gigs/5110.gie b/test/gigs/5110.gie
index 031dfac9..2d26d1ab 100644
--- a/test/gigs/5110.gie
+++ b/test/gigs/5110.gie
@@ -4,6 +4,14 @@ Test 5110, Lambert Azimuthal Equal Area, v2-0_2011-06-28.
--------------------------------------------------------------------------------
+# ETRS89
+<4258> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
+
+# ETRS89 / LAEA Europe
+<3035> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
+ +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
+
+
<gie>
--------------------------------------------------------------------------------
diff --git a/test/gigs/5111.1.gie b/test/gigs/5111.1.gie
index 2517b185..335e1d68 100644
--- a/test/gigs/5111.1.gie
+++ b/test/gigs/5111.1.gie
@@ -4,10 +4,16 @@ Test 5111 (part 1), Mercator (variant A), v2-0_2011-06-28.
--------------------------------------------------------------------------------
+# Batavia
+<4211> +proj=longlat +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +no_defs <>
+# Batavia / NEIEZ
+<3001> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +units=m +no_defs <>
+
+
<gie>
--------------------------------------------------------------------------------
-operation +proj=pipeline
+operation +proj=pipeline towgs84=0,0,0
+step +init=epsg:4211 +inv
+step +init=epsg:3001
--------------------------------------------------------------------------------
@@ -152,7 +158,7 @@ accept -69.0 -2.0
expect -15964105.84 679490.65
--------------------------------------------------------------------------------
-operation +proj=pipeline
+operation +proj=pipeline towgs84=0,0,0
+step +init=epsg:3001 +inv
+step +init=epsg:4211
--------------------------------------------------------------------------------
@@ -297,7 +303,7 @@ accept -15964105.84 679490.65
expect -69.0 -2.0
--------------------------------------------------------------------------------
-operation +proj=pipeline
+operation +proj=pipeline towgs84=0,0,0
+step +init=epsg:4211 +inv
+step +init=epsg:3001
--------------------------------------------------------------------------------
diff --git a/test/gigs/5112.gie b/test/gigs/5112.gie
index 3c4bb367..207632d2 100644
--- a/test/gigs/5112.gie
+++ b/test/gigs/5112.gie
@@ -7,77 +7,68 @@ Test 5112, Mercator (variant B), v2-0_2011-06-28.
<gie>
--------------------------------------------------------------------------------
-operation +proj=pipeline
- +step +init=epsg:4284 +inv
- +step +init=epsg:3388
+operation proj=pipeline
+ step init=epsg:4284 inv
+ step init=epsg:3388
+
+tolerance 50 mm
--------------------------------------------------------------------------------
-tolerance 0.05 m
accept 51.0 42.0
expect 0.0 3819897.85
-tolerance 0.05 m
accept 51.0 0.0
expect 0.0 0.0
-tolerance 0.05 m
accept 57.0 0.0
expect 497112.88 0.0
-tolerance 0.05 m
accept 54.0 20.5
expect 248556.44 1724781.5
-tolerance 0.05 m
accept 67.0 -41.0
expect 1325634.35 -3709687.25
--------------------------------------------------------------------------------
-operation +proj=pipeline
- +step +init=epsg:3388 +inv
- +step +init=epsg:4284
+operation proj=pipeline
+ step init=epsg:3388 inv
+ step init=epsg:4284
+
+tolerance 50 mm
--------------------------------------------------------------------------------
-tolerance 0.05 m
accept 0.0 3819897.85
expect 51.0 42.0
-tolerance 0.05 m
accept 0.0 0.0
expect 51.0 0.0
-tolerance 0.05 m
accept 497112.88 0.0
expect 57.0 0.0
-tolerance 0.05 m
accept 248556.44 1724781.5
expect 54.0 20.5
-tolerance 0.05 m
accept 1325634.35 -3709687.25
expect 67.0 -41.0
--------------------------------------------------------------------------------
-operation +proj=pipeline
- +step +init=epsg:4284 +inv
- +step +init=epsg:3388
+operation proj=pipeline towgs84=0,0,0
+ step init=epsg:4284 inv
+ step init=epsg:3388
+
+tolerance 6 mm
--------------------------------------------------------------------------------
-tolerance 0.006 m
accept 51.0 42.0
roundtrip 1000
-tolerance 0.006 m
accept 51.0 0.0
roundtrip 1000
-tolerance 0.006 m
accept 57.0 0.0
roundtrip 1000
-tolerance 0.006 m
accept 54.0 20.5
roundtrip 1000
-tolerance 0.006 m
accept 67.0 -41.0
roundtrip 1000
diff --git a/test/gigs/5201.gie b/test/gigs/5201.gie
index e7bdcb1e..532443a9 100644
--- a/test/gigs/5201.gie
+++ b/test/gigs/5201.gie
@@ -4,6 +4,12 @@ Test 5201, Geographic Geocentric conversions, v2.0_2011-09-28. (EPSG 4979 - WGS8
--------------------------------------------------------------------------------
+# WGS 84
+<4978> +proj=geocent +datum=WGS84 +units=m +no_defs <>
+# WGS 84
+<4326> +proj=longlat +datum=WGS84 +no_defs <>
+
+
<gie>
--------------------------------------------------------------------------------
@@ -11,111 +17,111 @@ operation +proj=pipeline
+step +init=epsg:4978 +inv
+step +init=epsg:4326
--------------------------------------------------------------------------------
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -962479.5924 555687.8517 6260738.6526
expect 150 80 1214.137
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -962297.0059 555582.4354 6259542.961
expect 150 80 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -1598248.169 2768777.623 5501278.468
expect 119.99524538 60.00475191 619.6317
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -1598023.169 2768387.912 5500499.045
expect 119.9952447 60.00475258 -280.3683
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 2764210.4054 4787752.865 3170468.5199
expect 60 30 189.569
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 2764128.3196 4787610.6883 3170373.7354
expect 60 30 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 6377934.396 -112 434
expect -0.00100615 0.00392509 -202.5882
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 6374934.396 -112 434
expect -0.00100662 0.00392695 -3202.5881
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 6367934.396 -112 434
expect -0.00100773 0.00393129 -10202.5881
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 2764128.3196 -4787610.6883 -3170373.7354
expect -60 -30 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 2763900.3489 -4787215.8313 -3170110.4974
expect -60 -30 -526.476
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 2763880.8633 -4787182.0813 -3170087.9974
expect -60 -30 -571.476
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -1598023.169 -2768611.912 -5499631.045
expect -119.99323757 -59.99934884 -935.0995
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -1597798.169 -2768222.201 -5498851.622
expect -119.99323663 -59.99934874 -1835.0995
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -962297.0059 -555582.4354 -6259542.961
expect -150 -80 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -962150.945 -555498.1071 -6258586.4616
expect -150 -80 -971.255
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -961798.2951 -555294.5046 -6256277.0874
expect -150 -80 -3316.255
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -2187336.719 -112 5971017.093
expect -179.99706624 70.00490733 -223.6178
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -2904698.5551 -2904698.5551 4862789.0377
expect -135 50 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 371 -5783593.614 2679326.11
expect -89.99632465 25.00366329 -274.7286
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 6378137 0 0
expect 0 0 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -4087095.478 2977467.559 -3875457.429
expect 143.92649252 -37.65282217 737.7182
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -4085919.959 2976611.233 -3874335.274
expect 143.92649211 -37.65282206 -1099.2288
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -4084000.165 2975212.729 -3872502.631
expect 143.92649143 -37.65282187 -4099.2288
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -4079520.647 2971949.553 -3868226.465
expect 143.92648984 -37.65282143 -11099.2288
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -2904698.5551 2904698.5551 -4862789.0377
expect 135 -50 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -2187336.719 -112 -5970149.093
expect -179.99706624 -70.00224647 -1039.2896
@@ -124,111 +130,111 @@ operation +proj=pipeline
+step +init=epsg:4326 +inv
+step +init=epsg:4978
--------------------------------------------------------------------------------
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 150 80 1214.137
expect -962479.5924 555687.8517 6260738.6526
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 150 80 0
expect -962297.0059 555582.4354 6259542.961
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 119.99524538 60.00475191 619.6317
expect -1598248.169 2768777.623 5501278.468
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 119.9952447 60.00475258 -280.3683
expect -1598023.169 2768387.912 5500499.045
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 60 30 189.569
expect 2764210.4054 4787752.865 3170468.5199
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 60 30 0
expect 2764128.3196 4787610.6883 3170373.7354
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -0.00100615 0.00392509 -202.5882
expect 6377934.396 -112 434
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -0.00100662 0.00392695 -3202.5881
expect 6374934.396 -112 434
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -0.00100773 0.00393129 -10202.5881
expect 6367934.396 -112 434
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -60 -30 0
expect 2764128.3196 -4787610.6883 -3170373.7354
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -60 -30 -526.476
expect 2763900.3489 -4787215.8313 -3170110.4974
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -60 -30 -571.476
expect 2763880.8633 -4787182.0813 -3170087.9974
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -119.99323757 -59.99934884 -935.0995
expect -1598023.169 -2768611.912 -5499631.045
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -119.99323663 -59.99934874 -1835.0995
expect -1597798.169 -2768222.201 -5498851.622
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -150 -80 0
expect -962297.0059 -555582.4354 -6259542.961
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -150 -80 -971.255
expect -962150.945 -555498.1071 -6258586.4616
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -150 -80 -3316.255
expect -961798.2951 -555294.5046 -6256277.0874
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -179.99706624 70.00490733 -223.6178
expect -2187336.719 -112 5971017.093
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -135 50 0
expect -2904698.5551 -2904698.5551 4862789.0377
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -89.99632465 25.00366329 -274.7286
expect 371 -5783593.614 2679326.11
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 0 0 0
expect 6378137 0 0
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 143.92649252 -37.65282217 737.7182
expect -4087095.478 2977467.559 -3875457.429
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 143.92649211 -37.65282206 -1099.2288
expect -4085919.959 2976611.233 -3874335.274
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 143.92649143 -37.65282187 -4099.2288
expect -4084000.165 2975212.729 -3872502.631
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 143.92648984 -37.65282143 -11099.2288
expect -4079520.647 2971949.553 -3868226.465
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept 135 -50 0
expect -2904698.5551 2904698.5551 -4862789.0377
-tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+tolerance 0.01 m
accept -179.99706624 -70.00224647 -1039.2896
expect -2187336.719 -112 -5970149.093
@@ -237,111 +243,111 @@ operation +proj=pipeline
+step +init=epsg:4978 +inv
+step +init=epsg:4326
--------------------------------------------------------------------------------
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -962479.5924 555687.8517 6260738.6526
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -962297.0059 555582.4354 6259542.961
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -1598248.169 2768777.623 5501278.468
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -1598023.169 2768387.912 5500499.045
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 2764210.4054 4787752.865 3170468.5199
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 2764128.3196 4787610.6883 3170373.7354
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 6377934.396 -112 434
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 6374934.396 -112 434
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 6367934.396 -112 434
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 2764128.3196 -4787610.6883 -3170373.7354
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 2763900.3489 -4787215.8313 -3170110.4974
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 2763880.8633 -4787182.0813 -3170087.9974
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -1598023.169 -2768611.912 -5499631.045
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -1597798.169 -2768222.201 -5498851.622
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -962297.0059 -555582.4354 -6259542.961
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -962150.945 -555498.1071 -6258586.4616
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -961798.2951 -555294.5046 -6256277.0874
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -2187336.719 -112 5971017.093
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -2904698.5551 -2904698.5551 4862789.0377
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 371 -5783593.614 2679326.11
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept 6378137 0 0
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -4087095.478 2977467.559 -3875457.429
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -4085919.959 2976611.233 -3874335.274
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -4084000.165 2975212.729 -3872502.631
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -4079520.647 2971949.553 -3868226.465
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -2904698.5551 2904698.5551 -4862789.0377
roundtrip 1000
-tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+tolerance 0.01 m
accept -2187336.719 -112 -5970149.093
roundtrip 1000
diff --git a/test/gigs/5208.gie b/test/gigs/5208.gie
index 5d94474a..25a10b96 100644
--- a/test/gigs/5208.gie
+++ b/test/gigs/5208.gie
@@ -2,8 +2,24 @@
Test 5208, Longitude Rotation, v2.0_2011-06-28.
+The test tolerance is 0.01". Since gie can only use linear tolerances we
+convert that to an approximate liniar distance instead, by multiplying with
+111km:
+
+ 0.01" * 111 km = 2.777777778-7 * 111000 m = 0.03 m
+
+To be on the safe side we, use 0.01 m as the tolerance.
+
--------------------------------------------------------------------------------
+# NTF
+<4275> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs <>
+
+# NTF (Paris)
+<4807> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs <>
+
+
+
<gie>
--------------------------------------------------------------------------------
@@ -11,59 +27,59 @@ operation +proj=pipeline
+step +init=epsg:4275 +inv
+step +init=epsg:4807
--------------------------------------------------------------------------------
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 5 58
expect 2.66277083 58
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 5 56
expect 2.66277083 56
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 5 55
expect 2.66277083 55
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 5 53
expect 2.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 4 51
expect 1.66277083 51
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 4 49
expect 1.66277083 49
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 2.33722917 46.8
expect 0 46.8
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 3 53
expect 0.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 4 53
expect 1.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 6 53
expect 3.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 7 53
expect 4.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 9 53
expect 6.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 10 53
expect 7.66277083 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 11 53
expect 8.66277083 53
@@ -72,59 +88,59 @@ operation +proj=pipeline
+step +init=epsg:4807 +inv
+step +init=epsg:4275
--------------------------------------------------------------------------------
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 2.66277083 58
expect 5 58
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 2.66277083 56
expect 5 56
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 2.66277083 55
expect 5 55
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 2.66277083 53
expect 5 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 1.66277083 51
expect 4 51
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 1.66277083 49
expect 4 49
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 0 46.8
expect 2.33722917 46.8
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 0.66277083 53
expect 3 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 1.66277083 53
expect 4 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 3.66277083 53
expect 6 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 4.66277083 53
expect 7 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 6.66277083 53
expect 9 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 7.66277083 53
expect 10 53
-tolerance 2.77777777778e-07 m
+tolerance 0.01 m
accept 8.66277083 53
expect 11 53
@@ -133,59 +149,59 @@ operation +proj=pipeline
+step +init=epsg:4275 +inv
+step +init=epsg:4807
--------------------------------------------------------------------------------
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 5 58
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 5 56
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 5 55
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 5 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 4 51
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 4 49
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 2.33722917 46.8
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 3 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 4 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 6 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 7 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 9 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 10 53
roundtrip 1000
-tolerance 5.55555555556e-08 m
+tolerance 0.01 m
accept 11 53
roundtrip 1000