aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2017-12-11 19:17:36 +0100
committerKristian Evers <kristianevers@gmail.com>2018-01-09 23:24:43 +0100
commit4cf424f18a99be6bbce979fd17027f0ebdd934a6 (patch)
treecab829c6bd0e19ad5130766118f008feca4ebae8
parent1bd5c06781cc6be5b8de512a807b6f2774ae8df7 (diff)
downloadPROJ-4cf424f18a99be6bbce979fd17027f0ebdd934a6.tar.gz
PROJ-4cf424f18a99be6bbce979fd17027f0ebdd934a6.zip
Convert GIGS tests to gie format and add to CMake tests
-rw-r--r--test/CMakeLists.txt31
-rw-r--r--test/gigs/5101.1-jhs.gie732
-rw-r--r--test/gigs/5101.2-jhs.gie300
-rw-r--r--test/gigs/5101.3-jhs.gie300
-rw-r--r--test/gigs/5101.4-jhs-etmerc.gie300
-rw-r--r--test/gigs/5101.4-jhs.gie300
-rw-r--r--test/gigs/5102.1.gie252
-rw-r--r--test/gigs/5102.2.gie252
-rw-r--r--test/gigs/5103.1.gie264
-rw-r--r--test/gigs/5103.2.gie144
-rw-r--r--test/gigs/5103.3.gie144
-rw-r--r--test/gigs/5104.gie264
-rw-r--r--test/gigs/5105.1.gie300
-rw-r--r--test/gigs/5105.2.gie168
-rw-r--r--test/gigs/5106.gie300
-rw-r--r--test/gigs/5107.gie180
-rw-r--r--test/gigs/5108.gie228
-rw-r--r--test/gigs/5109.gie180
-rw-r--r--test/gigs/5110.gie156
-rw-r--r--test/gigs/5111.1.gie444
-rw-r--r--test/gigs/5111.2.gie444
-rw-r--r--test/gigs/5112.gie84
-rw-r--r--test/gigs/5113.gie84
-rw-r--r--test/gigs/5201.gie348
-rw-r--r--test/gigs/5203.1.gie192
-rw-r--r--test/gigs/5204.1.gie192
-rw-r--r--test/gigs/5205.1.gie192
-rw-r--r--test/gigs/5206.gie540
-rw-r--r--test/gigs/5207.1.gie252
-rw-r--r--test/gigs/5207.2.gie456
-rw-r--r--test/gigs/5208.gie192
-rw-r--r--test/gigs/convert_to_gie.py31
32 files changed, 8243 insertions, 3 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 4fe1d5ad..a91492da 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -7,3 +7,34 @@ 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("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-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-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")
+proj_add_gie_test("GIGS-5107" "gigs/5107.gie")
+#proj_add_gie_test("GIGS-5108" "gigs/5108.gie")
+proj_add_gie_test("GIGS-5109" "gigs/5109.gie")
+#proj_add_gie_test("GIGS-5110" "gigs/5110.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-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")
diff --git a/test/gigs/5101.1-jhs.gie b/test/gigs/5101.1-jhs.gie
new file mode 100644
index 00000000..2fd98883
--- /dev/null
+++ b/test/gigs/5101.1-jhs.gie
@@ -0,0 +1,732 @@
+--------------------------------------------------------------------------------
+
+Test 5101 (part 1), Transverse Mercator, v2-0_2011-06-28, recommended JHS formula
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +proj=etmerc +lat_0=49 +lon_0=-2 +k_0=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=WGS84 +units=m +no_def
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 3 80
+expect 496813.178 3358297.326
+
+tolerance 0.03 m
+accept 2.9999999 60
+expect 678711.584 1134498.83
+
+tolerance 0.03 m
+accept 3 49
+expect 765648.501 -87944.74
+
+tolerance 0.03 m
+accept 3.0000001 40
+expect 826893.845 -1087710.121
+
+tolerance 0.03 m
+accept 3 20
+expect 923539.353 -3308151.625
+
+tolerance 0.03 m
+accept 3 0
+expect 957087.829 -5527462.686
+
+tolerance 0.03 m
+accept 3 -20
+expect 923539.353 -7746773.748
+
+tolerance 0.03 m
+accept 3 -40
+expect 826893.845 -9967215.251
+
+tolerance 0.03 m
+accept 3 -60
+expect 678711.584 -12189424.202
+
+tolerance 0.03 m
+accept 3 -80
+expect 496813.178 -14413222.698
+
+tolerance 0.03 m
+accept -2 80
+expect 400000 3354134.429
+
+tolerance 0.03 m
+accept -2 60
+expect 400000 1123956.966
+
+tolerance 0.03 m
+accept -2 49
+expect 400000 -100000
+
+tolerance 0.03 m
+accept -2 40
+expect 400000 -1099699.834
+
+tolerance 0.03 m
+accept -2 20
+expect 400000 -3315978.565
+
+tolerance 0.03 m
+accept -2 0
+expect 400000 -5527462.686
+
+tolerance 0.03 m
+accept -2 -20
+expect 400000 -7738946.807
+
+tolerance 0.03 m
+accept -2 -40
+expect 400000 -9955225.538
+
+tolerance 0.03 m
+accept -2 -60
+expect 400000 -12178882.338
+
+tolerance 0.03 m
+accept -2 -80
+expect 400000 -14409059.801
+
+tolerance 0.03 m
+accept -5 80
+expect 341867.711 3355633.571
+
+tolerance 0.03 m
+accept -5 60
+expect 232704.966 1127751.264
+
+tolerance 0.03 m
+accept -5 49
+expect 180586.02 -95662.911
+
+tolerance 0.03 m
+accept -5 40
+expect 143900.026 -1095387.991
+
+tolerance 0.03 m
+accept -5 20
+expect 86073.28 -3313165.843
+
+tolerance 0.03 m
+accept -5 0
+expect 66021.018 -5527462.686
+
+tolerance 0.03 m
+accept -5 -20
+expect 86073.28 -7741759.529
+
+tolerance 0.03 m
+accept -5 -40
+expect 143900.026 -9959537.381
+
+tolerance 0.03 m
+accept -5 -60
+expect 232704.966 -12182676.637
+
+tolerance 0.03 m
+accept -5 -80
+expect 341867.711 -14410558.943
+
+tolerance 0.03 m
+accept -7.5559037 49.7661327
+expect 0 0
+
+tolerance 0.03 m
+accept -5 0
+expect 66021.018 -5527462.686
+
+tolerance 0.03 m
+accept -4 0
+expect 177404.277 -5527462.686
+
+tolerance 0.03 m
+accept -3 0
+expect 288719.208 -5527462.686
+
+tolerance 0.03 m
+accept -2 0
+expect 400000.0 -5527462.686
+
+tolerance 0.03 m
+accept -1 0
+expect 511280.792 -5527462.686
+
+tolerance 0.03 m
+accept 0 0
+expect 622595.723 -5527462.686
+
+tolerance 0.03 m
+accept 1 0
+expect 733978.982 -5527462.686
+
+tolerance 0.03 m
+accept 2 0
+expect 845464.865 -5527462.686
+
+tolerance 0.03 m
+accept 3 0
+expect 957087.829 -5527462.686
+
+tolerance 0.03 m
+accept 4 0
+expect 1068882.539 -5527462.686
+
+tolerance 0.03 m
+accept 5 0
+expect 1180883.933 -5527462.686
+
+tolerance 0.03 m
+accept 6 0
+expect 1293127.266 -5527462.686
+
+tolerance 0.03 m
+accept 7 0
+expect 1405648.179 -5527462.686
+
+tolerance 0.03 m
+accept 8 0
+expect 1518482.747 -5527462.686
+
+tolerance 0.03 m
+accept -5 60
+expect 232704.966 1127751.264
+
+tolerance 0.03 m
+accept -4 60
+expect 288455.816 1125643.213
+
+tolerance 0.03 m
+accept -3 60
+expect 344223.662 1124378.512
+
+tolerance 0.03 m
+accept -2 60
+expect 400000 1123956.966
+
+tolerance 0.03 m
+accept -1 60
+expect 455776.338 1124378.512
+
+tolerance 0.03 m
+accept 0 60
+expect 511544.184 1125643.213
+
+tolerance 0.03 m
+accept 1 60
+expect 567295.034 1127751.264
+
+tolerance 0.03 m
+accept 2 60
+expect 623020.357 1130702.987
+
+tolerance 0.03 m
+accept 3 60
+expect 678711.584 1134498.83
+
+tolerance 0.03 m
+accept 4.0 60.0
+expect 734360.093 1139139.367
+
+tolerance 0.03 m
+accept 5.0 60.0
+expect 789957.197 1144625.296
+
+tolerance 0.03 m
+accept 6.0 60.0
+expect 845494.132 1150957.434
+
+tolerance 0.03 m
+accept 7.0 60.0
+expect 900962.042 1158136.713
+
+tolerance 0.03 m
+accept 8.0 60.0
+expect 956351.967 1166164.18
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +proj=etmerc +lat_0=49 +lon_0=-2 +k_0=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=WGS84 +units=m +no_def +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 496813.178 3358297.326
+expect 3 80
+
+tolerance 0.03 m
+accept 678711.584 1134498.83
+expect 2.9999999 60
+
+tolerance 0.03 m
+accept 765648.501 -87944.74
+expect 3 49
+
+tolerance 0.03 m
+accept 826893.845 -1087710.121
+expect 3.0000001 40
+
+tolerance 0.03 m
+accept 923539.353 -3308151.625
+expect 3 20
+
+tolerance 0.03 m
+accept 957087.829 -5527462.686
+expect 3 0
+
+tolerance 0.03 m
+accept 923539.353 -7746773.748
+expect 3 -20
+
+tolerance 0.03 m
+accept 826893.845 -9967215.251
+expect 3 -40
+
+tolerance 0.03 m
+accept 678711.584 -12189424.202
+expect 3 -60
+
+tolerance 0.03 m
+accept 496813.178 -14413222.698
+expect 3 -80
+
+tolerance 0.03 m
+accept 400000 3354134.429
+expect -2 80
+
+tolerance 0.03 m
+accept 400000 1123956.966
+expect -2 60
+
+tolerance 0.03 m
+accept 400000 -100000
+expect -2 49
+
+tolerance 0.03 m
+accept 400000 -1099699.834
+expect -2 40
+
+tolerance 0.03 m
+accept 400000 -3315978.565
+expect -2 20
+
+tolerance 0.03 m
+accept 400000 -5527462.686
+expect -2 0
+
+tolerance 0.03 m
+accept 400000 -7738946.807
+expect -2 -20
+
+tolerance 0.03 m
+accept 400000 -9955225.538
+expect -2 -40
+
+tolerance 0.03 m
+accept 400000 -12178882.338
+expect -2 -60
+
+tolerance 0.03 m
+accept 400000 -14409059.801
+expect -2 -80
+
+tolerance 0.03 m
+accept 341867.711 3355633.571
+expect -5 80
+
+tolerance 0.03 m
+accept 232704.966 1127751.264
+expect -5 60
+
+tolerance 0.03 m
+accept 180586.02 -95662.911
+expect -5 49
+
+tolerance 0.03 m
+accept 143900.026 -1095387.991
+expect -5 40
+
+tolerance 0.03 m
+accept 86073.28 -3313165.843
+expect -5 20
+
+tolerance 0.03 m
+accept 66021.018 -5527462.686
+expect -5 0
+
+tolerance 0.03 m
+accept 86073.28 -7741759.529
+expect -5 -20
+
+tolerance 0.03 m
+accept 143900.026 -9959537.381
+expect -5 -40
+
+tolerance 0.03 m
+accept 232704.966 -12182676.637
+expect -5 -60
+
+tolerance 0.03 m
+accept 341867.711 -14410558.943
+expect -5 -80
+
+tolerance 0.03 m
+accept 0 0
+expect -7.5559037 49.7661327
+
+tolerance 0.03 m
+accept 66021.018 -5527462.686
+expect -5 0
+
+tolerance 0.03 m
+accept 177404.277 -5527462.686
+expect -4 0
+
+tolerance 0.03 m
+accept 288719.208 -5527462.686
+expect -3 0
+
+tolerance 0.03 m
+accept 400000.0 -5527462.686
+expect -2 0
+
+tolerance 0.03 m
+accept 511280.792 -5527462.686
+expect -1 0
+
+tolerance 0.03 m
+accept 622595.723 -5527462.686
+expect 0 0
+
+tolerance 0.03 m
+accept 733978.982 -5527462.686
+expect 1 0
+
+tolerance 0.03 m
+accept 845464.865 -5527462.686
+expect 2 0
+
+tolerance 0.03 m
+accept 957087.829 -5527462.686
+expect 3 0
+
+tolerance 0.03 m
+accept 1068882.539 -5527462.686
+expect 4 0
+
+tolerance 0.03 m
+accept 1180883.933 -5527462.686
+expect 5 0
+
+tolerance 0.03 m
+accept 1293127.266 -5527462.686
+expect 6 0
+
+tolerance 0.03 m
+accept 1405648.179 -5527462.686
+expect 7 0
+
+tolerance 0.03 m
+accept 1518482.747 -5527462.686
+expect 8 0
+
+tolerance 0.03 m
+accept 232704.966 1127751.264
+expect -5 60
+
+tolerance 0.03 m
+accept 288455.816 1125643.213
+expect -4 60
+
+tolerance 0.03 m
+accept 344223.662 1124378.512
+expect -3 60
+
+tolerance 0.03 m
+accept 400000 1123956.966
+expect -2 60
+
+tolerance 0.03 m
+accept 455776.338 1124378.512
+expect -1 60
+
+tolerance 0.03 m
+accept 511544.184 1125643.213
+expect 0 60
+
+tolerance 0.03 m
+accept 567295.034 1127751.264
+expect 1 60
+
+tolerance 0.03 m
+accept 623020.357 1130702.987
+expect 2 60
+
+tolerance 0.03 m
+accept 678711.584 1134498.83
+expect 3 60
+
+tolerance 0.03 m
+accept 734360.093 1139139.367
+expect 4.0 60.0
+
+tolerance 0.03 m
+accept 789957.197 1144625.296
+expect 5.0 60.0
+
+tolerance 0.03 m
+accept 845494.132 1150957.434
+expect 6.0 60.0
+
+tolerance 0.03 m
+accept 900962.042 1158136.713
+expect 7.0 60.0
+
+tolerance 0.03 m
+accept 956351.967 1166164.18
+expect 8.0 60.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +proj=etmerc +lat_0=49 +lon_0=-2 +k_0=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=WGS84 +units=m +no_def
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 3 80
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9999999 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 49
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3.0000001 40
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 20
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 -20
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 -40
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 -80
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 80
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 49
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 40
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 20
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 -20
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 -40
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 -80
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 80
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 49
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 40
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 20
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 -20
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 -40
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 -80
+roundtrip 1000
+
+tolerance 0.006 m
+accept -7.5559037 49.7661327
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -4 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -3 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -1 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 4 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 6 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 7 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 8 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -4 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -3 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept -1 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 4.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 6.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 7.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 8.0 60.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5101.2-jhs.gie b/test/gigs/5101.2-jhs.gie
new file mode 100644
index 00000000..7ea6275e
--- /dev/null
+++ b/test/gigs/5101.2-jhs.gie
@@ -0,0 +1,300 @@
+--------------------------------------------------------------------------------
+
+Test 5101 (part 2), Transverse Mercator, v2-0_2011-06-28, recommended JHS formula
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +init=epsg:32631
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept -2.0 80.0
+expect 403186.945 8885748.708
+
+tolerance 0.03 m
+accept -2.0 60.0
+expect 221288.77 6661953.041
+
+tolerance 0.03 m
+accept -2.0 40.0
+expect 73106.698 4439746.917
+
+tolerance 0.03 m
+accept -2.0 20.0
+expect -23538.687 2219308.238
+
+tolerance 0.03 m
+accept -2.0 0.0
+expect -57087.12 0.0
+
+tolerance 0.03 m
+accept -2.0 -20.0
+expect -23538.687 -2219308.238
+
+tolerance 0.03 m
+accept -2.0 -40.0
+expect 73106.698 -4439746.917
+
+tolerance 0.03 m
+accept -2.0 -60.0
+expect 221288.77 -6661953.041
+
+tolerance 0.03 m
+accept -2.0 -80.0
+expect 403186.945 -8885748.708
+
+tolerance 0.03 m
+accept -5.0 60.0
+expect 54506.435 6678411.623
+
+tolerance 0.03 m
+accept -4.0 60.0
+expect 110043.299 6672079.494
+
+tolerance 0.03 m
+accept -3.0 60.0
+expect 165640.332 6666593.572
+
+tolerance 0.03 m
+accept -2.0 60.0
+expect 221288.77 6661953.041
+
+tolerance 0.03 m
+accept -1.0 60.0
+expect 276979.926 6658157.202
+
+tolerance 0.03 m
+accept 0.0 60.0
+expect 332705.179 6655205.484
+
+tolerance 0.03 m
+accept 1.0 60.0
+expect 388455.958 6653097.435
+
+tolerance 0.03 m
+accept 2.0 60.0
+expect 444223.733 6651832.735
+
+tolerance 0.03 m
+accept 3.0 60.0
+expect 500000.0 6651411.19
+
+tolerance 0.03 m
+accept 4.0 60.0
+expect 555776.267 6651832.735
+
+tolerance 0.03 m
+accept 5.0 60.0
+expect 611544.042 6653097.435
+
+tolerance 0.03 m
+accept 6.0 60.0
+expect 667294.821 6655205.484
+
+tolerance 0.03 m
+accept 7.0 60.0
+expect 723020.074 6658157.202
+
+tolerance 0.03 m
+accept 8.0 60.0
+expect 778711.23 6661953.041
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:32631 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 403186.945 8885748.708
+expect -2.0 80.0
+
+tolerance 0.03 m
+accept 221288.77 6661953.041
+expect -2.0 60.0
+
+tolerance 0.03 m
+accept 73106.698 4439746.917
+expect -2.0 40.0
+
+tolerance 0.03 m
+accept -23538.687 2219308.238
+expect -2.0 20.0
+
+tolerance 0.03 m
+accept -57087.12 0.0
+expect -2.0 0.0
+
+tolerance 0.03 m
+accept -23538.687 -2219308.238
+expect -2.0 -20.0
+
+tolerance 0.03 m
+accept 73106.698 -4439746.917
+expect -2.0 -40.0
+
+tolerance 0.03 m
+accept 221288.77 -6661953.041
+expect -2.0 -60.0
+
+tolerance 0.03 m
+accept 403186.945 -8885748.708
+expect -2.0 -80.0
+
+tolerance 0.03 m
+accept 54506.435 6678411.623
+expect -5.0 60.0
+
+tolerance 0.03 m
+accept 110043.299 6672079.494
+expect -4.0 60.0
+
+tolerance 0.03 m
+accept 165640.332 6666593.572
+expect -3.0 60.0
+
+tolerance 0.03 m
+accept 221288.77 6661953.041
+expect -2.0 60.0
+
+tolerance 0.03 m
+accept 276979.926 6658157.202
+expect -1.0 60.0
+
+tolerance 0.03 m
+accept 332705.179 6655205.484
+expect 0.0 60.0
+
+tolerance 0.03 m
+accept 388455.958 6653097.435
+expect 1.0 60.0
+
+tolerance 0.03 m
+accept 444223.733 6651832.735
+expect 2.0 60.0
+
+tolerance 0.03 m
+accept 500000.0 6651411.19
+expect 3.0 60.0
+
+tolerance 0.03 m
+accept 555776.267 6651832.735
+expect 4.0 60.0
+
+tolerance 0.03 m
+accept 611544.042 6653097.435
+expect 5.0 60.0
+
+tolerance 0.03 m
+accept 667294.821 6655205.484
+expect 6.0 60.0
+
+tolerance 0.03 m
+accept 723020.074 6658157.202
+expect 7.0 60.0
+
+tolerance 0.03 m
+accept 778711.23 6661953.041
+expect 8.0 60.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +init=epsg:32631
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -2.0 80.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 40.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 20.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 0.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 -20.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 -40.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 -60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 -80.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -5.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -4.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -3.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -2.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -1.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 4.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 6.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 7.0 60.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 8.0 60.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5101.3-jhs.gie b/test/gigs/5101.3-jhs.gie
new file mode 100644
index 00000000..d588df4c
--- /dev/null
+++ b/test/gigs/5101.3-jhs.gie
@@ -0,0 +1,300 @@
+--------------------------------------------------------------------------------
+
+Test 5101 (part 3), Transverse Mercator, v2-0_2011-06-28, recommended JHS formula
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4283 +inv
+ +step +init=epsg:28354
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 146 80
+expect 596813.055 18885748.71
+
+tolerance 0.03 m
+accept 146 60
+expect 778711.23 16661953.04
+
+tolerance 0.03 m
+accept 146 40
+expect 926893.302 14439746.92
+
+tolerance 0.03 m
+accept 146 20
+expect 1023538.687 12219308.24
+
+tolerance 0.03 m
+accept 146 0
+expect 1057087.12 10000000.0
+
+tolerance 0.03 m
+accept 146 -20
+expect 1023538.687 7780691.762
+
+tolerance 0.03 m
+accept 146 -40
+expect 926893.302 5560253.083
+
+tolerance 0.03 m
+accept 146 -60
+expect 778711.23 3338046.96
+
+tolerance 0.03 m
+accept 146 -80
+expect 596813.055 1114251.292
+
+tolerance 0.03 m
+accept 136 -60
+expect 221288.77 3338046.96
+
+tolerance 0.03 m
+accept 137 -60
+expect 276979.926 3341842.798
+
+tolerance 0.03 m
+accept 138 -60
+expect 332705.179 3344794.516
+
+tolerance 0.03 m
+accept 139 -60
+expect 388455.958 3346902.565
+
+tolerance 0.03 m
+accept 140 -60
+expect 444223.733 3348167.265
+
+tolerance 0.03 m
+accept 141 -60
+expect 500000.0 3348588.81
+
+tolerance 0.03 m
+accept 142 -60
+expect 555776.267 3348167.265
+
+tolerance 0.03 m
+accept 143 -60
+expect 611544.042 3346902.565
+
+tolerance 0.03 m
+accept 144 -60
+expect 667294.821 3344794.516
+
+tolerance 0.03 m
+accept 145 -60
+expect 723020.074 3341842.798
+
+tolerance 0.03 m
+accept 146 -60
+expect 778711.23 3338046.96
+
+tolerance 0.03 m
+accept 147 -60
+expect 834359.668 3333406.428
+
+tolerance 0.03 m
+accept 148 -60
+expect 889956.701 3327920.506
+
+tolerance 0.03 m
+accept 149 -60
+expect 945493.565 3321588.377
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:28354 +inv
+ +step +init=epsg:4283
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 596813.055 18885748.71
+expect 146 80
+
+tolerance 0.03 m
+accept 778711.23 16661953.04
+expect 146 60
+
+tolerance 0.03 m
+accept 926893.302 14439746.92
+expect 146 40
+
+tolerance 0.03 m
+accept 1023538.687 12219308.24
+expect 146 20
+
+tolerance 0.03 m
+accept 1057087.12 10000000.0
+expect 146 0
+
+tolerance 0.03 m
+accept 1023538.687 7780691.762
+expect 146 -20
+
+tolerance 0.03 m
+accept 926893.302 5560253.083
+expect 146 -40
+
+tolerance 0.03 m
+accept 778711.23 3338046.96
+expect 146 -60
+
+tolerance 0.03 m
+accept 596813.055 1114251.292
+expect 146 -80
+
+tolerance 0.03 m
+accept 221288.77 3338046.96
+expect 136 -60
+
+tolerance 0.03 m
+accept 276979.926 3341842.798
+expect 137 -60
+
+tolerance 0.03 m
+accept 332705.179 3344794.516
+expect 138 -60
+
+tolerance 0.03 m
+accept 388455.958 3346902.565
+expect 139 -60
+
+tolerance 0.03 m
+accept 444223.733 3348167.265
+expect 140 -60
+
+tolerance 0.03 m
+accept 500000.0 3348588.81
+expect 141 -60
+
+tolerance 0.03 m
+accept 555776.267 3348167.265
+expect 142 -60
+
+tolerance 0.03 m
+accept 611544.042 3346902.565
+expect 143 -60
+
+tolerance 0.03 m
+accept 667294.821 3344794.516
+expect 144 -60
+
+tolerance 0.03 m
+accept 723020.074 3341842.798
+expect 145 -60
+
+tolerance 0.03 m
+accept 778711.23 3338046.96
+expect 146 -60
+
+tolerance 0.03 m
+accept 834359.668 3333406.428
+expect 147 -60
+
+tolerance 0.03 m
+accept 889956.701 3327920.506
+expect 148 -60
+
+tolerance 0.03 m
+accept 945493.565 3321588.377
+expect 149 -60
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4283 +inv
+ +step +init=epsg:28354
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 146 80
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 40
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 20
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 -20
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 -40
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 -80
+roundtrip 1000
+
+tolerance 0.006 m
+accept 136 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 137 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 138 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 139 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 141 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 142 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 143 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 144 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 145 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 146 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 147 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 148 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 149 -60
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5101.4-jhs-etmerc.gie b/test/gigs/5101.4-jhs-etmerc.gie
new file mode 100644
index 00000000..b97b7769
--- /dev/null
+++ b/test/gigs/5101.4-jhs-etmerc.gie
@@ -0,0 +1,300 @@
+--------------------------------------------------------------------------------
+
+Test 5101 (part 4), Transverse Mercator, v2-0_2011-06-28, recommended JHS formula
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4190 +inv
+ +step +proj=etmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept -63.9993433 80.0002644
+expect 5422500.0 18889800.0
+
+tolerance 0.03 m
+accept -63.9998472 60.0001191
+expect 5276900.0 16662800.0
+
+tolerance 0.03 m
+accept -63.9997361 40.0003081
+expect 5158399.999 14439199.99
+
+tolerance 0.03 m
+accept -64.0004605 19.9996448
+expect 5081100.0 12219300.0
+
+tolerance 0.03 m
+accept -63.9996186 0.0003092
+expect 5054400.005 10002000.0
+
+tolerance 0.03 m
+accept -64.0004675 -19.9999283
+expect 5081100.017 7784599.993
+
+tolerance 0.03 m
+accept -63.9997001 -39.9996924
+expect 5158400.0 5564800.0
+
+tolerance 0.03 m
+accept -63.9998814 -60.0004008
+expect 5276899.994 3341099.995
+
+tolerance 0.03 m
+accept -63.9991006 -79.9996521
+expect 5422500.0 1114200.0
+
+tolerance 0.03 m
+accept -70.0002089 -40.000215
+expect 4645300.113 5524200.123
+
+tolerance 0.03 m
+accept -69.0001441 -40.0002935
+expect 4730900.0 5533400.0
+
+tolerance 0.03 m
+accept -67.9995333 -39.9996136
+expect 4816500.043 5541700.028
+
+tolerance 0.03 m
+accept -66.9998073 -39.9999313
+expect 4902000.0 5548900.0
+
+tolerance 0.03 m
+accept -65.9996522 -39.9995894
+expect 4987500.009 5555200.001
+
+tolerance 0.03 m
+accept -64.9992796 -40.000411
+expect 5073000.0 5560400.0
+
+tolerance 0.03 m
+accept -63.9997 -39.9996925
+expect 5158400.01 5564799.987
+
+tolerance 0.03 m
+accept -62.9999842 -40.0002087
+expect 5243800.0 5568100.0
+
+tolerance 0.03 m
+accept -62.0000778 -40.0001803
+expect 5329199.995 5570500.009
+
+tolerance 0.03 m
+accept -61.0000574 -39.9996182
+expect 5414600.0 5572000.0
+
+tolerance 0.03 m
+accept -60.0 -40.0003306
+expect 5500000.0 5572399.996
+
+tolerance 0.03 m
+accept -58.9999426 -39.9996182
+expect 5585400.0 5572000.0
+
+tolerance 0.03 m
+accept -57.9999222 -40.0001803
+expect 5670800.005 5570500.009
+
+tolerance 0.03 m
+accept -57.0000158 -40.0002087
+expect 5756200.0 5568100.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +proj=etmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +inv
+ +step +init=epsg:4190
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 5422500.0 18889800.0
+expect -63.9993433 80.0002644
+
+tolerance 0.03 m
+accept 5276900.0 16662800.0
+expect -63.9998472 60.0001191
+
+tolerance 0.03 m
+accept 5158399.999 14439199.99
+expect -63.9997361 40.0003081
+
+tolerance 0.03 m
+accept 5081100.0 12219300.0
+expect -64.0004605 19.9996448
+
+tolerance 0.03 m
+accept 5054400.005 10002000.0
+expect -63.9996186 0.0003092
+
+tolerance 0.03 m
+accept 5081100.017 7784599.993
+expect -64.0004675 -19.9999283
+
+tolerance 0.03 m
+accept 5158400.0 5564800.0
+expect -63.9997001 -39.9996924
+
+tolerance 0.03 m
+accept 5276899.994 3341099.995
+expect -63.9998814 -60.0004008
+
+tolerance 0.03 m
+accept 5422500.0 1114200.0
+expect -63.9991006 -79.9996521
+
+tolerance 0.03 m
+accept 4645300.113 5524200.123
+expect -70.0002089 -40.000215
+
+tolerance 0.03 m
+accept 4730900.0 5533400.0
+expect -69.0001441 -40.0002935
+
+tolerance 0.03 m
+accept 4816500.043 5541700.028
+expect -67.9995333 -39.9996136
+
+tolerance 0.03 m
+accept 4902000.0 5548900.0
+expect -66.9998073 -39.9999313
+
+tolerance 0.03 m
+accept 4987500.009 5555200.001
+expect -65.9996522 -39.9995894
+
+tolerance 0.03 m
+accept 5073000.0 5560400.0
+expect -64.9992796 -40.000411
+
+tolerance 0.03 m
+accept 5158400.01 5564799.987
+expect -63.9997 -39.9996925
+
+tolerance 0.03 m
+accept 5243800.0 5568100.0
+expect -62.9999842 -40.0002087
+
+tolerance 0.03 m
+accept 5329199.995 5570500.009
+expect -62.0000778 -40.0001803
+
+tolerance 0.03 m
+accept 5414600.0 5572000.0
+expect -61.0000574 -39.9996182
+
+tolerance 0.03 m
+accept 5500000.0 5572399.996
+expect -60.0 -40.0003306
+
+tolerance 0.03 m
+accept 5585400.0 5572000.0
+expect -58.9999426 -39.9996182
+
+tolerance 0.03 m
+accept 5670800.005 5570500.009
+expect -57.9999222 -40.0001803
+
+tolerance 0.03 m
+accept 5756200.0 5568100.0
+expect -57.0000158 -40.0002087
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4190 +inv
+ +step +proj=etmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -63.9993433 80.0002644
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9998472 60.0001191
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9997361 40.0003081
+roundtrip 1000
+
+tolerance 0.006 m
+accept -64.0004605 19.9996448
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9996186 0.0003092
+roundtrip 1000
+
+tolerance 0.006 m
+accept -64.0004675 -19.9999283
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9997001 -39.9996924
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9998814 -60.0004008
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9991006 -79.9996521
+roundtrip 1000
+
+tolerance 0.006 m
+accept -70.0002089 -40.000215
+roundtrip 1000
+
+tolerance 0.006 m
+accept -69.0001441 -40.0002935
+roundtrip 1000
+
+tolerance 0.006 m
+accept -67.9995333 -39.9996136
+roundtrip 1000
+
+tolerance 0.006 m
+accept -66.9998073 -39.9999313
+roundtrip 1000
+
+tolerance 0.006 m
+accept -65.9996522 -39.9995894
+roundtrip 1000
+
+tolerance 0.006 m
+accept -64.9992796 -40.000411
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9997 -39.9996925
+roundtrip 1000
+
+tolerance 0.006 m
+accept -62.9999842 -40.0002087
+roundtrip 1000
+
+tolerance 0.006 m
+accept -62.0000778 -40.0001803
+roundtrip 1000
+
+tolerance 0.006 m
+accept -61.0000574 -39.9996182
+roundtrip 1000
+
+tolerance 0.006 m
+accept -60.0 -40.0003306
+roundtrip 1000
+
+tolerance 0.006 m
+accept -58.9999426 -39.9996182
+roundtrip 1000
+
+tolerance 0.006 m
+accept -57.9999222 -40.0001803
+roundtrip 1000
+
+tolerance 0.006 m
+accept -57.0000158 -40.0002087
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5101.4-jhs.gie b/test/gigs/5101.4-jhs.gie
new file mode 100644
index 00000000..615bf60b
--- /dev/null
+++ b/test/gigs/5101.4-jhs.gie
@@ -0,0 +1,300 @@
+--------------------------------------------------------------------------------
+
+Test 5101 (part 4), Transverse Mercator, v2-0_2011-06-28, recommended JHS formula
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4190 +inv
+ +step +init=epsg:22175
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept -63.9993433 80.0002644
+expect 5422500.0 18889800.0
+
+tolerance 0.03 m
+accept -63.9998472 60.0001191
+expect 5276900.0 16662800.0
+
+tolerance 0.03 m
+accept -63.9997361 40.0003081
+expect 5158399.999 14439199.99
+
+tolerance 0.03 m
+accept -64.0004605 19.9996448
+expect 5081100.0 12219300.0
+
+tolerance 0.03 m
+accept -63.9996186 0.0003092
+expect 5054400.005 10002000.0
+
+tolerance 0.03 m
+accept -64.0004675 -19.9999283
+expect 5081100.017 7784599.993
+
+tolerance 0.03 m
+accept -63.9997001 -39.9996924
+expect 5158400.0 5564800.0
+
+tolerance 0.03 m
+accept -63.9998814 -60.0004008
+expect 5276899.994 3341099.995
+
+tolerance 0.03 m
+accept -63.9991006 -79.9996521
+expect 5422500.0 1114200.0
+
+tolerance 0.03 m
+accept -70.0002089 -40.000215
+expect 4645300.113 5524200.123
+
+tolerance 0.03 m
+accept -69.0001441 -40.0002935
+expect 4730900.0 5533400.0
+
+tolerance 0.03 m
+accept -67.9995333 -39.9996136
+expect 4816500.043 5541700.028
+
+tolerance 0.03 m
+accept -66.9998073 -39.9999313
+expect 4902000.0 5548900.0
+
+tolerance 0.03 m
+accept -65.9996522 -39.9995894
+expect 4987500.009 5555200.001
+
+tolerance 0.03 m
+accept -64.9992796 -40.000411
+expect 5073000.0 5560400.0
+
+tolerance 0.03 m
+accept -63.9997 -39.9996925
+expect 5158400.01 5564799.987
+
+tolerance 0.03 m
+accept -62.9999842 -40.0002087
+expect 5243800.0 5568100.0
+
+tolerance 0.03 m
+accept -62.0000778 -40.0001803
+expect 5329199.995 5570500.009
+
+tolerance 0.03 m
+accept -61.0000574 -39.9996182
+expect 5414600.0 5572000.0
+
+tolerance 0.03 m
+accept -60 -40.0003306
+expect 5500000.0 5572399.996
+
+tolerance 0.03 m
+accept -58.9999426 -39.9996182
+expect 5585400.0 5572000.0
+
+tolerance 0.03 m
+accept -57.9999222 -40.0001803
+expect 5670800.005 5570500.009
+
+tolerance 0.03 m
+accept -57.0000158 -40.0002087
+expect 5756200.0 5568100.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:22175 +inv
+ +step +init=epsg:4190
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 5422500.0 18889800.0
+expect -63.9993433 80.0002644
+
+tolerance 0.03 m
+accept 5276900.0 16662800.0
+expect -63.9998472 60.0001191
+
+tolerance 0.03 m
+accept 5158399.999 14439199.99
+expect -63.9997361 40.0003081
+
+tolerance 0.03 m
+accept 5081100.0 12219300.0
+expect -64.0004605 19.9996448
+
+tolerance 0.03 m
+accept 5054400.005 10002000.0
+expect -63.9996186 0.0003092
+
+tolerance 0.03 m
+accept 5081100.017 7784599.993
+expect -64.0004675 -19.9999283
+
+tolerance 0.03 m
+accept 5158400.0 5564800.0
+expect -63.9997001 -39.9996924
+
+tolerance 0.03 m
+accept 5276899.994 3341099.995
+expect -63.9998814 -60.0004008
+
+tolerance 0.03 m
+accept 5422500.0 1114200.0
+expect -63.9991006 -79.9996521
+
+tolerance 0.03 m
+accept 4645300.113 5524200.123
+expect -70.0002089 -40.000215
+
+tolerance 0.03 m
+accept 4730900.0 5533400.0
+expect -69.0001441 -40.0002935
+
+tolerance 0.03 m
+accept 4816500.043 5541700.028
+expect -67.9995333 -39.9996136
+
+tolerance 0.03 m
+accept 4902000.0 5548900.0
+expect -66.9998073 -39.9999313
+
+tolerance 0.03 m
+accept 4987500.009 5555200.001
+expect -65.9996522 -39.9995894
+
+tolerance 0.03 m
+accept 5073000.0 5560400.0
+expect -64.9992796 -40.000411
+
+tolerance 0.03 m
+accept 5158400.01 5564799.987
+expect -63.9997 -39.9996925
+
+tolerance 0.03 m
+accept 5243800.0 5568100.0
+expect -62.9999842 -40.0002087
+
+tolerance 0.03 m
+accept 5329199.995 5570500.009
+expect -62.0000778 -40.0001803
+
+tolerance 0.03 m
+accept 5414600.0 5572000.0
+expect -61.0000574 -39.9996182
+
+tolerance 0.03 m
+accept 5500000.0 5572399.996
+expect -60 -40.0003306
+
+tolerance 0.03 m
+accept 5585400.0 5572000.0
+expect -58.9999426 -39.9996182
+
+tolerance 0.03 m
+accept 5670800.005 5570500.009
+expect -57.9999222 -40.0001803
+
+tolerance 0.03 m
+accept 5756200.0 5568100.0
+expect -57.0000158 -40.0002087
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4190 +inv
+ +step +init=epsg:22175
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -63.9993433 80.0002644
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9998472 60.0001191
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9997361 40.0003081
+roundtrip 1000
+
+tolerance 0.006 m
+accept -64.0004605 19.9996448
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9996186 0.0003092
+roundtrip 1000
+
+tolerance 0.006 m
+accept -64.0004675 -19.9999283
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9997001 -39.9996924
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9998814 -60.0004008
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9991006 -79.9996521
+roundtrip 1000
+
+tolerance 0.006 m
+accept -70.0002089 -40.000215
+roundtrip 1000
+
+tolerance 0.006 m
+accept -69.0001441 -40.0002935
+roundtrip 1000
+
+tolerance 0.006 m
+accept -67.9995333 -39.9996136
+roundtrip 1000
+
+tolerance 0.006 m
+accept -66.9998073 -39.9999313
+roundtrip 1000
+
+tolerance 0.006 m
+accept -65.9996522 -39.9995894
+roundtrip 1000
+
+tolerance 0.006 m
+accept -64.9992796 -40.000411
+roundtrip 1000
+
+tolerance 0.006 m
+accept -63.9997 -39.9996925
+roundtrip 1000
+
+tolerance 0.006 m
+accept -62.9999842 -40.0002087
+roundtrip 1000
+
+tolerance 0.006 m
+accept -62.0000778 -40.0001803
+roundtrip 1000
+
+tolerance 0.006 m
+accept -61.0000574 -39.9996182
+roundtrip 1000
+
+tolerance 0.006 m
+accept -60 -40.0003306
+roundtrip 1000
+
+tolerance 0.006 m
+accept -58.9999426 -39.9996182
+roundtrip 1000
+
+tolerance 0.006 m
+accept -57.9999222 -40.0001803
+roundtrip 1000
+
+tolerance 0.006 m
+accept -57.0000158 -40.0002087
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5102.1.gie b/test/gigs/5102.1.gie
new file mode 100644
index 00000000..d3eef080
--- /dev/null
+++ b/test/gigs/5102.1.gie
@@ -0,0 +1,252 @@
+--------------------------------------------------------------------------------
+
+Test 5102, Lambert Conic Conformal (1SP), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4230 +inv
+ +step +init=epsg:2192
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 5 58
+expect 760722.92 3457368.68
+
+tolerance 0.03 m
+accept 5 57
+expect 764566.844 3343948.93
+
+tolerance 0.03 m
+accept 5 56
+expect 768396.683 3230944.812
+
+tolerance 0.03 m
+accept 5 55
+expect 772213.973 3118310.947
+
+tolerance 0.03 m
+accept 5 54
+expect 776020.189 3006003.839
+
+tolerance 0.03 m
+accept 5 53
+expect 779816.748 2893981.68
+
+tolerance 0.03 m
+accept 4 51
+expect 717027.292 2668695.784
+
+tolerance 0.03 m
+accept 4 50
+expect 719385.249 2557252.841
+
+tolerance 0.03 m
+accept 4 49
+expect 721740.43 2445941.161
+
+tolerance 0.03 m
+accept 4 46.8
+expect 726915.752 2201342.519
+
+tolerance 0.03 m
+accept 3 53
+expect 644764.905 2891124.195
+
+tolerance 0.03 m
+accept 4 53
+expect 712299.916 2892123.369
+
+tolerance 0.03 m
+accept 5 53
+expect 779816.748 2893981.68
+
+tolerance 0.03 m
+accept 6 53
+expect 847304.473 2896698.827
+
+tolerance 0.03 m
+accept 7 53
+expect 914752.168 2900274.371
+
+tolerance 0.03 m
+accept 8 53
+expect 982148.913 2904707.734
+
+tolerance 0.03 m
+accept 9 53
+expect 1049483.8 2909998.196
+
+tolerance 0.03 m
+accept 10 53
+expect 1116745.929 2916144.902
+
+tolerance 0.03 m
+accept 11 53
+expect 1183924.412 2923146.858
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:2192 +inv
+ +step +init=epsg:4230
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 760722.92 3457368.68
+expect 5 58
+
+tolerance 0.03 m
+accept 764566.844 3343948.93
+expect 5 57
+
+tolerance 0.03 m
+accept 768396.683 3230944.812
+expect 5 56
+
+tolerance 0.03 m
+accept 772213.973 3118310.947
+expect 5 55
+
+tolerance 0.03 m
+accept 776020.189 3006003.839
+expect 5 54
+
+tolerance 0.03 m
+accept 779816.748 2893981.68
+expect 5 53
+
+tolerance 0.03 m
+accept 717027.292 2668695.784
+expect 4 51
+
+tolerance 0.03 m
+accept 719385.249 2557252.841
+expect 4 50
+
+tolerance 0.03 m
+accept 721740.43 2445941.161
+expect 4 49
+
+tolerance 0.03 m
+accept 726915.752 2201342.519
+expect 4 46.8
+
+tolerance 0.03 m
+accept 644764.905 2891124.195
+expect 3 53
+
+tolerance 0.03 m
+accept 712299.916 2892123.369
+expect 4 53
+
+tolerance 0.03 m
+accept 779816.748 2893981.68
+expect 5 53
+
+tolerance 0.03 m
+accept 847304.473 2896698.827
+expect 6 53
+
+tolerance 0.03 m
+accept 914752.168 2900274.371
+expect 7 53
+
+tolerance 0.03 m
+accept 982148.913 2904707.734
+expect 8 53
+
+tolerance 0.03 m
+accept 1049483.8 2909998.196
+expect 9 53
+
+tolerance 0.03 m
+accept 1116745.929 2916144.902
+expect 10 53
+
+tolerance 0.03 m
+accept 1183924.412 2923146.858
+expect 11 53
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4230 +inv
+ +step +init=epsg:2192
+--------------------------------------------------------------------------------
+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 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 4 46.8
+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
+
+</gie>
diff --git a/test/gigs/5102.2.gie b/test/gigs/5102.2.gie
new file mode 100644
index 00000000..db812dbd
--- /dev/null
+++ b/test/gigs/5102.2.gie
@@ -0,0 +1,252 @@
+--------------------------------------------------------------------------------
+
+Test 5102 (part 2), Lambert Conic Conformal (1SP), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4807 +inv
+ +step +init=epsg:27572
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 2.9586342556 64.4444444444
+expect 760724.023 3457334.864
+
+tolerance 0.03 m
+accept 2.9586342556 63.3333333333
+expect 764567.882 3343917.044
+
+tolerance 0.03 m
+accept 2.9586342556 62.2222222222
+expect 768397.648 3230915.06
+
+tolerance 0.03 m
+accept 2.9586342556 61.1111111111
+expect 772214.859 3118283.535
+
+tolerance 0.03 m
+accept 2.9586342556 60
+expect 776020.989 3005978.979
+
+tolerance 0.03 m
+accept 2.9586342556 58.8888888889
+expect 779817.454 2893959.584
+
+tolerance 0.03 m
+accept 1.8475231444 56.6666666667
+expect 717027.602 2668679.866
+
+tolerance 0.03 m
+accept 1.8475231444 55.5555555556
+expect 719385.487 2557240.347
+
+tolerance 0.03 m
+accept 1.8475231444 54.4444444444
+expect 721740.59 2445932.319
+
+tolerance 0.03 m
+accept 1.8475231444 52
+expect 726915.726 2201342.51839
+
+tolerance 0.03 m
+accept 0.7364120333 58.8888888889
+expect 644765.081 2891102.088
+
+tolerance 0.03 m
+accept 1.8475231444 58.8888888889
+expect 712300.356 2892101.266
+
+tolerance 0.03 m
+accept 2.9586342556 58.8888888889
+expect 779817.454 2893959.584
+
+tolerance 0.03 m
+accept 4.0697453667 58.8888888889
+expect 847305.444 2896676.742
+
+tolerance 0.03 m
+accept 5.1808564778 58.8888888889
+expect 914753.403 2900252.301
+
+tolerance 0.03 m
+accept 6.2919675889 58.8888888889
+expect 982150.413 2904685.68
+
+tolerance 0.03 m
+accept 7.4030787 58.8888888889
+expect 1049485.565 2909976.163
+
+tolerance 0.03 m
+accept 8.5141898111 58.8888888889
+expect 1116747.958 2916122.894
+
+tolerance 0.03 m
+accept 9.6253009222 58.8888888889
+expect 1183926.705 2923124.876
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:27572 +inv
+ +step +init=epsg:4807
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 760724.023 3457334.864
+expect 2.9586342556 64.4444444444
+
+tolerance 0.03 m
+accept 764567.882 3343917.044
+expect 2.9586342556 63.3333333333
+
+tolerance 0.03 m
+accept 768397.648 3230915.06
+expect 2.9586342556 62.2222222222
+
+tolerance 0.03 m
+accept 772214.859 3118283.535
+expect 2.9586342556 61.1111111111
+
+tolerance 0.03 m
+accept 776020.989 3005978.979
+expect 2.9586342556 60
+
+tolerance 0.03 m
+accept 779817.454 2893959.584
+expect 2.9586342556 58.8888888889
+
+tolerance 0.03 m
+accept 717027.602 2668679.866
+expect 1.8475231444 56.6666666667
+
+tolerance 0.03 m
+accept 719385.487 2557240.347
+expect 1.8475231444 55.5555555556
+
+tolerance 0.03 m
+accept 721740.59 2445932.319
+expect 1.8475231444 54.4444444444
+
+tolerance 0.03 m
+accept 726915.726 2201342.51839
+expect 1.8475231444 52
+
+tolerance 0.03 m
+accept 644765.081 2891102.088
+expect 0.7364120333 58.8888888889
+
+tolerance 0.03 m
+accept 712300.356 2892101.266
+expect 1.8475231444 58.8888888889
+
+tolerance 0.03 m
+accept 779817.454 2893959.584
+expect 2.9586342556 58.8888888889
+
+tolerance 0.03 m
+accept 847305.444 2896676.742
+expect 4.0697453667 58.8888888889
+
+tolerance 0.03 m
+accept 914753.403 2900252.301
+expect 5.1808564778 58.8888888889
+
+tolerance 0.03 m
+accept 982150.413 2904685.68
+expect 6.2919675889 58.8888888889
+
+tolerance 0.03 m
+accept 1049485.565 2909976.163
+expect 7.4030787 58.8888888889
+
+tolerance 0.03 m
+accept 1116747.958 2916122.894
+expect 8.5141898111 58.8888888889
+
+tolerance 0.03 m
+accept 1183926.705 2923124.876
+expect 9.6253009222 58.8888888889
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4807 +inv
+ +step +init=epsg:27572
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 2.9586342556 64.4444444444
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9586342556 63.3333333333
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9586342556 62.2222222222
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9586342556 61.1111111111
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9586342556 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9586342556 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1.8475231444 56.6666666667
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1.8475231444 55.5555555556
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1.8475231444 54.4444444444
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1.8475231444 52
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0.7364120333 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 1.8475231444 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 2.9586342556 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 4.0697453667 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5.1808564778 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 6.2919675889 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 7.4030787 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 8.5141898111 58.8888888889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 9.6253009222 58.8888888889
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5103.1.gie b/test/gigs/5103.1.gie
new file mode 100644
index 00000000..f00ed019
--- /dev/null
+++ b/test/gigs/5103.1.gie
@@ -0,0 +1,264 @@
+--------------------------------------------------------------------------------
+
+Test 5103 (part 1), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4313 +inv
+ +step +init=epsg:31370
+--------------------------------------------------------------------------------
+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
+--------------------------------------------------------------------------------
+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
+ +step +init=epsg:4313 +inv
+ +step +init=epsg:31370
+--------------------------------------------------------------------------------
+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
+
+</gie>
diff --git a/test/gigs/5103.2.gie b/test/gigs/5103.2.gie
new file mode 100644
index 00000000..3975e9d8
--- /dev/null
+++ b/test/gigs/5103.2.gie
@@ -0,0 +1,144 @@
+--------------------------------------------------------------------------------
+
+Test 5103 (part 2), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4152 +inv
+ +step +init=epsg:2921
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept -110 49
+expect 2003937.27 6452491.7
+
+tolerance 0.03 m
+accept -110 47
+expect 2016621.93 5717728.61
+
+tolerance 0.03 m
+accept -110 45
+expect 2029255.57 4985920.56
+
+tolerance 0.03 m
+accept -110 43
+expect 2041855.08 4256089.74
+
+tolerance 0.03 m
+accept -110 41
+expect 2054436.57 3527302.73
+
+tolerance 0.03 m
+accept -110 41
+expect 2054436.57 3527302.73
+
+tolerance 0.03 m
+accept -108 41
+expect 2606245.52 3543182.55
+
+tolerance 0.03 m
+accept -106 41
+expect 3157542.86 3571757.39
+
+tolerance 0.03 m
+accept -104 41
+expect 3708036.57 3613012.12
+
+tolerance 0.03 m
+accept -102 41
+expect 4257435.06 3666924.89
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:2921 +inv
+ +step +init=epsg:4152
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 2003937.27 6452491.7
+expect -110 49
+
+tolerance 0.03 m
+accept 2016621.93 5717728.61
+expect -110 47
+
+tolerance 0.03 m
+accept 2029255.57 4985920.56
+expect -110 45
+
+tolerance 0.03 m
+accept 2041855.08 4256089.74
+expect -110 43
+
+tolerance 0.03 m
+accept 2054436.57 3527302.73
+expect -110 41
+
+tolerance 0.03 m
+accept 2054436.57 3527302.73
+expect -110 41
+
+tolerance 0.03 m
+accept 2606245.52 3543182.55
+expect -108 41
+
+tolerance 0.03 m
+accept 3157542.86 3571757.39
+expect -106 41
+
+tolerance 0.03 m
+accept 3708036.57 3613012.12
+expect -104 41
+
+tolerance 0.03 m
+accept 4257435.06 3666924.89
+expect -102 41
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4152 +inv
+ +step +init=epsg:2921
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -110 49
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 47
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 45
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 43
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -108 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -106 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -104 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -102 41
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5103.3.gie b/test/gigs/5103.3.gie
new file mode 100644
index 00000000..b8965132
--- /dev/null
+++ b/test/gigs/5103.3.gie
@@ -0,0 +1,144 @@
+--------------------------------------------------------------------------------
+
+Test 5103 (part 3), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4152 +inv
+ +step +init=epsg:3568
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept -110 49
+expect 2003933.27 6452478.8
+
+tolerance 0.03 m
+accept -110 47
+expect 2016617.9 5717717.18
+
+tolerance 0.03 m
+accept -110 45
+expect 2029251.51 4985910.59
+
+tolerance 0.03 m
+accept -110 43
+expect 2041851.0 4256081.23
+
+tolerance 0.03 m
+accept -110 41
+expect 2054432.46 3527295.67
+
+tolerance 0.03 m
+accept -110 41
+expect 2054432.46 3527295.67
+
+tolerance 0.03 m
+accept -108 41
+expect 2606240.3 3543175.46
+
+tolerance 0.03 m
+accept -106 41
+expect 3157536.54 3571750.25
+
+tolerance 0.03 m
+accept -104 41
+expect 3708029.16 3613004.9
+
+tolerance 0.03 m
+accept -102 41
+expect 4257426.54 3666917.56
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:3568 +inv
+ +step +init=epsg:4152
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 2003933.27 6452478.8
+expect -110 49
+
+tolerance 0.03 m
+accept 2016617.9 5717717.18
+expect -110 47
+
+tolerance 0.03 m
+accept 2029251.51 4985910.59
+expect -110 45
+
+tolerance 0.03 m
+accept 2041851.0 4256081.23
+expect -110 43
+
+tolerance 0.03 m
+accept 2054432.46 3527295.67
+expect -110 41
+
+tolerance 0.03 m
+accept 2054432.46 3527295.67
+expect -110 41
+
+tolerance 0.03 m
+accept 2606240.3 3543175.46
+expect -108 41
+
+tolerance 0.03 m
+accept 3157536.54 3571750.25
+expect -106 41
+
+tolerance 0.03 m
+accept 3708029.16 3613004.9
+expect -104 41
+
+tolerance 0.03 m
+accept 4257426.54 3666917.56
+expect -102 41
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4152 +inv
+ +step +init=epsg:3568
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -110 49
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 47
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 45
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 43
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -110 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -108 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -106 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -104 41
+roundtrip 1000
+
+tolerance 0.006 m
+accept -102 41
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5104.gie b/test/gigs/5104.gie
new file mode 100644
index 00000000..10c42935
--- /dev/null
+++ b/test/gigs/5104.gie
@@ -0,0 +1,264 @@
+--------------------------------------------------------------------------------
+
+Test 5104, Oblique stereographic, v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4289 +inv
+ +step +init=epsg:28992
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 5 58
+expect 132023.27 1114054.87
+
+tolerance 0.05 m
+accept 5 57
+expect 131405.466 1002468.081
+
+tolerance 0.05 m
+accept 5 56
+expect 130792.264 890981.281
+
+tolerance 0.05 m
+accept 5 55
+expect 130183.56 779577.7
+
+tolerance 0.05 m
+accept 5 54
+expect 129579.26 668240.58
+
+tolerance 0.05 m
+accept 5 53
+expect 128979.26 556953.19
+
+tolerance 0.05 m
+accept 5.38763888889 52.1561605556
+expect 155000 463000
+
+tolerance 0.05 m
+accept 4 51
+expect 57605.946 335312.662
+
+tolerance 0.05 m
+accept 4 50
+expect 55502.306 224086.514
+
+tolerance 0.05 m
+accept 4.0 49.0
+expect 53412.76 112842.73
+
+tolerance 0.05 m
+accept 3.31372805556 47.9752611111
+expect 0 0
+
+tolerance 0.05 m
+accept 3 53
+expect -5253.06 559535.55
+
+tolerance 0.05 m
+accept 4 53
+expect 61856.78 557779.12
+
+tolerance 0.05 m
+accept 5 53
+expect 128979.26 556953.19
+
+tolerance 0.05 m
+accept 6 53
+expect 196105.28 557057.74
+
+tolerance 0.05 m
+accept 7 53
+expect 263225.72 558092.77
+
+tolerance 0.05 m
+accept 8 53
+expect 330331.46 560058.31
+
+tolerance 0.05 m
+accept 9 53
+expect 397413.385 562954.436
+
+tolerance 0.05 m
+accept 10 53
+expect 464462.35 566781.24
+
+tolerance 0.05 m
+accept 11 53
+expect 531469.2 571538.84
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:28992 +inv
+ +step +init=epsg:4289
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 132023.27 1114054.87
+expect 5 58
+
+tolerance 0.05 m
+accept 131405.466 1002468.081
+expect 5 57
+
+tolerance 0.05 m
+accept 130792.264 890981.281
+expect 5 56
+
+tolerance 0.05 m
+accept 130183.56 779577.7
+expect 5 55
+
+tolerance 0.05 m
+accept 129579.26 668240.58
+expect 5 54
+
+tolerance 0.05 m
+accept 128979.26 556953.19
+expect 5 53
+
+tolerance 0.05 m
+accept 155000 463000
+expect 5.38763888889 52.1561605556
+
+tolerance 0.05 m
+accept 57605.946 335312.662
+expect 4 51
+
+tolerance 0.05 m
+accept 55502.306 224086.514
+expect 4 50
+
+tolerance 0.05 m
+accept 53412.76 112842.73
+expect 4.0 49.0
+
+tolerance 0.05 m
+accept 0 0
+expect 3.31372805556 47.9752611111
+
+tolerance 0.05 m
+accept -5253.06 559535.55
+expect 3 53
+
+tolerance 0.05 m
+accept 61856.78 557779.12
+expect 4 53
+
+tolerance 0.05 m
+accept 128979.26 556953.19
+expect 5 53
+
+tolerance 0.05 m
+accept 196105.28 557057.74
+expect 6 53
+
+tolerance 0.05 m
+accept 263225.72 558092.77
+expect 7 53
+
+tolerance 0.05 m
+accept 330331.46 560058.31
+expect 8 53
+
+tolerance 0.05 m
+accept 397413.385 562954.436
+expect 9 53
+
+tolerance 0.05 m
+accept 464462.35 566781.24
+expect 10 53
+
+tolerance 0.05 m
+accept 531469.2 571538.84
+expect 11 53
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4289 +inv
+ +step +init=epsg:28992
+--------------------------------------------------------------------------------
+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.38763888889 52.1561605556
+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.0 49.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3.31372805556 47.9752611111
+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
+
+</gie>
diff --git a/test/gigs/5105.1.gie b/test/gigs/5105.1.gie
new file mode 100644
index 00000000..a0803d2b
--- /dev/null
+++ b/test/gigs/5105.1.gie
@@ -0,0 +1,300 @@
+--------------------------------------------------------------------------------
+
+Test 5105 (part 1), Oblique Mercator (variant B), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4742 +inv
+ +step +proj=somerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 117 12
+expect 807919.14 1329535.33
+
+tolerance 0.05 m
+accept 117 10
+expect 808784.98 1107678.47
+
+tolerance 0.05 m
+accept 117 9
+expect 809334.18 996918.21
+
+tolerance 0.05 m
+accept 117 8
+expect 809939.3 886240.18
+
+tolerance 0.05 m
+accept 116.8465522 6.8784583
+expect 793704.63 762081.05
+
+tolerance 0.05 m
+accept 117 6
+expect 811253.3 665041.27
+
+tolerance 0.05 m
+accept 117 5
+expect 811930.35 554475.63
+
+tolerance 0.05 m
+accept 117 4
+expect 812599.58 443902.71
+
+tolerance 0.05 m
+accept 115 4
+expect 590521.15 442890.86
+
+tolerance 0.05 m
+accept 117 3
+expect 813245.13 333300.13
+
+tolerance 0.05 m
+accept 117 2
+expect 813851.07 222645.51
+
+tolerance 0.05 m
+accept 117.0 1.0
+expect 814401.38 111916.45
+
+tolerance 0.05 m
+accept 109.6858208 -0.0001733
+expect 0 0
+
+tolerance 0.05 m
+accept 123 6
+expect 1475669.28 673118.57
+
+tolerance 0.05 m
+accept 122 6
+expect 1364854.86 671146.25
+
+tolerance 0.05 m
+accept 121 6
+expect 1254086.17 669446.25
+
+tolerance 0.05 m
+accept 120.0 6.0
+expect 1143352.6 668002.07
+
+tolerance 0.05 m
+accept 119.0 6.0
+expect 1032643.31 666797.35
+
+tolerance 0.05 m
+accept 118.0 6.0
+expect 921947.29 665815.82
+
+tolerance 0.05 m
+accept 117.0 6.0
+expect 811253.3 665041.27
+
+tolerance 0.05 m
+accept 116.0 6.0
+expect 700549.97 664457.59
+
+tolerance 0.05 m
+accept 115.0 6.0
+expect 589825.71 664048.72
+
+tolerance 0.05 m
+accept 114 6
+expect 479068.802 663798.63
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +proj=somerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs +inv
+ +step +init=epsg:4742
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 807919.14 1329535.33
+expect 117 12
+
+tolerance 0.05 m
+accept 808784.98 1107678.47
+expect 117 10
+
+tolerance 0.05 m
+accept 809334.18 996918.21
+expect 117 9
+
+tolerance 0.05 m
+accept 809939.3 886240.18
+expect 117 8
+
+tolerance 0.05 m
+accept 793704.63 762081.05
+expect 116.8465522 6.8784583
+
+tolerance 0.05 m
+accept 811253.3 665041.27
+expect 117 6
+
+tolerance 0.05 m
+accept 811930.35 554475.63
+expect 117 5
+
+tolerance 0.05 m
+accept 812599.58 443902.71
+expect 117 4
+
+tolerance 0.05 m
+accept 590521.15 442890.86
+expect 115 4
+
+tolerance 0.05 m
+accept 813245.13 333300.13
+expect 117 3
+
+tolerance 0.05 m
+accept 813851.07 222645.51
+expect 117 2
+
+tolerance 0.05 m
+accept 814401.38 111916.45
+expect 117.0 1.0
+
+tolerance 0.05 m
+accept 0 0
+expect 109.6858208 -0.0001733
+
+tolerance 0.05 m
+accept 1475669.28 673118.57
+expect 123 6
+
+tolerance 0.05 m
+accept 1364854.86 671146.25
+expect 122 6
+
+tolerance 0.05 m
+accept 1254086.17 669446.25
+expect 121 6
+
+tolerance 0.05 m
+accept 1143352.6 668002.07
+expect 120.0 6.0
+
+tolerance 0.05 m
+accept 1032643.31 666797.35
+expect 119.0 6.0
+
+tolerance 0.05 m
+accept 921947.29 665815.82
+expect 118.0 6.0
+
+tolerance 0.05 m
+accept 811253.3 665041.27
+expect 117.0 6.0
+
+tolerance 0.05 m
+accept 700549.97 664457.59
+expect 116.0 6.0
+
+tolerance 0.05 m
+accept 589825.71 664048.72
+expect 115.0 6.0
+
+tolerance 0.05 m
+accept 479068.802 663798.63
+expect 114 6
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4742 +inv
+ +step +proj=somerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 117 12
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 10
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 9
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 8
+roundtrip 1000
+
+tolerance 0.006 m
+accept 116.8465522 6.8784583
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 4
+roundtrip 1000
+
+tolerance 0.006 m
+accept 115 4
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 3
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 2
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117.0 1.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 109.6858208 -0.0001733
+roundtrip 1000
+
+tolerance 0.006 m
+accept 123 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 122 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 121 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 120.0 6.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 119.0 6.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 118.0 6.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117.0 6.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 116.0 6.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 115.0 6.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 114 6
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5105.2.gie b/test/gigs/5105.2.gie
new file mode 100644
index 00000000..190c9176
--- /dev/null
+++ b/test/gigs/5105.2.gie
@@ -0,0 +1,168 @@
+--------------------------------------------------------------------------------
+
+Test 5105 (part 2), Oblique Mercator (variant B), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4237 +inv
+ +step +init=epsg:23700
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 16 48.5
+expect 424714.235 355124.6
+
+tolerance 0.05 m
+accept 17.2 48.0
+expect 512056.188 296756.716
+
+tolerance 0.05 m
+accept 17.5826505556 47.6361347222
+expect 539847.765 255701.086
+
+tolerance 0.05 m
+accept 19.0485716667 47.1443936111
+expect 650000 200000
+
+tolerance 0.05 m
+accept 19.2234294444 46.8756683333
+expect 663329.053 170142.318
+
+tolerance 0.05 m
+accept 20.1357405556 46.3703011111
+expect 733651.455 114532.099
+
+tolerance 0.05 m
+accept 21.4 45.7
+expect 833148.855 42191.482
+
+tolerance 0.05 m
+accept 22.3 49.3
+expect 886565.935 444656.613
+
+tolerance 0.05 m
+accept 21.2941986111 48.4899747222
+expect 815999.993 351999.998
+
+tolerance 0.05 m
+accept 19.2234294444 46.8756683333
+expect 663329.053 170142.318
+
+tolerance 0.05 m
+accept 17.6191536111 46.0687463889
+expect 539403.958 81440.103
+
+tolerance 0.05 m
+accept 16.36 45.5
+expect 439836.709 20816.456
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:23700 +inv
+ +step +init=epsg:4237
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 424714.235 355124.6
+expect 16 48.5
+
+tolerance 0.05 m
+accept 512056.188 296756.716
+expect 17.2 48.0
+
+tolerance 0.05 m
+accept 539847.765 255701.086
+expect 17.5826505556 47.6361347222
+
+tolerance 0.05 m
+accept 650000 200000
+expect 19.0485716667 47.1443936111
+
+tolerance 0.05 m
+accept 663329.053 170142.318
+expect 19.2234294444 46.8756683333
+
+tolerance 0.05 m
+accept 733651.455 114532.099
+expect 20.1357405556 46.3703011111
+
+tolerance 0.05 m
+accept 833148.855 42191.482
+expect 21.4 45.7
+
+tolerance 0.05 m
+accept 886565.935 444656.613
+expect 22.3 49.3
+
+tolerance 0.05 m
+accept 815999.993 351999.998
+expect 21.2941986111 48.4899747222
+
+tolerance 0.05 m
+accept 663329.053 170142.318
+expect 19.2234294444 46.8756683333
+
+tolerance 0.05 m
+accept 539403.958 81440.103
+expect 17.6191536111 46.0687463889
+
+tolerance 0.05 m
+accept 439836.709 20816.456
+expect 16.36 45.5
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4237 +inv
+ +step +init=epsg:23700
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 16 48.5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 17.2 48.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 17.5826505556 47.6361347222
+roundtrip 1000
+
+tolerance 0.006 m
+accept 19.0485716667 47.1443936111
+roundtrip 1000
+
+tolerance 0.006 m
+accept 19.2234294444 46.8756683333
+roundtrip 1000
+
+tolerance 0.006 m
+accept 20.1357405556 46.3703011111
+roundtrip 1000
+
+tolerance 0.006 m
+accept 21.4 45.7
+roundtrip 1000
+
+tolerance 0.006 m
+accept 22.3 49.3
+roundtrip 1000
+
+tolerance 0.006 m
+accept 21.2941986111 48.4899747222
+roundtrip 1000
+
+tolerance 0.006 m
+accept 19.2234294444 46.8756683333
+roundtrip 1000
+
+tolerance 0.006 m
+accept 17.6191536111 46.0687463889
+roundtrip 1000
+
+tolerance 0.006 m
+accept 16.36 45.5
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5106.gie b/test/gigs/5106.gie
new file mode 100644
index 00000000..6c5940ef
--- /dev/null
+++ b/test/gigs/5106.gie
@@ -0,0 +1,300 @@
+--------------------------------------------------------------------------------
+
+Test 5106, Hotine Oblique Mercator (variant A), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4742 +inv
+ +step +init=epsg:3376
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 117 12
+expect 807919.144 1329535.334
+
+tolerance 0.05 m
+accept 117 10
+expect 808784.981 1107678.473
+
+tolerance 0.05 m
+accept 117 9
+expect 809334.177 996918.212
+
+tolerance 0.05 m
+accept 117 8
+expect 809939.302 886240.183
+
+tolerance 0.05 m
+accept 116.846552222 6.87845833333
+expect 793704.631 762081.047
+
+tolerance 0.05 m
+accept 117 6
+expect 811253.303 665041.265
+
+tolerance 0.05 m
+accept 117 5
+expect 811930.345 554475.627
+
+tolerance 0.05 m
+accept 117 4
+expect 812599.582 443902.706
+
+tolerance 0.05 m
+accept 115 4
+expect 590521.147 442890.861
+
+tolerance 0.05 m
+accept 117 3
+expect 813245.133 333300.13
+
+tolerance 0.05 m
+accept 117 2
+expect 813851.067 222645.511
+
+tolerance 0.05 m
+accept 117 1
+expect 814401.375 111916.452
+
+tolerance 0.05 m
+accept 109.685820833 -0.000173333333333
+expect 0 0
+
+tolerance 0.05 m
+accept 123 6
+expect 1475669.281 673118.573
+
+tolerance 0.05 m
+accept 122 6
+expect 1364854.862 671146.254
+
+tolerance 0.05 m
+accept 121 6
+expect 1254086.173 669446.249
+
+tolerance 0.05 m
+accept 120 6
+expect 1143352.598 668002.074
+
+tolerance 0.05 m
+accept 119 6
+expect 1032643.312 666797.354
+
+tolerance 0.05 m
+accept 118 6
+expect 921947.286 665815.815
+
+tolerance 0.05 m
+accept 117 6
+expect 811253.303 665041.265
+
+tolerance 0.05 m
+accept 116 6
+expect 700549.965 664457.586
+
+tolerance 0.05 m
+accept 115 6
+expect 589825.706 664048.715
+
+tolerance 0.05 m
+accept 114 6
+expect 479068.802 663798.63
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:3376 +inv
+ +step +init=epsg:4742
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 807919.144 1329535.334
+expect 117 12
+
+tolerance 0.05 m
+accept 808784.981 1107678.473
+expect 117 10
+
+tolerance 0.05 m
+accept 809334.177 996918.212
+expect 117 9
+
+tolerance 0.05 m
+accept 809939.302 886240.183
+expect 117 8
+
+tolerance 0.05 m
+accept 793704.631 762081.047
+expect 116.846552222 6.87845833333
+
+tolerance 0.05 m
+accept 811253.303 665041.265
+expect 117 6
+
+tolerance 0.05 m
+accept 811930.345 554475.627
+expect 117 5
+
+tolerance 0.05 m
+accept 812599.582 443902.706
+expect 117 4
+
+tolerance 0.05 m
+accept 590521.147 442890.861
+expect 115 4
+
+tolerance 0.05 m
+accept 813245.133 333300.13
+expect 117 3
+
+tolerance 0.05 m
+accept 813851.067 222645.511
+expect 117 2
+
+tolerance 0.05 m
+accept 814401.375 111916.452
+expect 117 1
+
+tolerance 0.05 m
+accept 0 0
+expect 109.685820833 -0.000173333333333
+
+tolerance 0.05 m
+accept 1475669.281 673118.573
+expect 123 6
+
+tolerance 0.05 m
+accept 1364854.862 671146.254
+expect 122 6
+
+tolerance 0.05 m
+accept 1254086.173 669446.249
+expect 121 6
+
+tolerance 0.05 m
+accept 1143352.598 668002.074
+expect 120 6
+
+tolerance 0.05 m
+accept 1032643.312 666797.354
+expect 119 6
+
+tolerance 0.05 m
+accept 921947.286 665815.815
+expect 118 6
+
+tolerance 0.05 m
+accept 811253.303 665041.265
+expect 117 6
+
+tolerance 0.05 m
+accept 700549.965 664457.586
+expect 116 6
+
+tolerance 0.05 m
+accept 589825.706 664048.715
+expect 115 6
+
+tolerance 0.05 m
+accept 479068.802 663798.63
+expect 114 6
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4742 +inv
+ +step +init=epsg:3376
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 117 12
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 10
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 9
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 8
+roundtrip 1000
+
+tolerance 0.006 m
+accept 116.846552222 6.87845833333
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 4
+roundtrip 1000
+
+tolerance 0.006 m
+accept 115 4
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 3
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 2
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 1
+roundtrip 1000
+
+tolerance 0.006 m
+accept 109.685820833 -0.000173333333333
+roundtrip 1000
+
+tolerance 0.006 m
+accept 123 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 122 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 121 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 120 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 119 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 118 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 117 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 116 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 115 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 114 6
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5107.gie b/test/gigs/5107.gie
new file mode 100644
index 00000000..f78e9c22
--- /dev/null
+++ b/test/gigs/5107.gie
@@ -0,0 +1,180 @@
+--------------------------------------------------------------------------------
+
+Test 5107, American Polyconic, v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4674 +inv
+ +step +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept -54 0
+expect 5000000.0 10000000.0
+
+tolerance 0.05 m
+accept -45 6
+expect 5996378.70982 10671650.0559
+
+tolerance 0.05 m
+accept -45 0
+expect 6001875.41714 10000000.0
+
+tolerance 0.05 m
+accept -45 -6
+expect 5996378.70982 9328349.94408
+
+tolerance 0.05 m
+accept -41 -13
+expect 6409689.58688 8526306.26193
+
+tolerance 0.05 m
+accept -38 -20
+expect 6671808.91963 7707735.72988
+
+tolerance 0.05 m
+accept -37 -24
+expect 6725584.49173 7240461.99578
+
+tolerance 0.05 m
+accept -36 -30
+expect 6729619.73995 6543762.57644
+
+tolerance 0.05 m
+accept -57 -30
+expect 4710574.22344 6676097.81117
+
+tolerance 0.05 m
+accept -54 -29.3674766667
+expect 5000000.0 6750000.0
+
+tolerance 0.05 m
+accept -47 -27.5
+expect 5691318.14689 6937461.05067
+
+tolerance 0.05 m
+accept -37 -24
+expect 6725584.49173 7240461.99578
+
+tolerance 0.05 m
+accept -30 -22.5
+expect 7458947.70133 7313327.31691
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +inv
+ +step +init=epsg:4674
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 5000000.0 10000000.0
+expect -54 0
+
+tolerance 0.05 m
+accept 5996378.70982 10671650.0559
+expect -45 6
+
+tolerance 0.05 m
+accept 6001875.41714 10000000.0
+expect -45 0
+
+tolerance 0.05 m
+accept 5996378.70982 9328349.94408
+expect -45 -6
+
+tolerance 0.05 m
+accept 6409689.58688 8526306.26193
+expect -41 -13
+
+tolerance 0.05 m
+accept 6671808.91963 7707735.72988
+expect -38 -20
+
+tolerance 0.05 m
+accept 6725584.49173 7240461.99578
+expect -37 -24
+
+tolerance 0.05 m
+accept 6729619.73995 6543762.57644
+expect -36 -30
+
+tolerance 0.05 m
+accept 4710574.22344 6676097.81117
+expect -57 -30
+
+tolerance 0.05 m
+accept 5000000.0 6750000.0
+expect -54 -29.3674766667
+
+tolerance 0.05 m
+accept 5691318.14689 6937461.05067
+expect -47 -27.5
+
+tolerance 0.05 m
+accept 6725584.49173 7240461.99578
+expect -37 -24
+
+tolerance 0.05 m
+accept 7458947.70133 7313327.31691
+expect -30 -22.5
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4674 +inv
+ +step +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -54 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -45 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept -45 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -45 -6
+roundtrip 1000
+
+tolerance 0.006 m
+accept -41 -13
+roundtrip 1000
+
+tolerance 0.006 m
+accept -38 -20
+roundtrip 1000
+
+tolerance 0.006 m
+accept -37 -24
+roundtrip 1000
+
+tolerance 0.006 m
+accept -36 -30
+roundtrip 1000
+
+tolerance 0.006 m
+accept -57 -30
+roundtrip 1000
+
+tolerance 0.006 m
+accept -54 -29.3674766667
+roundtrip 1000
+
+tolerance 0.006 m
+accept -47 -27.5
+roundtrip 1000
+
+tolerance 0.006 m
+accept -37 -24
+roundtrip 1000
+
+tolerance 0.006 m
+accept -30 -22.5
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5108.gie b/test/gigs/5108.gie
new file mode 100644
index 00000000..a5273a65
--- /dev/null
+++ b/test/gigs/5108.gie
@@ -0,0 +1,228 @@
+--------------------------------------------------------------------------------
+
+Test 5108, Cassini-Soldner, v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4742 +inv
+ +step +init=epsg:3377
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 106 10
+expect 267186.017 881108.902
+
+tolerance 0.05 m
+accept 106 9
+expect 268006.024 770398.186
+
+tolerance 0.05 m
+accept 106 8
+expect 268740.351 659692.254
+
+tolerance 0.05 m
+accept 106 7
+expect 269388.786 548990.588
+
+tolerance 0.05 m
+accept 106 6
+expect 269951.141 438292.666
+
+tolerance 0.05 m
+accept 106 5
+expect 270427.255 327597.962
+
+tolerance 0.05 m
+accept 106 4
+expect 270816.99 216905.945
+
+tolerance 0.05 m
+accept 106 3
+expect 271120.234 106216.081
+
+tolerance 0.05 m
+accept 103.561065778 2.0424676812
+expect 0 0
+
+tolerance 0.05 m
+accept 103.64025984 1.82776484381
+expect 8813.252 -23740.095
+
+tolerance 0.05 m
+accept 106 1
+expect 271466.923 -115159.332
+
+tolerance 0.05 m
+accept 109 5
+expect 603116.703 329668.599
+
+tolerance 0.05 m
+accept 108 5
+expect 492221.308 328807.336
+
+tolerance 0.05 m
+accept 107 5
+expect 381324.74 328117.472
+
+tolerance 0.05 m
+accept 106 5
+expect 270427.255 327597.962
+
+tolerance 0.05 m
+accept 105 5
+expect 159529.111 327248.012
+
+tolerance 0.05 m
+accept 104 5
+expect 48630.563 327067.097
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:3377 +inv
+ +step +init=epsg:4742
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 267186.017 881108.902
+expect 106 10
+
+tolerance 0.05 m
+accept 268006.024 770398.186
+expect 106 9
+
+tolerance 0.05 m
+accept 268740.351 659692.254
+expect 106 8
+
+tolerance 0.05 m
+accept 269388.786 548990.588
+expect 106 7
+
+tolerance 0.05 m
+accept 269951.141 438292.666
+expect 106 6
+
+tolerance 0.05 m
+accept 270427.255 327597.962
+expect 106 5
+
+tolerance 0.05 m
+accept 270816.99 216905.945
+expect 106 4
+
+tolerance 0.05 m
+accept 271120.234 106216.081
+expect 106 3
+
+tolerance 0.05 m
+accept 0 0
+expect 103.561065778 2.0424676812
+
+tolerance 0.05 m
+accept 8813.252 -23740.095
+expect 103.64025984 1.82776484381
+
+tolerance 0.05 m
+accept 271466.923 -115159.332
+expect 106 1
+
+tolerance 0.05 m
+accept 603116.703 329668.599
+expect 109 5
+
+tolerance 0.05 m
+accept 492221.308 328807.336
+expect 108 5
+
+tolerance 0.05 m
+accept 381324.74 328117.472
+expect 107 5
+
+tolerance 0.05 m
+accept 270427.255 327597.962
+expect 106 5
+
+tolerance 0.05 m
+accept 159529.111 327248.012
+expect 105 5
+
+tolerance 0.05 m
+accept 48630.563 327067.097
+expect 104 5
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4742 +inv
+ +step +init=epsg:3377
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 106 10
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 9
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 8
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 7
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 6
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 4
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 3
+roundtrip 1000
+
+tolerance 0.006 m
+accept 103.561065778 2.0424676812
+roundtrip 1000
+
+tolerance 0.006 m
+accept 103.64025984 1.82776484381
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 1
+roundtrip 1000
+
+tolerance 0.006 m
+accept 109 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 108 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 107 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 105 5
+roundtrip 1000
+
+tolerance 0.006 m
+accept 104 5
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5109.gie b/test/gigs/5109.gie
new file mode 100644
index 00000000..a104e66f
--- /dev/null
+++ b/test/gigs/5109.gie
@@ -0,0 +1,180 @@
+--------------------------------------------------------------------------------
+
+Test 5109, Albers Equal Area, v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4283 +inv
+ +step +init=epsg:3577
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 132 0
+expect 0 0
+
+tolerance 0.05 m
+accept 132 -27
+expect 0 -2926820.89
+
+tolerance 0.05 m
+accept 140 0
+expect 966973.98 -30285.6
+
+tolerance 0.05 m
+accept 140 -20
+expect 832799.36 -2170181.93
+
+tolerance 0.05 m
+accept 140 -40
+expect 693250.21 -4395794.49
+
+tolerance 0.05 m
+accept 140 -60
+expect 567313.29 -6404311.16
+
+tolerance 0.05 m
+accept 140 -80
+expect 486878.674 -7687130.029
+
+tolerance 0.05 m
+accept 120 -60
+expect -850274.75 -6426505.13
+
+tolerance 0.05 m
+accept 130 -60
+expect -141915.26 -6387653.78
+
+tolerance 0.05 m
+accept 140 -60
+expect 567313.29 -6404311.16
+
+tolerance 0.05 m
+accept 150 -60
+expect 1273067.747 -6476375.276
+
+tolerance 0.05 m
+accept 160 -60
+expect 1971026.26 -6603404.82
+
+tolerance 0.05 m
+accept 170 -60
+expect 2656914.716 -6784621.89
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:3577 +inv
+ +step +init=epsg:4283
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 0 0
+expect 132 0
+
+tolerance 0.05 m
+accept 0 -2926820.89
+expect 132 -27
+
+tolerance 0.05 m
+accept 966973.98 -30285.6
+expect 140 0
+
+tolerance 0.05 m
+accept 832799.36 -2170181.93
+expect 140 -20
+
+tolerance 0.05 m
+accept 693250.21 -4395794.49
+expect 140 -40
+
+tolerance 0.05 m
+accept 567313.29 -6404311.16
+expect 140 -60
+
+tolerance 0.05 m
+accept 486878.674 -7687130.029
+expect 140 -80
+
+tolerance 0.05 m
+accept -850274.75 -6426505.13
+expect 120 -60
+
+tolerance 0.05 m
+accept -141915.26 -6387653.78
+expect 130 -60
+
+tolerance 0.05 m
+accept 567313.29 -6404311.16
+expect 140 -60
+
+tolerance 0.05 m
+accept 1273067.747 -6476375.276
+expect 150 -60
+
+tolerance 0.05 m
+accept 1971026.26 -6603404.82
+expect 160 -60
+
+tolerance 0.05 m
+accept 2656914.716 -6784621.89
+expect 170 -60
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4283 +inv
+ +step +init=epsg:3577
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 132 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 132 -27
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 -20
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 -40
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 -80
+roundtrip 1000
+
+tolerance 0.006 m
+accept 120 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 130 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 140 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 150 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 160 -60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 170 -60
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5110.gie b/test/gigs/5110.gie
new file mode 100644
index 00000000..031dfac9
--- /dev/null
+++ b/test/gigs/5110.gie
@@ -0,0 +1,156 @@
+--------------------------------------------------------------------------------
+
+Test 5110, Lambert Azimuthal Equal Area, v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4258 +inv
+ +step +init=epsg:3035
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 5 70
+expect 4127824.65822 5214090.649
+
+tolerance 0.05 m
+accept 5 60
+expect 4041548.13 4109791.66
+
+tolerance 0.05 m
+accept 5 50
+expect 3962799.45 2999718.853
+
+tolerance 0.05 m
+accept 5 40
+expect 3892127.02 1892578.962
+
+tolerance 0.05 m
+accept 5 30
+expect 3830117.9 796781.677
+
+tolerance 0.05 m
+accept 10 52
+expect 4321000.0 3210000.0
+
+tolerance 0.05 m
+accept 0.0 50.0
+expect 3606514.43 3036305.967
+
+tolerance 0.05 m
+accept 3.0 50.0
+expect 3819948.288 3011432.894
+
+tolerance 0.05 m
+accept 5.0 50.0
+expect 3962799.451 2999718.853
+
+tolerance 0.05 m
+accept 8.0 50.0
+expect 4177612.521 2989464.315
+
+tolerance 0.05 m
+accept 10.0 50.0
+expect 4321000.0 2987510.567
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:3035 +inv
+ +step +init=epsg:4258
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 4127824.65822 5214090.649
+expect 5 70
+
+tolerance 0.05 m
+accept 4041548.13 4109791.66
+expect 5 60
+
+tolerance 0.05 m
+accept 3962799.45 2999718.853
+expect 5 50
+
+tolerance 0.05 m
+accept 3892127.02 1892578.962
+expect 5 40
+
+tolerance 0.05 m
+accept 3830117.9 796781.677
+expect 5 30
+
+tolerance 0.05 m
+accept 4321000.0 3210000.0
+expect 10 52
+
+tolerance 0.05 m
+accept 3606514.43 3036305.967
+expect 0.0 50.0
+
+tolerance 0.05 m
+accept 3819948.288 3011432.894
+expect 3.0 50.0
+
+tolerance 0.05 m
+accept 3962799.451 2999718.853
+expect 5.0 50.0
+
+tolerance 0.05 m
+accept 4177612.521 2989464.315
+expect 8.0 50.0
+
+tolerance 0.05 m
+accept 4321000.0 2987510.567
+expect 10.0 50.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4258 +inv
+ +step +init=epsg:3035
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 5 70
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5 60
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5 50
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5 40
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5 30
+roundtrip 1000
+
+tolerance 0.006 m
+accept 10 52
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0.0 50.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3.0 50.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 5.0 50.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 8.0 50.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 10.0 50.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5111.1.gie b/test/gigs/5111.1.gie
new file mode 100644
index 00000000..2517b185
--- /dev/null
+++ b/test/gigs/5111.1.gie
@@ -0,0 +1,444 @@
+--------------------------------------------------------------------------------
+
+Test 5111 (part 1), Mercator (variant A), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4211 +inv
+ +step +init=epsg:3001
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 100.0876483 77.6534822
+expect 2800000.0 15000000.0
+
+tolerance 0.05 m
+accept 100.0876483 73.1442856
+expect 2800000.0 13000000.0
+
+tolerance 0.05 m
+accept 100.0876483 67.0518325
+expect 2800000.0 11000000.0
+
+tolerance 0.05 m
+accept 100.0876483 58.9140458
+expect 2800000.0 9000000.0
+
+tolerance 0.05 m
+accept 100.0876483 48.2638981
+expect 2800000.0 7000000.0
+
+tolerance 0.05 m
+accept 100.0876483 34.8029044
+expect 2800000.0 5000000.0
+
+tolerance 0.05 m
+accept 100.0876483 18.7048581
+expect 2800000.0 3000000.0
+
+tolerance 0.05 m
+accept 100.0876483 0.9071392
+expect 2800000.0 1000000.0
+
+tolerance 0.05 m
+accept 110.0 0.0
+expect 3900000.0 900000.0
+
+tolerance 0.05 m
+accept 100.0876483 -0.9071392
+expect 2800000.0 800000.0
+
+tolerance 0.05 m
+accept 100.0876483 -1.8140483
+expect 2800000.0 700000.0
+
+tolerance 0.05 m
+accept 100.0876483 -2.0
+expect 2800000.0 679490.65
+
+tolerance 0.05 m
+accept 100.0876483 -3.6262553
+expect 2800000.0 500000.0
+
+tolerance 0.05 m
+accept 100.0876483 -4.531095
+expect 2800000.0 400000.0
+
+tolerance 0.05 m
+accept 100.0876483 -5.4347892
+expect 2800000.0 300000.0
+
+tolerance 0.05 m
+accept 100.0876483 -6.3371111
+expect 2800000.0 200000.0
+
+tolerance 0.05 m
+accept 100.0876483 -7.2378372
+expect 2800000.0 100000.0
+
+tolerance 0.05 m
+accept 74.8562083 -8.136745
+expect 0.0 0.0
+
+tolerance 0.05 m
+accept -71.0 -2.0
+expect 23764105.84 679490.65
+
+tolerance 0.05 m
+accept -90.0 -2.0
+expect 21655625.33 679490.65
+
+tolerance 0.05 m
+accept -120.0 -2.0
+expect 18326445.58 679490.65
+
+tolerance 0.05 m
+accept -150.0 -2.0
+expect 14997265.83 679490.65
+
+tolerance 0.05 m
+accept 180.0 -2.0
+expect 11668086.08 679490.65
+
+tolerance 0.05 m
+accept 150.0 -2.0
+expect 8338906.33 679490.65
+
+tolerance 0.05 m
+accept 120.0 -2.0
+expect 5009726.58 679490.65
+
+tolerance 0.05 m
+accept 110.0 -2.0
+expect 3900000.0 679490.65
+
+tolerance 0.05 m
+accept 106.8077194 -2.0
+expect 3545744.14 679490.65
+
+tolerance 0.05 m
+accept 100.0876483 -2.0
+expect 2800000.0 679490.65
+
+tolerance 0.05 m
+accept 90.0 -2.0
+expect 1680546.83 679490.65
+
+tolerance 0.05 m
+accept 60.0 -2.0
+expect -1648632.92 679490.65
+
+tolerance 0.05 m
+accept 30.0 -2.0
+expect -4977812.67 679490.65
+
+tolerance 0.05 m
+accept 0.0 -2.0
+expect -8306992.42 679490.65
+
+tolerance 0.05 m
+accept -30.0 -2.0
+expect -11636172.17 679490.65
+
+tolerance 0.05 m
+accept -60.0 -2.0
+expect -14965351.92 679490.65
+
+tolerance 0.05 m
+accept -69.0 -2.0
+expect -15964105.84 679490.65
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:3001 +inv
+ +step +init=epsg:4211
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 2800000.0 15000000.0
+expect 100.0876483 77.6534822
+
+tolerance 0.05 m
+accept 2800000.0 13000000.0
+expect 100.0876483 73.1442856
+
+tolerance 0.05 m
+accept 2800000.0 11000000.0
+expect 100.0876483 67.0518325
+
+tolerance 0.05 m
+accept 2800000.0 9000000.0
+expect 100.0876483 58.9140458
+
+tolerance 0.05 m
+accept 2800000.0 7000000.0
+expect 100.0876483 48.2638981
+
+tolerance 0.05 m
+accept 2800000.0 5000000.0
+expect 100.0876483 34.8029044
+
+tolerance 0.05 m
+accept 2800000.0 3000000.0
+expect 100.0876483 18.7048581
+
+tolerance 0.05 m
+accept 2800000.0 1000000.0
+expect 100.0876483 0.9071392
+
+tolerance 0.05 m
+accept 3900000.0 900000.0
+expect 110.0 0.0
+
+tolerance 0.05 m
+accept 2800000.0 800000.0
+expect 100.0876483 -0.9071392
+
+tolerance 0.05 m
+accept 2800000.0 700000.0
+expect 100.0876483 -1.8140483
+
+tolerance 0.05 m
+accept 2800000.0 679490.65
+expect 100.0876483 -2.0
+
+tolerance 0.05 m
+accept 2800000.0 500000.0
+expect 100.0876483 -3.6262553
+
+tolerance 0.05 m
+accept 2800000.0 400000.0
+expect 100.0876483 -4.531095
+
+tolerance 0.05 m
+accept 2800000.0 300000.0
+expect 100.0876483 -5.4347892
+
+tolerance 0.05 m
+accept 2800000.0 200000.0
+expect 100.0876483 -6.3371111
+
+tolerance 0.05 m
+accept 2800000.0 100000.0
+expect 100.0876483 -7.2378372
+
+tolerance 0.05 m
+accept 0.0 0.0
+expect 74.8562083 -8.136745
+
+tolerance 0.05 m
+accept 23764105.84 679490.65
+expect -71.0 -2.0
+
+tolerance 0.05 m
+accept 21655625.33 679490.65
+expect -90.0 -2.0
+
+tolerance 0.05 m
+accept 18326445.58 679490.65
+expect -120.0 -2.0
+
+tolerance 0.05 m
+accept 14997265.83 679490.65
+expect -150.0 -2.0
+
+tolerance 0.05 m
+accept 11668086.08 679490.65
+expect 180.0 -2.0
+
+tolerance 0.05 m
+accept 8338906.33 679490.65
+expect 150.0 -2.0
+
+tolerance 0.05 m
+accept 5009726.58 679490.65
+expect 120.0 -2.0
+
+tolerance 0.05 m
+accept 3900000.0 679490.65
+expect 110.0 -2.0
+
+tolerance 0.05 m
+accept 3545744.14 679490.65
+expect 106.8077194 -2.0
+
+tolerance 0.05 m
+accept 2800000.0 679490.65
+expect 100.0876483 -2.0
+
+tolerance 0.05 m
+accept 1680546.83 679490.65
+expect 90.0 -2.0
+
+tolerance 0.05 m
+accept -1648632.92 679490.65
+expect 60.0 -2.0
+
+tolerance 0.05 m
+accept -4977812.67 679490.65
+expect 30.0 -2.0
+
+tolerance 0.05 m
+accept -8306992.42 679490.65
+expect 0.0 -2.0
+
+tolerance 0.05 m
+accept -11636172.17 679490.65
+expect -30.0 -2.0
+
+tolerance 0.05 m
+accept -14965351.92 679490.65
+expect -60.0 -2.0
+
+tolerance 0.05 m
+accept -15964105.84 679490.65
+expect -69.0 -2.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4211 +inv
+ +step +init=epsg:3001
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 100.0876483 77.6534822
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 73.1442856
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 67.0518325
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 58.9140458
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 48.2638981
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 34.8029044
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 18.7048581
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 0.9071392
+roundtrip 1000
+
+tolerance 0.006 m
+accept 110.0 0.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -0.9071392
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -1.8140483
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -3.6262553
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -4.531095
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -5.4347892
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -6.3371111
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -7.2378372
+roundtrip 1000
+
+tolerance 0.006 m
+accept 74.8562083 -8.136745
+roundtrip 1000
+
+tolerance 0.006 m
+accept -71.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -90.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -120.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -150.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 180.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 150.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 120.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 110.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 106.8077194 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 100.0876483 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 90.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 60.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 30.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -30.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -60.0 -2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -69.0 -2.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5111.2.gie b/test/gigs/5111.2.gie
new file mode 100644
index 00000000..dfa6bca2
--- /dev/null
+++ b/test/gigs/5111.2.gie
@@ -0,0 +1,444 @@
+--------------------------------------------------------------------------------
+
+Test 5111 (part 2), Mercator (variant A), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4813 +inv
+ +step +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept -6.7200711 77.6534822
+expect 2800000.0 15000000.0
+
+tolerance 0.05 m
+accept -6.7200711 73.1442856
+expect 2800000.0 13000000.0
+
+tolerance 0.05 m
+accept -6.7200711 67.0518325
+expect 2800000.0 11000000.0
+
+tolerance 0.05 m
+accept -6.7200711 58.9140458
+expect 2800000.0 9000000.0
+
+tolerance 0.05 m
+accept -6.7200711 48.2638981
+expect 2800000.0 7000000.0
+
+tolerance 0.05 m
+accept -6.7200711 34.8029044
+expect 2800000.0 5000000.0
+
+tolerance 0.05 m
+accept -6.7200711 18.7048581
+expect 2800000.0 3000000.0
+
+tolerance 0.05 m
+accept -6.7200711 0.9071392
+expect 2800000.0 1000000.0
+
+tolerance 0.05 m
+accept 3.1922806 0.0
+expect 3900000.0 900000.0
+
+tolerance 0.05 m
+accept -6.7200711 0.9071392
+expect 2800000.0 800000.0
+
+tolerance 0.05 m
+accept -6.7200711 1.8140483
+expect 2800000.0 700000.0
+
+tolerance 0.05 m
+accept -6.7200711 2.0
+expect 2800000.0 679490.65
+
+tolerance 0.05 m
+accept -6.7200711 3.6262553
+expect 2800000.0 500000.0
+
+tolerance 0.05 m
+accept -6.7200711 4.531095
+expect 2800000.0 400000.0
+
+tolerance 0.05 m
+accept -6.7200711 5.4347892
+expect 2800000.0 300000.0
+
+tolerance 0.05 m
+accept -6.7200711 6.3371111
+expect 2800000.0 200000.0
+
+tolerance 0.05 m
+accept -6.7200711 7.2378372
+expect 2800000.0 100000.0
+
+tolerance 0.05 m
+accept -31.9515111 8.136745
+expect 0.0 0.0
+
+tolerance 0.05 m
+accept -177.8077194 2.0
+expect 23764105.84 679490.65
+
+tolerance 0.05 m
+accept 163.1922806 2.0
+expect 21655625.33 679490.65
+
+tolerance 0.05 m
+accept 133.1922806 2.0
+expect 18326445.58 679490.65
+
+tolerance 0.05 m
+accept 103.1922806 2.0
+expect 14997265.83 679490.65
+
+tolerance 0.05 m
+accept 73.1922806 2.0
+expect 11668086.08 679490.65
+
+tolerance 0.05 m
+accept 43.1922806 2.0
+expect 8338906.33 679490.65
+
+tolerance 0.05 m
+accept 13.1922806 2.0
+expect 5009726.58 679490.65
+
+tolerance 0.05 m
+accept 3.1922806 2.0
+expect 3900000.0 679490.65
+
+tolerance 0.05 m
+accept 0.0 2.0
+expect 3545744.14 679490.65
+
+tolerance 0.05 m
+accept -6.7200711 2.0
+expect 2800000.0 679490.65
+
+tolerance 0.05 m
+accept -16.8077194 2.0
+expect 1680546.83 679490.65
+
+tolerance 0.05 m
+accept -46.8077194 2.0
+expect -1648632.92 679490.65
+
+tolerance 0.05 m
+accept -76.8077194 2.0
+expect -4977812.67 679490.65
+
+tolerance 0.05 m
+accept -106.8077194 2.0
+expect -8306992.42 679490.65
+
+tolerance 0.05 m
+accept -136.8077194 2.0
+expect -11636172.17 679490.65
+
+tolerance 0.05 m
+accept -166.8077194 2.0
+expect -14965351.92 679490.65
+
+tolerance 0.05 m
+accept -175.8077194 2.0
+expect -15964105.84 679490.65
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs +inv
+ +step +init=epsg:4813
+--------------------------------------------------------------------------------
+tolerance 0.05 m
+accept 2800000.0 15000000.0
+expect -6.7200711 77.6534822
+
+tolerance 0.05 m
+accept 2800000.0 13000000.0
+expect -6.7200711 73.1442856
+
+tolerance 0.05 m
+accept 2800000.0 11000000.0
+expect -6.7200711 67.0518325
+
+tolerance 0.05 m
+accept 2800000.0 9000000.0
+expect -6.7200711 58.9140458
+
+tolerance 0.05 m
+accept 2800000.0 7000000.0
+expect -6.7200711 48.2638981
+
+tolerance 0.05 m
+accept 2800000.0 5000000.0
+expect -6.7200711 34.8029044
+
+tolerance 0.05 m
+accept 2800000.0 3000000.0
+expect -6.7200711 18.7048581
+
+tolerance 0.05 m
+accept 2800000.0 1000000.0
+expect -6.7200711 0.9071392
+
+tolerance 0.05 m
+accept 3900000.0 900000.0
+expect 3.1922806 0.0
+
+tolerance 0.05 m
+accept 2800000.0 800000.0
+expect -6.7200711 0.9071392
+
+tolerance 0.05 m
+accept 2800000.0 700000.0
+expect -6.7200711 1.8140483
+
+tolerance 0.05 m
+accept 2800000.0 679490.65
+expect -6.7200711 2.0
+
+tolerance 0.05 m
+accept 2800000.0 500000.0
+expect -6.7200711 3.6262553
+
+tolerance 0.05 m
+accept 2800000.0 400000.0
+expect -6.7200711 4.531095
+
+tolerance 0.05 m
+accept 2800000.0 300000.0
+expect -6.7200711 5.4347892
+
+tolerance 0.05 m
+accept 2800000.0 200000.0
+expect -6.7200711 6.3371111
+
+tolerance 0.05 m
+accept 2800000.0 100000.0
+expect -6.7200711 7.2378372
+
+tolerance 0.05 m
+accept 0.0 0.0
+expect -31.9515111 8.136745
+
+tolerance 0.05 m
+accept 23764105.84 679490.65
+expect -177.8077194 2.0
+
+tolerance 0.05 m
+accept 21655625.33 679490.65
+expect 163.1922806 2.0
+
+tolerance 0.05 m
+accept 18326445.58 679490.65
+expect 133.1922806 2.0
+
+tolerance 0.05 m
+accept 14997265.83 679490.65
+expect 103.1922806 2.0
+
+tolerance 0.05 m
+accept 11668086.08 679490.65
+expect 73.1922806 2.0
+
+tolerance 0.05 m
+accept 8338906.33 679490.65
+expect 43.1922806 2.0
+
+tolerance 0.05 m
+accept 5009726.58 679490.65
+expect 13.1922806 2.0
+
+tolerance 0.05 m
+accept 3900000.0 679490.65
+expect 3.1922806 2.0
+
+tolerance 0.05 m
+accept 3545744.14 679490.65
+expect 0.0 2.0
+
+tolerance 0.05 m
+accept 2800000.0 679490.65
+expect -6.7200711 2.0
+
+tolerance 0.05 m
+accept 1680546.83 679490.65
+expect -16.8077194 2.0
+
+tolerance 0.05 m
+accept -1648632.92 679490.65
+expect -46.8077194 2.0
+
+tolerance 0.05 m
+accept -4977812.67 679490.65
+expect -76.8077194 2.0
+
+tolerance 0.05 m
+accept -8306992.42 679490.65
+expect -106.8077194 2.0
+
+tolerance 0.05 m
+accept -11636172.17 679490.65
+expect -136.8077194 2.0
+
+tolerance 0.05 m
+accept -14965351.92 679490.65
+expect -166.8077194 2.0
+
+tolerance 0.05 m
+accept -15964105.84 679490.65
+expect -175.8077194 2.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4813 +inv
+ +step +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept -6.7200711 77.6534822
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 73.1442856
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 67.0518325
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 58.9140458
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 48.2638981
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 34.8029044
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 18.7048581
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 0.9071392
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3.1922806 0.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 0.9071392
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 1.8140483
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 3.6262553
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 4.531095
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 5.4347892
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 6.3371111
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 7.2378372
+roundtrip 1000
+
+tolerance 0.006 m
+accept -31.9515111 8.136745
+roundtrip 1000
+
+tolerance 0.006 m
+accept -177.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 163.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 133.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 103.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 73.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 43.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 13.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 3.1922806 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 0.0 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -6.7200711 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -16.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -46.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -76.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -106.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -136.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -166.8077194 2.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept -175.8077194 2.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5112.gie b/test/gigs/5112.gie
new file mode 100644
index 00000000..3c4bb367
--- /dev/null
+++ b/test/gigs/5112.gie
@@ -0,0 +1,84 @@
+--------------------------------------------------------------------------------
+
+Test 5112, Mercator (variant B), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4284 +inv
+ +step +init=epsg:3388
+--------------------------------------------------------------------------------
+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
+--------------------------------------------------------------------------------
+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
+--------------------------------------------------------------------------------
+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
+
+</gie>
diff --git a/test/gigs/5113.gie b/test/gigs/5113.gie
new file mode 100644
index 00000000..5c3904e7
--- /dev/null
+++ b/test/gigs/5113.gie
@@ -0,0 +1,84 @@
+--------------------------------------------------------------------------------
+
+Test 5113, Transverse Mercator (South Oriented), v2-0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4148 +inv
+ +step +init=epsg:2049
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept 22.5 0.0
+expect -166998.44 0.0
+
+tolerance 0.03 m
+accept 21.5 -25.0
+expect -50475.46 2766147.25
+
+tolerance 0.03 m
+accept 20.5 -30.0
+expect 48243.45 3320218.65
+
+tolerance 0.03 m
+accept 19.5 -35.0
+expect 136937.65 3875621.18
+
+tolerance 0.03 m
+accept 19.5 -35.0
+expect 136937.65 3875621.18
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:2049 +inv
+ +step +init=epsg:4148
+--------------------------------------------------------------------------------
+tolerance 0.03 m
+accept -166998.44 0.0
+expect 22.5 0.0
+
+tolerance 0.03 m
+accept -50475.46 2766147.25
+expect 21.5 -25.0
+
+tolerance 0.03 m
+accept 48243.45 3320218.65
+expect 20.5 -30.0
+
+tolerance 0.03 m
+accept 136937.65 3875621.18
+expect 19.5 -35.0
+
+tolerance 0.03 m
+accept 136937.65 3875621.18
+expect 19.5 -35.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4148 +inv
+ +step +init=epsg:2049
+--------------------------------------------------------------------------------
+tolerance 0.006 m
+accept 22.5 0.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 21.5 -25.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 20.5 -30.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 19.5 -35.0
+roundtrip 1000
+
+tolerance 0.006 m
+accept 19.5 -35.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5201.gie b/test/gigs/5201.gie
new file mode 100644
index 00000000..e7bdcb1e
--- /dev/null
+++ b/test/gigs/5201.gie
@@ -0,0 +1,348 @@
+--------------------------------------------------------------------------------
+
+Test 5201, Geographic Geocentric conversions, v2.0_2011-09-28. (EPSG 4979 - WGS84 3d has been replaced with EPSG code 4326 WGS84 2d).
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4978 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -962297.0059 555582.4354 6259542.961
+expect 150 80 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -1598023.169 2768387.912 5500499.045
+expect 119.9952447 60.00475258 -280.3683
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 2764128.3196 4787610.6883 3170373.7354
+expect 60 30 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 6374934.396 -112 434
+expect -0.00100662 0.00392695 -3202.5881
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 2764128.3196 -4787610.6883 -3170373.7354
+expect -60 -30 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 2763880.8633 -4787182.0813 -3170087.9974
+expect -60 -30 -571.476
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -1597798.169 -2768222.201 -5498851.622
+expect -119.99323663 -59.99934874 -1835.0995
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+accept -962297.0059 -555582.4354 -6259542.961
+expect -150 -80 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -961798.2951 -555294.5046 -6256277.0874
+expect -150 -80 -3316.255
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -2904698.5551 -2904698.5551 4862789.0377
+expect -135 50 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 6378137 0 0
+expect 0 0 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -4085919.959 2976611.233 -3874335.274
+expect 143.92649211 -37.65282206 -1099.2288
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -4079520.647 2971949.553 -3868226.465
+expect 143.92648984 -37.65282143 -11099.2288
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+accept -2904698.5551 2904698.5551 -4862789.0377
+expect 135 -50 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+accept -2187336.719 -112 -5970149.093
+expect -179.99706624 -70.00224647 -1039.2896
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +init=epsg:4978
+--------------------------------------------------------------------------------
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 150 80 0
+expect -962297.0059 555582.4354 6259542.961
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 119.9952447 60.00475258 -280.3683
+expect -1598023.169 2768387.912 5500499.045
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 60 30 0
+expect 2764128.3196 4787610.6883 3170373.7354
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -0.00100662 0.00392695 -3202.5881
+expect 6374934.396 -112 434
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -60 -30 0
+expect 2764128.3196 -4787610.6883 -3170373.7354
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -60 -30 -571.476
+expect 2763880.8633 -4787182.0813 -3170087.9974
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -119.99323663 -59.99934874 -1835.0995
+expect -1597798.169 -2768222.201 -5498851.622
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+accept -150 -80 0
+expect -962297.0059 -555582.4354 -6259542.961
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -150 -80 -3316.255
+expect -961798.2951 -555294.5046 -6256277.0874
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept -135 50 0
+expect -2904698.5551 -2904698.5551 4862789.0377
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 0 0 0
+expect 6378137 0 0
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 143.92649211 -37.65282206 -1099.2288
+expect -4085919.959 2976611.233 -3874335.274
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 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
+accept 143.92648984 -37.65282143 -11099.2288
+expect -4079520.647 2971949.553 -3868226.465
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+accept 135 -50 0
+expect -2904698.5551 2904698.5551 -4862789.0377
+
+tolerance [8.333333333333333e-08, 8.333333333333333e-08, 0.01] m
+accept -179.99706624 -70.00224647 -1039.2896
+expect -2187336.719 -112 -5970149.093
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4978 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -962479.5924 555687.8517 6260738.6526
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -962297.0059 555582.4354 6259542.961
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -1598248.169 2768777.623 5501278.468
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -1598023.169 2768387.912 5500499.045
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 2764210.4054 4787752.865 3170468.5199
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 2764128.3196 4787610.6883 3170373.7354
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 6377934.396 -112 434
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 6374934.396 -112 434
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 6367934.396 -112 434
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 2764128.3196 -4787610.6883 -3170373.7354
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 2763900.3489 -4787215.8313 -3170110.4974
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 2763880.8633 -4787182.0813 -3170087.9974
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -1598023.169 -2768611.912 -5499631.045
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -1597798.169 -2768222.201 -5498851.622
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -962297.0059 -555582.4354 -6259542.961
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -962150.945 -555498.1071 -6258586.4616
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -961798.2951 -555294.5046 -6256277.0874
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -2187336.719 -112 5971017.093
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -2904698.5551 -2904698.5551 4862789.0377
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 371 -5783593.614 2679326.11
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept 6378137 0 0
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -4087095.478 2977467.559 -3875457.429
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -4085919.959 2976611.233 -3874335.274
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -4084000.165 2975212.729 -3872502.631
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -4079520.647 2971949.553 -3868226.465
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -2904698.5551 2904698.5551 -4862789.0377
+roundtrip 1000
+
+tolerance [5.555555555555556e-08, 5.555555555555556e-08, 0.006] m
+accept -2187336.719 -112 -5970149.093
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5203.1.gie b/test/gigs/5203.1.gie
new file mode 100644
index 00000000..960b9171
--- /dev/null
+++ b/test/gigs/5203.1.gie
@@ -0,0 +1,192 @@
+--------------------------------------------------------------------------------
+
+GIGS Test 5203 (part 1), Position Vector 7-parameter transformation, v2.0_2011-06-28. Geographic 2D domain (EPSG method code 9606).
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4277 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 150.00567472 79.99487333
+expect 150.0 80.0
+
+tolerance 2.77777777778e-07 m
+accept 120.0 60.0
+expect 119.99435889 60.00569306
+
+tolerance 2.77777777778e-07 m
+accept 60.00446778 29.99566778
+expect 60.0 30.0
+
+tolerance 2.77777777778e-07 m
+accept 0.0 0.0
+expect -0.00089056 0.00483333
+
+tolerance 2.77777777778e-07 m
+accept -60.00357056 -30.00504639
+expect -60.0 -30.0
+
+tolerance 2.77777777778e-07 m
+accept -120.0 -60.0
+expect -119.9918525 -59.99907361
+
+tolerance 2.77777777778e-07 m
+accept -150.01693111 -79.99778139
+expect -150.0 -80.0
+
+tolerance 2.77777777778e-07 m
+accept -180.0 70.0
+expect -179.99637361 70.005945
+
+tolerance 2.77777777778e-07 m
+accept -135.00596333 49.99458694
+expect -135.0 50.0
+
+tolerance 2.77777777778e-07 m
+accept -90.0 25.0
+expect -89.99531139 25.00445833
+
+tolerance 2.77777777778e-07 m
+accept 0.00089056 -0.00483333
+expect 0.0 0.0
+
+tolerance 2.77777777778e-07 m
+accept 143.9279419 -37.6532236
+expect 143.92634806 -37.65235306
+
+tolerance 2.77777777778e-07 m
+accept 135.00291194 -49.99973028
+expect 135.0 -50.0
+
+tolerance 2.77777777778e-07 m
+accept 180.0 -70.0
+expect -179.99660139 -70.002485
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +init=epsg:4277
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 150.0 80.0
+expect 150.00567472 79.99487333
+
+tolerance 2.77777777778e-07 m
+accept 119.99435889 60.00569306
+expect 120.0 60.0
+
+tolerance 2.77777777778e-07 m
+accept 60.0 30.0
+expect 60.00446778 29.99566778
+
+tolerance 2.77777777778e-07 m
+accept -0.00089056 0.00483333
+expect 0.0 0.0
+
+tolerance 2.77777777778e-07 m
+accept -60.0 -30.0
+expect -60.00357056 -30.00504639
+
+tolerance 2.77777777778e-07 m
+accept -119.9918525 -59.99907361
+expect -120.0 -60.0
+
+tolerance 2.77777777778e-07 m
+accept -150.0 -80.0
+expect -150.01693111 -79.99778139
+
+tolerance 2.77777777778e-07 m
+accept -179.99637361 70.005945
+expect -180.0 70.0
+
+tolerance 2.77777777778e-07 m
+accept -135.0 50.0
+expect -135.00596333 49.99458694
+
+tolerance 2.77777777778e-07 m
+accept -89.99531139 25.00445833
+expect -90.0 25.0
+
+tolerance 2.77777777778e-07 m
+accept 0.0 0.0
+expect 0.00089056 -0.00483333
+
+tolerance 2.77777777778e-07 m
+accept 143.92634806 -37.65235306
+expect 143.9279419 -37.6532236
+
+tolerance 2.77777777778e-07 m
+accept 135.0 -50.0
+expect 135.00291194 -49.99973028
+
+tolerance 2.77777777778e-07 m
+accept -179.99660139 -70.002485
+expect 180.0 -70.0
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4277 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept 150.00567472 79.99487333
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 120.0 60.0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 60.00446778 29.99566778
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 0.0 0.0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -60.00357056 -30.00504639
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -120.0 -60.0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -150.01693111 -79.99778139
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -180.0 70.0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -135.00596333 49.99458694
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -90.0 25.0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 0.00089056 -0.00483333
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 143.9279419 -37.6532236
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 135.00291194 -49.99973028
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 180.0 -70.0
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5204.1.gie b/test/gigs/5204.1.gie
new file mode 100644
index 00000000..3c7e3fff
--- /dev/null
+++ b/test/gigs/5204.1.gie
@@ -0,0 +1,192 @@
+--------------------------------------------------------------------------------
+
+GIGS Test 5204, Coordinate Frame 7-parameter transformation, v2.0_2011-06-28. Geographic 2D domain (EPSG method code 9607)
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4313 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 149.99825389 80.00155167
+expect 150 80
+
+tolerance 2.77777777778e-07 m
+accept 120 60
+expect 120.00197111 59.99807333
+
+tolerance 2.77777777778e-07 m
+accept 59.99822194 30.00134083
+expect 60 30
+
+tolerance 2.77777777778e-07 m
+accept 0 0
+expect 0.00098139 -0.00081028
+
+tolerance 2.77777777778e-07 m
+accept -59.99991333 -29.99943917
+expect -60 -30
+
+tolerance 2.77777777778e-07 m
+accept -120 -60
+expect -120.00150694 -59.999835
+
+tolerance 2.77777777778e-07 m
+accept -149.99532167 -80.00054917
+expect -150 -80
+
+tolerance 2.77777777778e-07 m
+accept -180 70
+expect 179.99939778 69.99812806
+
+tolerance 2.77777777778e-07 m
+accept -134.99891389 50.00183
+expect -135 50
+
+tolerance 2.77777777778e-07 m
+accept -90 25
+expect -90.00060583 24.99862667
+
+tolerance 2.77777777778e-07 m
+accept -0.00098139 0.00081028
+expect 0 0
+
+tolerance 2.77777777778e-07 m
+accept 143.9279419 -37.6532236
+expect 143.92857222 -37.65257083
+
+tolerance 2.77777777778e-07 m
+accept 134.99913472 -50.00096139
+expect 135 -50
+
+tolerance 2.77777777778e-07 m
+accept 180 -70
+expect 179.99888667 -69.99901667
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +init=epsg:4313
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 150 80
+expect 149.99825389 80.00155167
+
+tolerance 2.77777777778e-07 m
+accept 120.00197111 59.99807333
+expect 120 60
+
+tolerance 2.77777777778e-07 m
+accept 60 30
+expect 59.99822194 30.00134083
+
+tolerance 2.77777777778e-07 m
+accept 0.00098139 -0.00081028
+expect 0 0
+
+tolerance 2.77777777778e-07 m
+accept -60 -30
+expect -59.99991333 -29.99943917
+
+tolerance 2.77777777778e-07 m
+accept -120.00150694 -59.999835
+expect -120 -60
+
+tolerance 2.77777777778e-07 m
+accept -150 -80
+expect -149.99532167 -80.00054917
+
+tolerance 2.77777777778e-07 m
+accept 179.99939778 69.99812806
+expect -180 70
+
+tolerance 2.77777777778e-07 m
+accept -135 50
+expect -134.99891389 50.00183
+
+tolerance 2.77777777778e-07 m
+accept -90.00060583 24.99862667
+expect -90 25
+
+tolerance 2.77777777778e-07 m
+accept 0 0
+expect -0.00098139 0.00081028
+
+tolerance 2.77777777778e-07 m
+accept 143.92857222 -37.65257083
+expect 143.9279419 -37.6532236
+
+tolerance 2.77777777778e-07 m
+accept 135 -50
+expect 134.99913472 -50.00096139
+
+tolerance 2.77777777778e-07 m
+accept 179.99888667 -69.99901667
+expect 180 -70
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4313 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept 149.99825389 80.00155167
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 120 60
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 59.99822194 30.00134083
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 0 0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -59.99991333 -29.99943917
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -120 -60
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -149.99532167 -80.00054917
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -180 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -134.99891389 50.00183
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -90 25
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -0.00098139 0.00081028
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 143.9279419 -37.6532236
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 134.99913472 -50.00096139
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 180 -70
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5205.1.gie b/test/gigs/5205.1.gie
new file mode 100644
index 00000000..df4cb674
--- /dev/null
+++ b/test/gigs/5205.1.gie
@@ -0,0 +1,192 @@
+--------------------------------------------------------------------------------
+
+GIGS Test 5205 (Part 1), Molodensky-Badekas 10-parameter transformation, v2.0_2011-06-28. Geographic 2D domain (EPSG method code 9636)
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4289 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 150.01814371 79.99494639
+expect 150 80
+
+tolerance 2.77777777778e-07 m
+accept 120 60
+expect 119.99001559 60.00441792
+
+tolerance 2.77777777778e-07 m
+accept 60.00535007 29.99746103
+expect 60 30
+
+tolerance 2.77777777778e-07 m
+accept 0 0
+expect -7.025e-05 0.0041133
+
+tolerance 2.77777777778e-07 m
+accept -60.00473241 -30.0042486
+expect -60 -30
+
+tolerance 2.77777777778e-07 m
+accept -120 -60
+expect -119.9922412 -60.00081456
+
+tolerance 2.77777777778e-07 m
+accept -150.01209192 -79.99612229
+expect -150 -80
+
+tolerance 2.77777777778e-07 m
+accept -180 70
+expect 179.99786174 70.00666951
+
+tolerance 2.77777777778e-07 m
+accept -135.00454845 49.99357566
+expect -135 50
+
+tolerance 2.77777777778e-07 m
+accept -90 25
+expect -89.99487454 25.00457271
+
+tolerance 2.77777777778e-07 m
+accept 7.032e-05 -0.00411349
+expect 0 0
+
+tolerance 2.77777777778e-07 m
+accept 143.9279419 -37.6532236
+expect 143.92330599 -37.65282034
+
+tolerance 2.77777777778e-07 m
+accept 135.00641074 -49.99958243
+expect 135 -50
+
+tolerance 2.77777777778e-07 m
+accept 180 -70
+expect 179.99847886 -70.00362084
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4326 +inv
+ +step +init=epsg:4289
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 150 80
+expect 150.01814371 79.99494639
+
+tolerance 2.77777777778e-07 m
+accept 119.99001559 60.00441792
+expect 120 60
+
+tolerance 2.77777777778e-07 m
+accept 60 30
+expect 60.00535007 29.99746103
+
+tolerance 2.77777777778e-07 m
+accept -7.025e-05 0.0041133
+expect 0 0
+
+tolerance 2.77777777778e-07 m
+accept -60 -30
+expect -60.00473241 -30.0042486
+
+tolerance 2.77777777778e-07 m
+accept -119.9922412 -60.00081456
+expect -120 -60
+
+tolerance 2.77777777778e-07 m
+accept -150 -80
+expect -150.01209192 -79.99612229
+
+tolerance 2.77777777778e-07 m
+accept 179.99786174 70.00666951
+expect -180 70
+
+tolerance 2.77777777778e-07 m
+accept -135 50
+expect -135.00454845 49.99357566
+
+tolerance 2.77777777778e-07 m
+accept -89.99487454 25.00457271
+expect -90 25
+
+tolerance 2.77777777778e-07 m
+accept 0 0
+expect 7.032e-05 -0.00411349
+
+tolerance 2.77777777778e-07 m
+accept 143.92330599 -37.65282034
+expect 143.9279419 -37.6532236
+
+tolerance 2.77777777778e-07 m
+accept 135 -50
+expect 135.00641074 -49.99958243
+
+tolerance 2.77777777778e-07 m
+accept 179.99847886 -70.00362084
+expect 180 -70
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4289 +inv
+ +step +init=epsg:4326
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept 150.01814371 79.99494639
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 120 60
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 60.00535007 29.99746103
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 0 0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -60.00473241 -30.0042486
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -120 -60
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -150.01209192 -79.99612229
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -180 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -135.00454845 49.99357566
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -90 25
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 7.032e-05 -0.00411349
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 143.9279419 -37.6532236
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 135.00641074 -49.99958243
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 180 -70
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5206.gie b/test/gigs/5206.gie
new file mode 100644
index 00000000..5f3d6eb6
--- /dev/null
+++ b/test/gigs/5206.gie
@@ -0,0 +1,540 @@
+--------------------------------------------------------------------------------
+
+Test 5206, NADCON transformation, v2.0_2011-06-28. Out of transform grid area error tests have been removed.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4267 +inv
+ +step +init=epsg:4269
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept -89.5177272 29.9997978
+expect -89.5177778 30.0
+
+tolerance 2.77777777778e-07 m
+accept -90.5177778 29.2833333
+expect -90.5178639 29.2835592
+
+tolerance 2.77777777778e-07 m
+accept -91.5176758 28.2830864
+expect -91.5177778 28.2833333
+
+tolerance 2.77777777778e-07 m
+accept -92.5177778 27.2833333
+expect -92.5178811 27.2836106
+
+tolerance 2.77777777778e-07 m
+accept -93.5176731 26.2830225
+expect -93.5177778 26.2833333
+
+tolerance 2.77777777778e-07 m
+accept -94.5177778 25
+expect -94.5178744 25.0003486
+
+tolerance 2.77777777778e-07 m
+accept -142.9972522 70.0001631
+expect -143 70
+
+tolerance 2.77777777778e-07 m
+accept -142 70.0
+expect -142.0026922 69.9998422
+
+tolerance 2.77777777778e-07 m
+accept -141.9973078 70.0001578
+expect -142 70
+
+tolerance 2.77777777778e-07 m
+accept -140.9971981 70.0001481
+expect -141 70
+
+tolerance 2.77777777778e-07 m
+accept -140 70
+expect -140.0027922 69.9998617
+
+tolerance 2.77777777778e-07 m
+accept -138.9973075 70.0001297
+expect -139 70
+
+tolerance 2.77777777778e-07 m
+accept -138 70
+expect -138.0026767 69.9998867
+
+tolerance 2.77777777778e-07 m
+accept -134.9973733 70.000055
+expect -135 70
+
+tolerance 2.77777777778e-07 m
+accept -130 70
+expect -130.0025347 70.0000511
+
+tolerance 2.77777777778e-07 m
+accept -128.0009742 69.9999053
+expect -128.0034722 70
+
+tolerance 2.77777777778e-07 m
+accept -179 70
+expect -179.0035064 69.9990142
+
+tolerance 2.77777777778e-07 m
+accept -179.9964664 70.0010089
+expect 180 70
+
+tolerance 2.77777777778e-07 m
+accept 180 70
+expect 179.9964664 69.9989911
+
+tolerance 2.77777777778e-07 m
+accept 179 70
+expect 178.9964394 69.9989678
+
+tolerance 2.77777777778e-07 m
+accept -111.9991714 49.9999556
+expect -112 49.9999997
+
+tolerance 2.77777777778e-07 m
+accept -112 49.9999997
+expect -112.0008286 50.0000439
+
+tolerance 2.77777777778e-07 m
+accept -111.9991214 49.0000033
+expect -112 49
+
+tolerance 2.77777777778e-07 m
+accept -112 48
+expect -112.0008492 47.9999606
+
+tolerance 2.77777777778e-07 m
+accept -111.9991678 47.0000569
+expect -112 47
+
+tolerance 2.77777777778e-07 m
+accept -112 47
+expect -112.0008325 46.9999431
+
+tolerance 2.77777777778e-07 m
+accept -111.9991756 46.0000733
+expect -112 46
+
+tolerance 2.77777777778e-07 m
+accept -112 45
+expect -112.0008022 44.9999197
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 51
+expect -130.5193953 50.9997114
+
+tolerance 2.77777777778e-07 m
+accept -130.5160981 51.0002886
+expect -130.5177467 51
+
+tolerance 2.77777777778e-07 m
+accept -130.5161206 50.0002897
+expect -130.5177467 49.9999997
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 49.9999997
+expect -130.5193731 49.9997097
+
+tolerance 2.77777777778e-07 m
+accept -130.5161458 49.0002717
+expect -130.5177467 49
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 48.1166667
+expect -130.5193258 48.1164106
+
+tolerance 2.77777777778e-07 m
+accept -130.5161942 47.0002378
+expect -130.5177467 47
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 47
+expect -130.5192992 46.9997622
+
+tolerance 2.77777777778e-07 m
+accept -130.5162172 46.0002222
+expect -130.5177467 46
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 45
+expect -130.5192539 44.9997925
+
+tolerance 2.77777777778e-07 m
+accept -132.9984775 48.1169867
+expect -133 48.1166667
+
+tolerance 2.77777777778e-07 m
+accept -131.4555556 48.1166667
+expect -131.4571578 48.1163964
+
+tolerance 2.77777777778e-07 m
+accept -130.5161675 48.1169228
+expect -130.5177467 48.1166667
+
+tolerance 2.77777777778e-07 m
+accept -128.4555556 48.1166667
+expect -128.4570433 48.1164319
+
+tolerance 2.77777777778e-07 m
+accept -128.5444444 48.1166667
+expect -128.5459361 48.1164311
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4269 +inv
+ +step +init=epsg:4267
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept -89.5177778 30.0
+expect -89.5177272 29.9997978
+
+tolerance 2.77777777778e-07 m
+accept -90.5178639 29.2835592
+expect -90.5177778 29.2833333
+
+tolerance 2.77777777778e-07 m
+accept -91.5177778 28.2833333
+expect -91.5176758 28.2830864
+
+tolerance 2.77777777778e-07 m
+accept -92.5178811 27.2836106
+expect -92.5177778 27.2833333
+
+tolerance 2.77777777778e-07 m
+accept -93.5177778 26.2833333
+expect -93.5176731 26.2830225
+
+tolerance 2.77777777778e-07 m
+accept -94.5178744 25.0003486
+expect -94.5177778 25
+
+tolerance 2.77777777778e-07 m
+accept -143 70
+expect -142.9972522 70.0001631
+
+tolerance 2.77777777778e-07 m
+accept -142.0026922 69.9998422
+expect -142 70.0
+
+tolerance 2.77777777778e-07 m
+accept -142 70
+expect -141.9973078 70.0001578
+
+tolerance 2.77777777778e-07 m
+accept -141 70
+expect -140.9971981 70.0001481
+
+tolerance 2.77777777778e-07 m
+accept -140.0027922 69.9998617
+expect -140 70
+
+tolerance 2.77777777778e-07 m
+accept -139 70
+expect -138.9973075 70.0001297
+
+tolerance 2.77777777778e-07 m
+accept -138.0026767 69.9998867
+expect -138 70
+
+tolerance 2.77777777778e-07 m
+accept -135 70
+expect -134.9973733 70.000055
+
+tolerance 2.77777777778e-07 m
+accept -130.0025347 70.0000511
+expect -130 70
+
+tolerance 2.77777777778e-07 m
+accept -128.0034722 70
+expect -128.0009742 69.9999053
+
+tolerance 2.77777777778e-07 m
+accept -179.0035064 69.9990142
+expect -179 70
+
+tolerance 2.77777777778e-07 m
+accept 180 70
+expect -179.9964664 70.0010089
+
+tolerance 2.77777777778e-07 m
+accept 179.9964664 69.9989911
+expect 180 70
+
+tolerance 2.77777777778e-07 m
+accept 178.9964394 69.9989678
+expect 179 70
+
+tolerance 2.77777777778e-07 m
+accept -112 49.9999997
+expect -111.9991714 49.9999556
+
+tolerance 2.77777777778e-07 m
+accept -112.0008286 50.0000439
+expect -112 49.9999997
+
+tolerance 2.77777777778e-07 m
+accept -112 49
+expect -111.9991214 49.0000033
+
+tolerance 2.77777777778e-07 m
+accept -112.0008492 47.9999606
+expect -112 48
+
+tolerance 2.77777777778e-07 m
+accept -112 47
+expect -111.9991678 47.0000569
+
+tolerance 2.77777777778e-07 m
+accept -112.0008325 46.9999431
+expect -112 47
+
+tolerance 2.77777777778e-07 m
+accept -112 46
+expect -111.9991756 46.0000733
+
+tolerance 2.77777777778e-07 m
+accept -112.0008022 44.9999197
+expect -112 45
+
+tolerance 2.77777777778e-07 m
+accept -130.5193953 50.9997114
+expect -130.5177467 51
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 51
+expect -130.5160981 51.0002886
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 49.9999997
+expect -130.5161206 50.0002897
+
+tolerance 2.77777777778e-07 m
+accept -130.5193731 49.9997097
+expect -130.5177467 49.9999997
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 49
+expect -130.5161458 49.0002717
+
+tolerance 2.77777777778e-07 m
+accept -130.5193258 48.1164106
+expect -130.5177467 48.1166667
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 47
+expect -130.5161942 47.0002378
+
+tolerance 2.77777777778e-07 m
+accept -130.5192992 46.9997622
+expect -130.5177467 47
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 46
+expect -130.5162172 46.0002222
+
+tolerance 2.77777777778e-07 m
+accept -130.5192539 44.9997925
+expect -130.5177467 45
+
+tolerance 2.77777777778e-07 m
+accept -133 48.1166667
+expect -132.9984775 48.1169867
+
+tolerance 2.77777777778e-07 m
+accept -131.4571578 48.1163964
+expect -131.4555556 48.1166667
+
+tolerance 2.77777777778e-07 m
+accept -130.5177467 48.1166667
+expect -130.5161675 48.1169228
+
+tolerance 2.77777777778e-07 m
+accept -128.4570433 48.1164319
+expect -128.4555556 48.1166667
+
+tolerance 2.77777777778e-07 m
+accept -128.5459361 48.1164311
+expect -128.5444444 48.1166667
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4267 +inv
+ +step +init=epsg:4269
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept -89.5177272 29.9997978
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -90.5177778 29.2833333
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -91.5176758 28.2830864
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -92.5177778 27.2833333
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -93.5176731 26.2830225
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -94.5177778 25
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -142.9972522 70.0001631
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -142 70.0
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -141.9973078 70.0001578
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -140.9971981 70.0001481
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -140 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.9973075 70.0001297
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -134.9973733 70.000055
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128.0009742 69.9999053
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -179 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -179.9964664 70.0010089
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 180 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 179 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.9991714 49.9999556
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 49.9999997
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.9991214 49.0000033
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 48
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.9991678 47.0000569
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 47
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.9991756 46.0000733
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 45
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5177467 51
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5160981 51.0002886
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5161206 50.0002897
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5177467 49.9999997
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5161458 49.0002717
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5177467 48.1166667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5161942 47.0002378
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5177467 47
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5162172 46.0002222
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5177467 45
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -132.9984775 48.1169867
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -131.4555556 48.1166667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.5161675 48.1169228
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128.4555556 48.1166667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128.5444444 48.1166667
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5207.1.gie b/test/gigs/5207.1.gie
new file mode 100644
index 00000000..8384bf0e
--- /dev/null
+++ b/test/gigs/5207.1.gie
@@ -0,0 +1,252 @@
+--------------------------------------------------------------------------------
+
+Test 5207, NTv2 transformation, v2.0_2011-06-28. Out of transform grid area error tests have been removed.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4202 +inv
+ +step +init=epsg:4283
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept -115 -10.05
+expect -115.001251111 -10.0486372222
+
+tolerance 2.77777777778e-07 m
+accept -114.998744167 -11.0013594444
+expect -115 -11
+
+tolerance 2.77777777778e-07 m
+accept -115 -12
+expect -115.001261389 -11.9986441667
+
+tolerance 2.77777777778e-07 m
+accept -138.04 -9
+expect -138.041132778 -8.99854333333
+
+tolerance 2.77777777778e-07 m
+accept -138.043867222 -9.00145666667
+expect -138.045 -9
+
+tolerance 2.77777777778e-07 m
+accept -138.05 -9
+expect -138.051132778 -8.99854333333
+
+tolerance 2.77777777778e-07 m
+accept -138.048867222 -9.00145666667
+expect -138.05 -9
+
+tolerance 2.77777777778e-07 m
+accept -138.053867222 -9.00145666667
+expect -138.055 -9
+
+tolerance 2.77777777778e-07 m
+accept -138.06 -9
+expect -138.061132778 -8.99854333333
+
+tolerance 2.77777777778e-07 m
+accept -138.038730833 -27.1264763889
+expect -138.04 -27.125
+
+tolerance 2.77777777778e-07 m
+accept -138.045 -27.125
+expect -138.046268889 -27.1235236111
+
+tolerance 2.77777777778e-07 m
+accept -138.05 -27.125
+expect -138.051268889 -27.1235236111
+
+tolerance 2.77777777778e-07 m
+accept -138.048731111 -27.1264763889
+expect -138.05 -27.125
+
+tolerance 2.77777777778e-07 m
+accept -138.055 -27.125
+expect -138.056268889 -27.1235233333
+
+tolerance 2.77777777778e-07 m
+accept -138.058731111 -27.1264766667
+expect -138.06 -27.125
+
+tolerance 2.77777777778e-07 m
+accept -136.847222222 -28.05
+expect -136.848525278 -28.0485269444
+
+tolerance 2.77777777778e-07 m
+accept -137.847222222 -28.05
+expect -137.848505556 -28.0485311111
+
+tolerance 2.77777777778e-07 m
+accept -138.847222222 -28.05
+expect -138.8484925 -28.0485188889
+
+tolerance 2.77777777778e-07 m
+accept -139.847222222 -28.05
+expect -139.848475278 -28.0485072222
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4283 +inv
+ +step +init=epsg:4202
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept -115.001251111 -10.0486372222
+expect -115 -10.05
+
+tolerance 2.77777777778e-07 m
+accept -115 -11
+expect -114.998744167 -11.0013594444
+
+tolerance 2.77777777778e-07 m
+accept -115.001261389 -11.9986441667
+expect -115 -12
+
+tolerance 2.77777777778e-07 m
+accept -138.041132778 -8.99854333333
+expect -138.04 -9
+
+tolerance 2.77777777778e-07 m
+accept -138.045 -9
+expect -138.043867222 -9.00145666667
+
+tolerance 2.77777777778e-07 m
+accept -138.051132778 -8.99854333333
+expect -138.05 -9
+
+tolerance 2.77777777778e-07 m
+accept -138.05 -9
+expect -138.048867222 -9.00145666667
+
+tolerance 2.77777777778e-07 m
+accept -138.055 -9
+expect -138.053867222 -9.00145666667
+
+tolerance 2.77777777778e-07 m
+accept -138.061132778 -8.99854333333
+expect -138.06 -9
+
+tolerance 2.77777777778e-07 m
+accept -138.04 -27.125
+expect -138.038730833 -27.1264763889
+
+tolerance 2.77777777778e-07 m
+accept -138.046268889 -27.1235236111
+expect -138.045 -27.125
+
+tolerance 2.77777777778e-07 m
+accept -138.051268889 -27.1235236111
+expect -138.05 -27.125
+
+tolerance 2.77777777778e-07 m
+accept -138.05 -27.125
+expect -138.048731111 -27.1264763889
+
+tolerance 2.77777777778e-07 m
+accept -138.056268889 -27.1235233333
+expect -138.055 -27.125
+
+tolerance 2.77777777778e-07 m
+accept -138.06 -27.125
+expect -138.058731111 -27.1264766667
+
+tolerance 2.77777777778e-07 m
+accept -136.848525278 -28.0485269444
+expect -136.847222222 -28.05
+
+tolerance 2.77777777778e-07 m
+accept -137.848505556 -28.0485311111
+expect -137.847222222 -28.05
+
+tolerance 2.77777777778e-07 m
+accept -138.8484925 -28.0485188889
+expect -138.847222222 -28.05
+
+tolerance 2.77777777778e-07 m
+accept -139.848475278 -28.0485072222
+expect -139.847222222 -28.05
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4202 +inv
+ +step +init=epsg:4283
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept -115 -10.05
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -114.998744167 -11.0013594444
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -115 -12
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.04 -9
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.043867222 -9.00145666667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.05 -9
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.048867222 -9.00145666667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.053867222 -9.00145666667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.06 -9
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.038730833 -27.1264763889
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.045 -27.125
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.05 -27.125
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.048731111 -27.1264763889
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.055 -27.125
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.058731111 -27.1264766667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -136.847222222 -28.05
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -137.847222222 -28.05
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.847222222 -28.05
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -139.847222222 -28.05
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5207.2.gie b/test/gigs/5207.2.gie
new file mode 100644
index 00000000..bc76504a
--- /dev/null
+++ b/test/gigs/5207.2.gie
@@ -0,0 +1,456 @@
+--------------------------------------------------------------------------------
+
+Test 5206, NADCON transformation, v2.0_2011-06-28. Out of transform grid area error tests have been removed.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4267 +inv
+ +step +init=epsg:4269
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept -142 70
+expect -142.002804722 69.9998069444
+
+tolerance 2.77777777778e-07 m
+accept -141.997195278 70.0001930556
+expect -142 70
+
+tolerance 2.77777777778e-07 m
+accept -140.997219722 70.0001791667
+expect -141 70
+
+tolerance 2.77777777778e-07 m
+accept -140 70
+expect -140.002795278 69.9998280556
+
+tolerance 2.77777777778e-07 m
+accept -138.997199444 70.0001608333
+expect -139 70
+
+tolerance 2.77777777778e-07 m
+accept -138 70
+expect -138.002957222 69.9998755556
+
+tolerance 2.77777777778e-07 m
+accept -134.997081944 70.0000463889
+expect -135 70
+
+tolerance 2.77777777778e-07 m
+accept -130 70
+expect -130.002737222 70.0000533333
+
+tolerance 2.77777777778e-07 m
+accept -128.000734722 69.9998663889
+expect -128.003472222 70
+
+tolerance 2.77777777778e-07 m
+accept -128 70
+expect -128.002737778 70.0001336111
+
+tolerance 2.77777777778e-07 m
+accept -125.997388333 69.9997780556
+expect -126 70
+
+tolerance 2.77777777778e-07 m
+accept -88.005575 70
+expect -88.0056825 70.0006094444
+
+tolerance 2.77777777778e-07 m
+accept -88 70
+expect -88.0001072222 70.0006091667
+
+tolerance 2.77777777778e-07 m
+accept -87.9998933333 69.9993908333
+expect -88 70
+
+tolerance 2.77777777778e-07 m
+accept -87.6610917 70
+expect -87.6611716667 70.0006033333
+
+tolerance 2.77777777778e-07 m
+accept -112.165693333 51.0169555556
+expect -112.166607778 51.0170094444
+
+tolerance 2.77777777778e-07 m
+accept -111.999093889 50.9999491667
+expect -112 51
+
+tolerance 2.77777777778e-07 m
+accept -111.999095278 49.9999597222
+expect -112 49.9999997222
+
+tolerance 2.77777777778e-07 m
+accept -112 49.9999997222
+expect -112.000904639 50.0000396667
+
+tolerance 2.77777777778e-07 m
+accept -111.9991175 49.0000063889
+expect -112 49
+
+tolerance 2.77777777778e-07 m
+accept -112 48
+expect -112.0008525 47.9999888889
+
+tolerance 2.77777777778e-07 m
+accept -111.999174722 47.0000097222
+expect -112 47
+
+tolerance 2.77777777778e-07 m
+accept -112 47
+expect -112.000825278 46.9999902778
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 51
+expect -130.519401944 50.9997713889
+
+tolerance 2.77777777778e-07 m
+accept -130.516091667 51.0002286111
+expect -130.517746667 51
+
+tolerance 2.77777777778e-07 m
+accept -130.516041667 50.0002461111
+expect -130.517746667 49.9999997222
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 49.9999997222
+expect -130.519451667 49.9997533333
+
+tolerance 2.77777777778e-07 m
+accept -130.516067222 49.0002825
+expect -130.517746667 49
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 48
+expect -130.519391111 47.9996794444
+
+tolerance 2.77777777778e-07 m
+accept -130.516146944 47.0003611111
+expect -130.517746667 47
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 47
+expect -130.519346389 46.9996386111
+
+tolerance 2.77777777778e-07 m
+accept -132.998205278 48.1170263889
+expect -133 48.1166666667
+
+tolerance 2.77777777778e-07 m
+accept -131.455555556 48.1166666667
+expect -131.457260278 48.1163330556
+
+tolerance 2.77777777778e-07 m
+accept -130.516098056 48.1169827778
+expect -130.517746667 48.1166666667
+
+tolerance 2.77777777778e-07 m
+accept -128.455555556 48.1166666667
+expect -128.457086944 48.1163927778
+
+tolerance 2.77777777778e-07 m
+accept -128.5444 48.1167066
+expect -128.545936111 48.1164311111
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4269 +inv
+ +step +init=epsg:4267
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept -142.002804722 69.9998069444
+expect -142 70
+
+tolerance 2.77777777778e-07 m
+accept -142 70
+expect -141.997195278 70.0001930556
+
+tolerance 2.77777777778e-07 m
+accept -141 70
+expect -140.997219722 70.0001791667
+
+tolerance 2.77777777778e-07 m
+accept -140.002795278 69.9998280556
+expect -140 70
+
+tolerance 2.77777777778e-07 m
+accept -139 70
+expect -138.997199444 70.0001608333
+
+tolerance 2.77777777778e-07 m
+accept -138.002957222 69.9998755556
+expect -138 70
+
+tolerance 2.77777777778e-07 m
+accept -135 70
+expect -134.997081944 70.0000463889
+
+tolerance 2.77777777778e-07 m
+accept -130.002737222 70.0000533333
+expect -130 70
+
+tolerance 2.77777777778e-07 m
+accept -128.003472222 70
+expect -128.000734722 69.9998663889
+
+tolerance 2.77777777778e-07 m
+accept -128.002737778 70.0001336111
+expect -128 70
+
+tolerance 2.77777777778e-07 m
+accept -126 70
+expect -125.997388333 69.9997780556
+
+tolerance 2.77777777778e-07 m
+accept -88.0056825 70.0006094444
+expect -88.005575 70
+
+tolerance 2.77777777778e-07 m
+accept -88.0001072222 70.0006091667
+expect -88 70
+
+tolerance 2.77777777778e-07 m
+accept -88 70
+expect -87.9998933333 69.9993908333
+
+tolerance 2.77777777778e-07 m
+accept -87.6611716667 70.0006033333
+expect -87.6610917 70
+
+tolerance 2.77777777778e-07 m
+accept -112.166607778 51.0170094444
+expect -112.165693333 51.0169555556
+
+tolerance 2.77777777778e-07 m
+accept -112 51
+expect -111.999093889 50.9999491667
+
+tolerance 2.77777777778e-07 m
+accept -112 49.9999997222
+expect -111.999095278 49.9999597222
+
+tolerance 2.77777777778e-07 m
+accept -112.000904639 50.0000396667
+expect -112 49.9999997222
+
+tolerance 2.77777777778e-07 m
+accept -112 49
+expect -111.9991175 49.0000063889
+
+tolerance 2.77777777778e-07 m
+accept -112.0008525 47.9999888889
+expect -112 48
+
+tolerance 2.77777777778e-07 m
+accept -112 47
+expect -111.999174722 47.0000097222
+
+tolerance 2.77777777778e-07 m
+accept -112.000825278 46.9999902778
+expect -112 47
+
+tolerance 2.77777777778e-07 m
+accept -130.519401944 50.9997713889
+expect -130.517746667 51
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 51
+expect -130.516091667 51.0002286111
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 49.9999997222
+expect -130.516041667 50.0002461111
+
+tolerance 2.77777777778e-07 m
+accept -130.519451667 49.9997533333
+expect -130.517746667 49.9999997222
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 49
+expect -130.516067222 49.0002825
+
+tolerance 2.77777777778e-07 m
+accept -130.519391111 47.9996794444
+expect -130.517746667 48
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 47
+expect -130.516146944 47.0003611111
+
+tolerance 2.77777777778e-07 m
+accept -130.519346389 46.9996386111
+expect -130.517746667 47
+
+tolerance 2.77777777778e-07 m
+accept -133 48.1166666667
+expect -132.998205278 48.1170263889
+
+tolerance 2.77777777778e-07 m
+accept -131.457260278 48.1163330556
+expect -131.455555556 48.1166666667
+
+tolerance 2.77777777778e-07 m
+accept -130.517746667 48.1166666667
+expect -130.516098056 48.1169827778
+
+tolerance 2.77777777778e-07 m
+accept -128.457086944 48.1163927778
+expect -128.455555556 48.1166666667
+
+tolerance 2.77777777778e-07 m
+accept -128.545936111 48.1164311111
+expect -128.5444 48.1167066
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4267 +inv
+ +step +init=epsg:4269
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept -142 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -141.997195278 70.0001930556
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -140.997219722 70.0001791667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -140 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138.997199444 70.0001608333
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -138 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -134.997081944 70.0000463889
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128.000734722 69.9998663889
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -125.997388333 69.9997780556
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -88.005575 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -88 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -87.9998933333 69.9993908333
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -87.6610917 70
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112.165693333 51.0169555556
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.999093889 50.9999491667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.999095278 49.9999597222
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 49.9999997222
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.9991175 49.0000063889
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 48
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -111.999174722 47.0000097222
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -112 47
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.517746667 51
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.516091667 51.0002286111
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.516041667 50.0002461111
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.517746667 49.9999997222
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.516067222 49.0002825
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.517746667 48
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.516146944 47.0003611111
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.517746667 47
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -132.998205278 48.1170263889
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -131.455555556 48.1166666667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -130.516098056 48.1169827778
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128.455555556 48.1166666667
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept -128.5444 48.1167066
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/5208.gie b/test/gigs/5208.gie
new file mode 100644
index 00000000..5d94474a
--- /dev/null
+++ b/test/gigs/5208.gie
@@ -0,0 +1,192 @@
+--------------------------------------------------------------------------------
+
+Test 5208, Longitude Rotation, v2.0_2011-06-28.
+
+--------------------------------------------------------------------------------
+
+<gie>
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4275 +inv
+ +step +init=epsg:4807
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 5 58
+expect 2.66277083 58
+
+tolerance 2.77777777778e-07 m
+accept 5 56
+expect 2.66277083 56
+
+tolerance 2.77777777778e-07 m
+accept 5 55
+expect 2.66277083 55
+
+tolerance 2.77777777778e-07 m
+accept 5 53
+expect 2.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 4 51
+expect 1.66277083 51
+
+tolerance 2.77777777778e-07 m
+accept 4 49
+expect 1.66277083 49
+
+tolerance 2.77777777778e-07 m
+accept 2.33722917 46.8
+expect 0 46.8
+
+tolerance 2.77777777778e-07 m
+accept 3 53
+expect 0.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 4 53
+expect 1.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 6 53
+expect 3.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 7 53
+expect 4.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 9 53
+expect 6.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 10 53
+expect 7.66277083 53
+
+tolerance 2.77777777778e-07 m
+accept 11 53
+expect 8.66277083 53
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4807 +inv
+ +step +init=epsg:4275
+--------------------------------------------------------------------------------
+tolerance 2.77777777778e-07 m
+accept 2.66277083 58
+expect 5 58
+
+tolerance 2.77777777778e-07 m
+accept 2.66277083 56
+expect 5 56
+
+tolerance 2.77777777778e-07 m
+accept 2.66277083 55
+expect 5 55
+
+tolerance 2.77777777778e-07 m
+accept 2.66277083 53
+expect 5 53
+
+tolerance 2.77777777778e-07 m
+accept 1.66277083 51
+expect 4 51
+
+tolerance 2.77777777778e-07 m
+accept 1.66277083 49
+expect 4 49
+
+tolerance 2.77777777778e-07 m
+accept 0 46.8
+expect 2.33722917 46.8
+
+tolerance 2.77777777778e-07 m
+accept 0.66277083 53
+expect 3 53
+
+tolerance 2.77777777778e-07 m
+accept 1.66277083 53
+expect 4 53
+
+tolerance 2.77777777778e-07 m
+accept 3.66277083 53
+expect 6 53
+
+tolerance 2.77777777778e-07 m
+accept 4.66277083 53
+expect 7 53
+
+tolerance 2.77777777778e-07 m
+accept 6.66277083 53
+expect 9 53
+
+tolerance 2.77777777778e-07 m
+accept 7.66277083 53
+expect 10 53
+
+tolerance 2.77777777778e-07 m
+accept 8.66277083 53
+expect 11 53
+
+--------------------------------------------------------------------------------
+operation +proj=pipeline
+ +step +init=epsg:4275 +inv
+ +step +init=epsg:4807
+--------------------------------------------------------------------------------
+tolerance 5.55555555556e-08 m
+accept 5 58
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 5 56
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 5 55
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 5 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 4 51
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 4 49
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 2.33722917 46.8
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 3 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 4 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 6 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 7 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 9 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 10 53
+roundtrip 1000
+
+tolerance 5.55555555556e-08 m
+accept 11 53
+roundtrip 1000
+
+</gie>
diff --git a/test/gigs/convert_to_gie.py b/test/gigs/convert_to_gie.py
index 2b80aaa3..ba04b03d 100644
--- a/test/gigs/convert_to_gie.py
+++ b/test/gigs/convert_to_gie.py
@@ -1,6 +1,34 @@
import sys
import json
+def write_coords(f, coords, testtype, test):
+ '''testtype can be either ('fwd', 'inv', 'roundtrip')'''
+
+ for coord in coords:
+ if len(coord[0]) == 3:
+ cstring = '{} {} {}'
+ else:
+ cstring = '{} {}'
+
+ f.write('tolerance {tol} m\n'.format(tol=test['tolerances'][tolerance_index]))
+ accept = 'accept {s}\n'.format(s=cstring)
+ expect = 'expect {s}\n'.format(s=cstring)
+
+ if testtype == 'fwd':
+ f.write(accept.format(*coord[0]))
+ f.write(expect.format(*coord[1]))
+
+ if testtype == 'inv':
+ f.write(accept.format(*coord[1]))
+ f.write(expect.format(*coord[0]))
+
+ if testtype == 'roundtrip':
+ f.write(accept.format(*coord[0]))
+ f.write('roundtrip {n}\n'.format(n=test['times']))
+
+ f.write('\n')
+
+
with open(sys.argv[1]) as f:
data = json.load(f)
@@ -26,16 +54,13 @@ with open(filename, 'w') as f:
f.write(' +step {src} +inv\n'.format(src=crss[0]))
f.write(' +step {dst}\n'.format(dst=crss[1]))
f.write('-'*80 + '\n')
-
if test['type'] == 'conversion':
write_coords(f, coords, 'fwd', test)
-
f.write('-'*80 + '\n')
f.write('operation +proj=pipeline\n')
f.write(' +step {src} +inv\n'.format(src=crss[1]))
f.write(' +step {dst}\n'.format(dst=crss[0]))
f.write('-'*80 + '\n')
-
write_coords(f, coords, 'inv', test)
if test['type'] == 'roundtrip':