This is an automated email from the git hooks/post-receive script.

sebastic-guest pushed a commit to branch upstream
in repository proj.

commit 8b534a2e2f6fe8e8a2bfcc02972987857515ab23
Author: Bas Couwenberg <sebas...@xs4all.nl>
Date:   Fri Oct 3 17:22:06 2014 +0200

    Imported Upstream version 4.9.0~rc2
---
 ChangeLog                 |  10 +
 nad/epsg                  | 628 +++++++++++++++++++++++-----------------------
 nad/ntv2_out.dist         |  12 +-
 nad/testntv2              |   4 +-
 src/pj_apply_gridshift.c  |  18 +-
 src/pj_apply_vgridshift.c |  13 +-
 src/pj_gridinfo.c         |  51 ++--
 7 files changed, 386 insertions(+), 350 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e9a6a6d..62bdbb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2014-09-16  Frank Warmerdam  <warmer...@pobox.com>
+
+       * Generate 4.9.0 RC2. 
+
+       * nad/epsg: updated with Pulkova 1942(58) reverted, and vertical 
+       coordinate system names coming through properly.
+
+       * src/pj_gridinfo.c, pj_apply_vgridshift.c, pj_apply_gridshift.c:
+       Fix problems with NTv2 files with improper parent structure (#177).
+
 2014-09-13  Frank Warmerdam  <warmer...@pobox.com>
 
        * Generate 4.9.0 release.
diff --git a/nad/epsg b/nad/epsg
index 702e5f1..89acd4c 100644
--- a/nad/epsg
+++ b/nad/epsg
@@ -219,7 +219,7 @@
 # Pulkovo 1942(83)
 <4178> +proj=longlat +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +no_defs  <>
 # Pulkovo 1942(58)
-<4179> +proj=longlat +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +no_defs  <>
+<4179> +proj=longlat +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +no_defs  <>
 # EST97
 <4180> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs  <>
 # Luxembourg 1930
@@ -1291,15 +1291,15 @@
 # MGI / Slovenia Grid (deprecated)
 <2170> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=0 
+datum=hermannskogel +units=m +no_defs  <>
 # Pulkovo 1942(58) / Poland zone I (deprecated)
-<2171> +proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 
+x_0=4637000 +y_0=5647000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<2171> +proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 
+x_0=4637000 +y_0=5647000 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Poland zone II
-<2172> +proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 
+k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<2172> +proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 
+k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Poland zone III
-<2173> +proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 
+k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<2173> +proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 
+k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Poland zone IV
-<2174> +proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 
+k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<2174> +proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 
+k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Poland zone V
-<2175> +proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 
+y_0=-4700000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<2175> +proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 
+y_0=-4700000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 
+units=m +no_defs  <>
 # ETRS89 / Poland CS2000 zone 5
 <2176> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs  <>
 # ETRS89 / Poland CS2000 zone 6
@@ -3190,7 +3190,7 @@
 # Douala 1948 / AEF west
 <3119> +proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 
+ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Poland zone I
-<3120> +proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 
+x_0=4637000 +y_0=5467000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3120> +proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 
+x_0=4637000 +y_0=5467000 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # PRS92 / Philippines zone 1
 <3121> +proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 
+ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m 
+no_defs  <>
 # PRS92 / Philippines zone 2
@@ -3611,21 +3611,21 @@
 # IGC 1962 / Congo TM zone 30
 <3327> +proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_0=10000000 
+ellps=clrk80 +units=m +no_defs  <>
 # Pulkovo 1942(58) / GUGiK-80
-<3328> +proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666666667 
+k=0.999714 +x_0=500000 +y_0=500000 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3328> +proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666666667 
+k=0.999714 +x_0=500000 +y_0=500000 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5
-<3329> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3329> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 6
-<3330> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3330> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 7
-<3331> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3331> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 8
-<3332> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3332> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Gauss-Kruger zone 3
-<3333> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3333> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Gauss-Kruger zone 4
-<3334> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3334> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Gauss-Kruger zone 5
-<3335> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3335> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # IGN 1962 Kerguelen / UTM zone 42S
 <3336> +proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 
+units=m +no_defs  <>
 # Le Pouce 1934 / Mauritius Grid
@@ -4579,7 +4579,7 @@
 # WGS 84 / PDC Mercator
 <3832> +proj=merc +lon_0=150 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs 
 <>
 # Pulkovo 1942(58) / Gauss-Kruger zone 2
-<3833> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3833> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(83) / Gauss-Kruger zone 2
 <3834> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass 
+towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(83) / Gauss-Kruger zone 3
@@ -4587,13 +4587,13 @@
 # Pulkovo 1942(83) / Gauss-Kruger zone 4
 <3836> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3
-<3837> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3837> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4
-<3838> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3838> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 9
-<3839> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3839> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 10
-<3840> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<3840> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 6
 <3841> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass 
+towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7 (deprecated)
@@ -4601,7 +4601,7 @@
 # Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8 (deprecated)
 <3843> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass 
+towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(58) / Stereo70
-<3844> +proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 
+ellps=krass +towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m 
+no_defs  <>
+<3844> +proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 
+ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m 
+no_defs  <>
 # SWEREF99 / RT90 7.5 gon V emulation
 <3845> +proj=tmerc +lat_0=0 +lon_0=11.30625 +k=1.000006 +x_0=1500025.141 
+y_0=-667.282 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs  <>
 # SWEREF99 / RT90 5 gon V emulation
@@ -5601,7 +5601,7 @@
 # Moznet / UTM zone 38S
 <5629> +proj=utm +zone=38 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 
+units=m +no_defs  <>
 # Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)
-<5631> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<5631> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # PTRA08 / LCC Europe
 <5632> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 
+y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs  <>
 # PTRA08 / LAEA Europe
@@ -5643,7 +5643,7 @@
 # Monte Mario / TM Emilia-Romagna
 <5659> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=500053 +y_0=-3999820 
+ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +units=m 
+no_defs  <>
 # Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)
-<5663> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<5663> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)
 <5664> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass 
+towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)
@@ -5657,11 +5657,11 @@
 # RD/83 / 3-degree Gauss-Kruger zone 5 (E-N)
 <5669> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel 
+units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3 (E-N)
-<5670> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<5670> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4 (E-N)
-<5671> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<5671> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5 (E-N)
-<5672> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass 
+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 +units=m +no_defs  <>
+<5672> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass 
+towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs  <>
 # Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 (E-N)
 <5673> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass 
+towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs  <>
 # Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4 (E-N)
@@ -9651,579 +9651,579 @@
 <32761> +proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 
+y_0=2000000 +datum=WGS84 +units=m +no_defs  <>
 # WGS 84 / TM 36 SE
 <32766> +proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_0=10000000 
+datum=WGS84 +units=m +no_defs  <>
-# Unknown
+# TWD97
 <3822> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# IGRS
 <3887> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# MOLDREF99
 <4000> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGRDC 2005
 <4039> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# SREF98
 <4073> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# REGCAN95
 <4079> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# WGS 84 (geocentric)
 <4328> +proj=geocent +datum=WGS84 +units=m +no_defs  <>
-# Unknown
+# ITRF88 (geocentric)
 <4330> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF89 (geocentric)
 <4331> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF90 (geocentric)
 <4332> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF91 (geocentric)
 <4333> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF92 (geocentric)
 <4334> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF93 (geocentric)
 <4335> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF94 (geocentric)
 <4336> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF96 (geocentric)
 <4337> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF97 (geocentric)
 <4338> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Australian Antarctic (geocentric)
 <4340> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# EST97 (geocentric)
 <4342> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# CHTRF95 (geocentric)
 <4344> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ETRS89 (geocentric)
 <4346> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# GDA94 (geocentric)
 <4348> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Hartebeesthoek94 (geocentric)
 <4350> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# IRENET95 (geocentric)
 <4352> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# JGD2000 (geocentric)
 <4354> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# LKS94 (ETRS89) (geocentric)
 <4356> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Moznet (geocentric)
 <4358> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# NAD83(CSRS) (geocentric)
 <4360> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NAD83(HARN) (geocentric)
 <4362> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NZGD2000 (geocentric)
 <4364> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# POSGAR 98 (geocentric)
 <4366> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# REGVEN (geocentric)
 <4368> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGF93 (geocentric)
 <4370> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGFG95 (geocentric)
 <4372> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGR92 (geocentric)
 <4374> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# SIRGAS (geocentric)
 <4376> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# SWEREF99 (geocentric)
 <4378> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Yemen NGN96 (geocentric)
 <4380> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# RGNC 1991 (geocentric)
 <4382> +proj=geocent +ellps=intl +units=m +no_defs  <>
-# Unknown
+# RRAF 1991 (geocentric)
 <4384> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# ITRF2000 (geocentric)
 <4385> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ISN93 (geocentric)
 <4387> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# LKS92 (geocentric)
 <4389> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGSPM06
 <4465> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGM04
 <4468> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Cadastre 1997
 <4473> +proj=geocent +ellps=intl +units=m +no_defs  <>
-# Unknown
+# China Geodetic Coordinate System 2000
 <4479> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Mexico ITRF92
 <4481> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RRAF 1991
 <4556> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Slovenia 1996
 <4882> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RSRGD2000
 <4884> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# BDA2000
 <4886> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# HTRS96
 <4888> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# WGS 66
 <4890> +proj=geocent +ellps=WGS66 +units=m +no_defs  <>
-# Unknown
+# NAD83(NSRS2007)
 <4892> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# JAD2001
 <4894> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# ITRF2005
 <4896> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# DGN95
 <4897> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# LGD2006
 <4899> +proj=geocent +ellps=intl +units=m +no_defs  <>
-# Unknown
+# RGNC91-93
 <4906> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# GR96
 <4908> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF88
 <4910> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF89
 <4911> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF90
 <4912> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF91
 <4913> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF92
 <4914> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF93
 <4915> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF94
 <4916> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF96
 <4917> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF97
 <4918> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF2000
 <4919> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# GDM2000
 <4920> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# PZ-90
 <4922> +proj=geocent +a=6378136 +b=6356751.361745712 +units=m +no_defs  <>
-# Unknown
+# Mauritania 1999
 <4924> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Korea 2000
 <4926> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# POSGAR 94
 <4928> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# Australian Antarctic
 <4930> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# CHTRF95
 <4932> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# EST97
 <4934> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ETRS89
 <4936> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# GDA94
 <4938> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Hartebeesthoek94
 <4940> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# IRENET95
 <4942> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ISN93
 <4944> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# JGD2000
 <4946> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# LKS92
 <4948> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# LKS94
 <4950> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Moznet
 <4952> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# NAD83(CSRS)
 <4954> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NAD83(HARN)
 <4956> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NZGD2000
 <4958> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# POSGAR 98
 <4960> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# REGVEN
 <4962> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGF93
 <4964> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGFG95
 <4966> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGNC 1991
 <4968> +proj=geocent +ellps=intl +units=m +no_defs  <>
-# Unknown
+# RGR92
 <4970> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RRAF 1991
 <4972> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# SIRGAS 1995
 <4974> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# SWEREF99
 <4976> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# WGS 84
 <4978> +proj=geocent +datum=WGS84 +units=m +no_defs  <>
-# Unknown
+# Yemen NGN96
 <4980> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# IGM95
 <4982> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# WGS 72
 <4984> +proj=geocent +ellps=WGS72 +units=m +no_defs  <>
-# Unknown
+# WGS 72BE
 <4986> +proj=geocent +ellps=WGS72 +units=m +no_defs  <>
-# Unknown
+# SIRGAS 2000
 <4988> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Lao 1993
 <4990> +proj=geocent +ellps=krass +units=m +no_defs  <>
-# Unknown
+# Lao 1997
 <4992> +proj=geocent +ellps=krass +units=m +no_defs  <>
-# Unknown
+# PRS92
 <4994> +proj=geocent +ellps=clrk66 +units=m +no_defs  <>
-# Unknown
+# MAGNA-SIRGAS
 <4996> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGPF
 <4998> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# PTRA08
 <5011> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# GDBD2009
 <5244> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# TUREF
 <5250> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# DRUKREF 03
 <5262> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ISN2004
 <5322> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# ITRF2008
 <5332> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# POSGAR 2007
 <5341> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# MARGEN
 <5352> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# SIRGAS-Chile
 <5358> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# CR05
 <5363> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# MACARIO SOLIS
 <5368> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Peru96
 <5369> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# SIRGAS-ROU98
 <5379> +proj=geocent +ellps=WGS84 +units=m +no_defs  <>
-# Unknown
+# SIRGAS_ES2007.8
 <5391> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RGAF09
 <5487> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# PNG94
 <5544> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# UCS-2000
 <5558> +proj=geocent +ellps=krass +units=m +no_defs  <>
-# Unknown
+# FEH2010
 <5591> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# DB_REF
 <5828> +proj=geocent +ellps=bessel +units=m +no_defs  <>
-# Unknown
+# TGD2005
 <5884> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# CIGD11
 <6133> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NAD83(2011)
 <6317> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NAD83(PA11)
 <6320> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NAD83(MA11)
 <6323> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# Mexico ITRF2008
 <6363> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# JGD2011
 <6666> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# RDN2008
 <6704> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# Unknown
+# NAD83(CORS96)
 <6781> +proj=geocent +ellps=GRS80 +units=m +no_defs  <>
-# KKJ / Finland Uniform Coordinate System
+# KKJ / Finland Uniform Coordinate System + N60 height
 <3901> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl 
+towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +units=m +vunits=m 
+no_defs  <>
-# ETRS89 / TM35FIN(N,E)
+# ETRS89 / TM35FIN(N,E) + N60 height
 <3902> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / TM35FIN(N,E)
+# ETRS89 / TM35FIN(N,E) + N2000 height
 <3903> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / DKTM1
+# ETRS89 / DKTM1 + DVR90 height
 <4097> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_0=-5000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / DKTM2
+# ETRS89 / DKTM2 + DVR90 height
 <4098> +proj=tmerc +lat_0=0 +lon_0=10 +k=0.99998 +x_0=400000 +y_0=-5000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / DKTM3
+# ETRS89 / DKTM3 + DVR90 height
 <4099> +proj=tmerc +lat_0=0 +lon_0=11.75 +k=0.99998 +x_0=600000 +y_0=-5000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / DKTM4
+# ETRS89 / DKTM4 + DVR90 height
 <4100> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=800000 +y_0=-5000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / Faroe TM
+# ETRS89 / Faroe TM + FVR09 height
 <5318> +proj=tmerc +lat_0=0 +lon_0=-7 +k=0.999997 +x_0=200000 +y_0=-6000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# NAD83
+# NAD83 + NAVD88 height
 <5498> +proj=longlat +datum=NAD83 
+geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx
 +vunits=m +no_defs  <>
-# NAD83(HARN)
+# NAD83(HARN) + NAVD88 height
 <5499> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 
+geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx
 +vunits=m +no_defs  <>
-# NAD83(NSRS2007)
+# NAD83(NSRS2007) + NAVD88 height
 <5500> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 
+geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx
 +vunits=m +no_defs  <>
-# ETRS89 / UTM zone 31N
+# ETRS89 / UTM zone 31N + DHHN92 height
 <5554> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 32N
+# ETRS89 / UTM zone 32N + DHHN92 height
 <5555> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 33N
+# ETRS89 / UTM zone 33N + DHHN92 height
 <5556> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# FEH2010 / Fehmarnbelt TM
+# FEH2010 / Fehmarnbelt TM + FCSVR10 height
 <5598> +proj=tmerc +lat_0=0 +lon_0=11.33333333333333 +k=1 +x_0=1000000 +y_0=0 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99
+# SWEREF99 + RH2000 height
 <5628> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
-# RGF93 / Lambert-93
+# RGF93 / Lambert-93 + NGF-IGN69 height
 <5698> +proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 
+y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# RGF93 / Lambert-93
+# RGF93 / Lambert-93 + NGF-IGN78 height
 <5699> +proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 
+y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# NTF (Paris) / Lambert zone I
+# NTF (Paris) / Lambert zone I + NGF-IGN69 height
 <5707> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 
+k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +no_defs  <>
-# NTF (Paris) / Lambert zone IV
+# NTF (Paris) / Lambert zone IV + NGF-IGN78 height
 <5708> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 
+k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +no_defs  <>
-# DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)
+# DB_REF / 3-degree Gauss-Kruger zone 2 (E-N) + DHHN92 height
 <5832> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel 
+units=m +vunits=m +no_defs  <>
-# DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)
+# DB_REF / 3-degree Gauss-Kruger zone 3 (E-N) + DHHN92 height
 <5833> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel 
+units=m +vunits=m +no_defs  <>
-# DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)
+# DB_REF / 3-degree Gauss-Kruger zone 4 (E-N) + DHHN92 height
 <5834> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel 
+units=m +vunits=m +no_defs  <>
-# DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)
+# DB_REF / 3-degree Gauss-Kruger zone 5 (E-N) + DHHN92 height
 <5835> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel 
+units=m +vunits=m +no_defs  <>
-# SWEREF99 TM
+# SWEREF99 TM + RH2000 height
 <5845> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# SWEREF99 12 00
+# SWEREF99 12 00 + RH2000 height
 <5846> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 13 30
+# SWEREF99 13 30 + RH2000 height
 <5847> +proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 15 00
+# SWEREF99 15 00 + RH2000 height
 <5848> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 16 30
+# SWEREF99 16 30 + RH2000 height
 <5849> +proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 18 00
+# SWEREF99 18 00 + RH2000 height
 <5850> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 14 15
+# SWEREF99 14 15 + RH2000 height
 <5851> +proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 15 45
+# SWEREF99 15 45 + RH2000 height
 <5852> +proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 17 15
+# SWEREF99 17 15 + RH2000 height
 <5853> +proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 18 45
+# SWEREF99 18 45 + RH2000 height
 <5854> +proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 20 15
+# SWEREF99 20 15 + RH2000 height
 <5855> +proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 21 45
+# SWEREF99 21 45 + RH2000 height
 <5856> +proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# SWEREF99 23 15
+# SWEREF99 23 15 + RH2000 height
 <5857> +proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89
+# ETRS89 + NN2000 height
 <5942> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 5
+# ETRS89 / NTM zone 5 + NN2000 height
 <5945> +proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 6
+# ETRS89 / NTM zone 6 + NN2000 height
 <5946> +proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 7
+# ETRS89 / NTM zone 7 + NN2000 height
 <5947> +proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 8
+# ETRS89 / NTM zone 8 + NN2000 height
 <5948> +proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 9
+# ETRS89 / NTM zone 9 + NN2000 height
 <5949> +proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 10
+# ETRS89 / NTM zone 10 + NN2000 height
 <5950> +proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 11
+# ETRS89 / NTM zone 11 + NN2000 height
 <5951> +proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 12
+# ETRS89 / NTM zone 12 + NN2000 height
 <5952> +proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 13
+# ETRS89 / NTM zone 13 + NN2000 height
 <5953> +proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 14
+# ETRS89 / NTM zone 14 + NN2000 height
 <5954> +proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 15
+# ETRS89 / NTM zone 15 + NN2000 height
 <5955> +proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 16
+# ETRS89 / NTM zone 16 + NN2000 height
 <5956> +proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 17
+# ETRS89 / NTM zone 17 + NN2000 height
 <5957> +proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 18
+# ETRS89 / NTM zone 18 + NN2000 height
 <5958> +proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 19
+# ETRS89 / NTM zone 19 + NN2000 height
 <5959> +proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 20
+# ETRS89 / NTM zone 20 + NN2000 height
 <5960> +proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 21
+# ETRS89 / NTM zone 21 + NN2000 height
 <5961> +proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 22
+# ETRS89 / NTM zone 22 + NN2000 height
 <5962> +proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 23
+# ETRS89 / NTM zone 23 + NN2000 height
 <5963> +proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 24
+# ETRS89 / NTM zone 24 + NN2000 height
 <5964> +proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 25
+# ETRS89 / NTM zone 25 + NN2000 height
 <5965> +proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 26
+# ETRS89 / NTM zone 26 + NN2000 height
 <5966> +proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 27
+# ETRS89 / NTM zone 27 + NN2000 height
 <5967> +proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 28
+# ETRS89 / NTM zone 28 + NN2000 height
 <5968> +proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 29
+# ETRS89 / NTM zone 29 + NN2000 height
 <5969> +proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 30
+# ETRS89 / NTM zone 30 + NN2000 height
 <5970> +proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / UTM zone 31N
+# ETRS89 / UTM zone 31 + NN2000 height
 <5971> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 32N
+# ETRS89 / UTM zone 32 + NN2000 height
 <5972> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 33N
+# ETRS89 / UTM zone 33 + NN2000 height
 <5973> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 34N
+# ETRS89 / UTM zone 34 + NN2000 height
 <5974> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 35N
+# ETRS89 / UTM zone 35 + NN2000 height
 <5975> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 36N
+# ETRS89 / UTM zone 36 + NN2000 height
 <5976> +proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89
+# ETRS89 + NN54 height
 <6144> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 5
+# ETRS89 / NTM zone 5 + NN54 height
 <6145> +proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 6
+# ETRS89 / NTM zone 6 + NN54 height
 <6146> +proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 7
+# ETRS89 / NTM zone 7 + NN54 height
 <6147> +proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 8
+# ETRS89 / NTM zone 8 + NN54 height
 <6148> +proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 9
+# ETRS89 / NTM zone 9 + NN54 height
 <6149> +proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 10
+# ETRS89 / NTM zone 10 + NN54 height
 <6150> +proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 11
+# ETRS89 / NTM zone 11 + NN54 height
 <6151> +proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 12
+# ETRS89 / NTM zone 12 + NN54 height
 <6152> +proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 13
+# ETRS89 / NTM zone 13 + NN54 height
 <6153> +proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 14
+# ETRS89 / NTM zone 14 + NN54 height
 <6154> +proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 15
+# ETRS89 / NTM zone 15 + NN54 height
 <6155> +proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 16
+# ETRS89 / NTM zone 16 + NN54 height
 <6156> +proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 17
+# ETRS89 / NTM zone 17 + NN54 height
 <6157> +proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 18
+# ETRS89 / NTM zone 18 + NN54 height
 <6158> +proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 19
+# ETRS89 / NTM zone 19 + NN54 height
 <6159> +proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 20
+# ETRS89 / NTM zone 20 + NN54 height
 <6160> +proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 21
+# ETRS89 / NTM zone 21 + NN54 height
 <6161> +proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 22
+# ETRS89 / NTM zone 22 + NN54 height
 <6162> +proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 23
+# ETRS89 / NTM zone 23 + NN54 height
 <6163> +proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 24
+# ETRS89 / NTM zone 24 + NN54 height
 <6164> +proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 25
+# ETRS89 / NTM zone 25 + NN54 height
 <6165> +proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 26
+# ETRS89 / NTM zone 26 + NN54 height
 <6166> +proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 27
+# ETRS89 / NTM zone 27 + NN54 height
 <6167> +proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 28
+# ETRS89 / NTM zone 28 + NN54 height
 <6168> +proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 29
+# ETRS89 / NTM zone 29 + NN54 height
 <6169> +proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / NTM zone 30
+# ETRS89 / NTM zone 30 + NN54 height
 <6170> +proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1000000 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / UTM zone 31N
+# ETRS89 / UTM zone 31 + NN54 height
 <6171> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 32N
+# ETRS89 / UTM zone 32 + NN54 height
 <6172> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 33N
+# ETRS89 / UTM zone 33 + NN54 height
 <6173> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 34N
+# ETRS89 / UTM zone 34 + NN54 height
 <6174> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 35N
+# ETRS89 / UTM zone 35 + NN54 height
 <6175> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 36N
+# ETRS89 / UTM zone 36 + NN54 height
 <6176> +proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# Belge 1972 / Belgian Lambert 72
+# Belge 1972 / Belgian Lambert 72 + Ostend height
 <6190> +proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 
+lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl 
+towgs84=-106.869,52.2978,-103.724,0.3366,-0.457,1.8422,-1.2747 +units=m 
+vunits=m +no_defs  <>
-# NAD83(2011)
+# NAD83(2011) + NAVD88 height
 <6349> +proj=longlat +ellps=GRS80 
+geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx
 +vunits=m +no_defs  <>
-# NAD83(CSRS)
+# NAD83(CSRS) + CGVD2013 height
 <6649> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 7N
+# NAD83(CSRS) / UTM zone 7N + CGVD2013 height
 <6650> +proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 8N
+# NAD83(CSRS) / UTM zone 8N + CGVD2013 height
 <6651> +proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 9N
+# NAD83(CSRS) / UTM zone 9N + CGVD2013 height
 <6652> +proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 10N
+# NAD83(CSRS) / UTM zone 10N + CGVD2013 height
 <6653> +proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 11N
+# NAD83(CSRS) / UTM zone 11N + CGVD2013 height
 <6654> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 12N
+# NAD83(CSRS) / UTM zone 12N + CGVD2013 height
 <6655> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 13N
+# NAD83(CSRS) / UTM zone 13N + CGVD2013 height
 <6656> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 14N
+# NAD83(CSRS) / UTM zone 14N + CGVD2013 height
 <6657> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 15N
+# NAD83(CSRS) / UTM zone 15N + CGVD2013 height
 <6658> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 16N
+# NAD83(CSRS) / UTM zone 16N + CGVD2013 height
 <6659> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 17N
+# NAD83(CSRS) / UTM zone 17N + CGVD2013 height
 <6660> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 18N
+# NAD83(CSRS) / UTM zone 18N + CGVD2013 height
 <6661> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 19N
+# NAD83(CSRS) / UTM zone 19N + CGVD2013 height
 <6662> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 20N
+# NAD83(CSRS) / UTM zone 20N + CGVD2013 height
 <6663> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 21N
+# NAD83(CSRS) / UTM zone 21N + CGVD2013 height
 <6664> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# NAD83(CSRS) / UTM zone 22N
+# NAD83(CSRS) / UTM zone 22N + CGVD2013 height
 <6665> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# JGD2000
+# JGD2000 + JGD2000 (vertical) height
 <6696> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
-# JGD2011
+# JGD2011 + JGD2011 (vertical) height
 <6697> +proj=longlat +ellps=GRS80 +vunits=m +no_defs  <>
-# Tokyo
+# Tokyo + JSLD72 height
 <6700> +proj=longlat +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 
+vunits=m +no_defs  <>
-# WGS 84 / Pseudo-Mercator
+# WGS 84 / Pseudo-Mercator +  EGM2008 geoid height
 <6871> +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m 
+geoidgrids=egm08_25.gtx +vunits=m +no_defs  <>
-# NTF (Paris)
+# NTF (Paris) + NGF IGN69 height
 <7400> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 
+pm=paris +vunits=m +no_defs  <>
-# NTF (Paris) / France II (deprecated)
+# NTF (Paris) / France II + NGF Lallemand
 <7401> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 
+y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris 
+units=m +vunits=m +no_defs  <>
-# NTF (Paris) / France II (deprecated)
+# NTF (Paris) / France II + NGF IGN69
 <7402> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 
+y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris 
+units=m +vunits=m +no_defs  <>
-# NTF (Paris) / France III (deprecated)
+# NTF (Paris) / France III + NGF IGN69
 <7403> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 
+k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +no_defs  <>
-# RT90
+# RT90 + RH70 height
 <7404> +proj=longlat +ellps=bessel 
+towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +vunits=m +no_defs  <>
-# OSGB 1936 / British National Grid
+# OSGB 1936 / British National Grid + ODN height
 <7405> +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 
+y_0=-100000 +datum=OSGB36 +units=m +vunits=m +no_defs  <>
-# NAD27
+# NAD27 + NGVD29 height
 <7406> +proj=longlat +datum=NAD27 +vunits=us-ft +no_defs  <>
-# NAD27 / Texas North
+# NAD27 / Texas North + NGVD29 height
 <7407> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 
+x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +vunits=us-ft +no_defs  
<>
-# Amersfoort
+# RD/NAP
 <7408> +proj=longlat +ellps=bessel 
+towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725 +vunits=m 
+no_defs  <>
-# ETRS89
+# ETRS89 + EVRF2000 height
 <7409> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
-# PSD93
+# PSHD93
 <7410> +proj=longlat +ellps=clrk80 
+towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.7101 +vunits=m 
+no_defs  <>
-# NTF (Paris) / Lambert zone II
+# NTF (Paris) / Lambert zone II + NGF Lallemand height
 <7411> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 
+y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris 
+units=m +vunits=m +no_defs  <>
-# NTF (Paris) / Lambert zone II
+# NTF (Paris) / Lambert zone II + NGF IGN69
 <7412> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 
+y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris 
+units=m +vunits=m +no_defs  <>
-# NTF (Paris) / Lambert zone III
+# NTF (Paris) / Lambert zone III + NGF IGN69
 <7413> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 
+k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +no_defs  <>
-# Tokyo
+# Tokyo + JSLD69 height
 <7414> +proj=longlat +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 
+vunits=m +no_defs  <>
-# Amersfoort / RD New
+# Amersfoort / RD New + NAP height
 <7415> +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 
+k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel 
+towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 32N
+# ETRS89 / UTM zone 32N + DVR90 height
 <7416> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / UTM zone 33N
+# ETRS89 / UTM zone 33N + DVR90 height
 <7417> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m 
+vunits=m +no_defs  <>
-# ETRS89 / Kp2000 Jutland
+# ETRS89 / Kp2000 Jutland + DVR90 height
 <7418> +proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / Kp2000 Zealand
+# ETRS89 / Kp2000 Zealand + DVR90 height
 <7419> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# ETRS89 / Kp2000 Bornholm
+# ETRS89 / Kp2000 Bornholm + DVR90 height
 <7420> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 
+towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs  <>
-# NTF (Paris) / Lambert zone II
+# NTF (Paris) / Lambert zone II + NGF-IGN69 height
 <7421> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 
+y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris 
+units=m +vunits=m +no_defs  <>
-# NTF (Paris) / Lambert zone III
+# NTF (Paris) / Lambert zone III + NGF-IGN69 height
 <7422> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 
+k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +no_defs  <>
-# ETRS89
+# ETRS89 + EVRF2007 height
 <7423> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs  <>
diff --git a/nad/ntv2_out.dist b/nad/ntv2_out.dist
index 61dff4f..5ce26e6 100644
--- a/nad/ntv2_out.dist
+++ b/nad/ntv2_out.dist
@@ -1,11 +1,11 @@
 ##############################################################
 Point in the ONwinsor subgrid.
-82d00'00.000"W 42d00'00.000"N 0.0      81d59'59.61037"W        42d0'0.1602"N 
0.000
-82d00'01.000"W 42d00'00.000"N 0.0      82d0'0.610403"W 42d0'0.160204"N 0.000
-82d00'02.000"W 42d00'00.000"N 0.0      82d0'1.610436"W 42d0'0.160209"N 0.000
-84d00'00.000"W 42d00'00.000"N 0.0      83d59'59.85928"W        42d0'0.18003"N 
0.000
+82d00'00.000"W 42d00'00.000"N 0.0      81d59'59.6104"W 42d0'0.1602"N 0.000
+82d00'01.000"W 42d00'00.000"N 0.0      82d0'0.6104"W   42d0'0.1602"N 0.000
+82d00'02.000"W 42d00'00.000"N 0.0      82d0'1.6104"W   42d0'0.1602"N 0.000
+84d00'00.000"W 42d00'00.000"N 0.0      83d59'59.8593"W 42d0'0.18"N 0.000
 ##############################################################
 Try with NTv2 and NTv1 together ... falls back to NTv1
-99d00'00.000"W 65d00'00.000"N 0.0      99d0'1.58847"W  65d0'1.34815"N 0.000
-111d00'00.000"W 46d00'00.000"N 0.0     111d0'3.15487"W 45d59'59.75279"N 0.000
+99d00'00.000"W 65d00'00.000"N 0.0      99d0'1.5885"W   65d0'1.3482"N 0.000
+111d00'00.000"W 46d00'00.000"N 0.0     111d0'3.1549"W  45d59'59.7528"N 0.000
 111d00'00.000"W 47d30'00.000"N 0.0     111d0'2.7989"W  47d29'59.9896"N 0.000
diff --git a/nad/testntv2 b/nad/testntv2
index 4a4cfb2..5a9e1a7 100755
--- a/nad/testntv2
+++ b/nad/testntv2
@@ -35,7 +35,7 @@ echo 
"##############################################################" >> ${OUT}
 echo Point in the ONwinsor subgrid. >> ${OUT}
 #
 $EXE +proj=latlong +ellps=clrk66 +nadgrids=ntv2_0.gsb \
- +to +proj=latlong +datum=NAD83 -E -w6 >>${OUT} <<EOF
+ +to +proj=latlong +datum=NAD83 -E -w4 >>${OUT} <<EOF
 82d00'00.000"W 42d00'00.000"N 0.0
 82d00'01.000"W 42d00'00.000"N 0.0
 82d00'02.000"W 42d00'00.000"N 0.0
@@ -46,7 +46,7 @@ echo 
"##############################################################" >> ${OUT}
 echo Try with NTv2 and NTv1 together ... falls back to NTv1 >> ${OUT}
 #
 $EXE +proj=latlong +ellps=clrk66 +nadgrids=ntv2_0.gsb,ntv1_can.dat,conus \
- +to +proj=latlong +datum=NAD83 -E -w6 >>${OUT} <<EOF
+ +to +proj=latlong +datum=NAD83 -E -w4 >>${OUT} <<EOF
 99d00'00.000"W 65d00'00.000"N 0.0
 111d00'00.000"W 46d00'00.000"N 0.0
 111d00'00.000"W 47d30'00.000"N 0.0
diff --git a/src/pj_apply_gridshift.c b/src/pj_apply_gridshift.c
index bd0f254..4e7681a 100644
--- a/src/pj_apply_gridshift.c
+++ b/src/pj_apply_gridshift.c
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: pj_apply_gridshift.c 2219 2012-06-19 04:18:00Z warmerdam $
+ * $Id: pj_apply_gridshift.c 2548 2014-09-17 06:21:09Z warmerdam $
  *
  * Project:  PROJ.4
  * Purpose:  Apply datum shifts based on grid shift files (normally NAD27 to
@@ -156,7 +156,7 @@ int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO 
**tables, int grid_count,
                 continue;
 
             /* If we have child nodes, check to see if any of them apply. */
-            if( gi->child != NULL )
+            while( gi->child )
             {
                 PJ_GRIDINFO *child;
 
@@ -177,12 +177,14 @@ int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO 
**tables, int grid_count,
                     break;
                 }
 
-                /* we found a more refined child node to use */
-                if( child != NULL )
-                {
-                    gi = child;
-                    ct = child->ct;
-                }
+                /* If we didn't find a child then nothing more to do */
+
+                if( child == NULL ) break;
+
+                /* Otherwise use the child, first checking it's children */
+
+                gi = child;
+                ct = child->ct;
             }
 
             /* load the grid shift info if we don't have it. */
diff --git a/src/pj_apply_vgridshift.c b/src/pj_apply_vgridshift.c
index 1570d7f..d26e902 100644
--- a/src/pj_apply_vgridshift.c
+++ b/src/pj_apply_vgridshift.c
@@ -101,7 +101,7 @@ int pj_apply_vgridshift( PJ *defn, const char *listname,
                 continue;
 
             /* If we have child nodes, check to see if any of them apply. */
-            if( gi->child != NULL )
+            while( gi->child != NULL )
             {
                 PJ_GRIDINFO *child;
 
@@ -117,12 +117,15 @@ int pj_apply_vgridshift( PJ *defn, const char *listname,
                     break;
                 }
 
-                /* we found a more refined child node to use */
-                if( child != NULL )
+                /* we didn't find a more refined child node to use, so go with 
current grid */
+                if( child == NULL )
                 {
-                    gi = child;
-                    ct = child->ct;
+                    break;
                 }
+
+                /* Otherwise let's try for childrens children .. */
+                gi = child;
+                ct = child->ct;
             }
 
             /* load the grid shift info if we don't have it. */
diff --git a/src/pj_gridinfo.c b/src/pj_gridinfo.c
index 0c36227..3761717 100644
--- a/src/pj_gridinfo.c
+++ b/src/pj_gridinfo.c
@@ -1,5 +1,5 @@
 /******************************************************************************
- * $Id: pj_gridinfo.c 2512 2014-09-13 19:13:06Z hobu $
+ * $Id: pj_gridinfo.c 2548 2014-09-17 06:21:09Z warmerdam $
  *
  * Project:  PROJ.4
  * Purpose:  Functions for handling individual PJ_GRIDINFO's.  Includes
@@ -41,7 +41,7 @@
  * TODO - mloskot: re-implement porting friendly assert
  */
 # define assert(exp)   ((void)0)
-#else
+#else/
 # include <assert.h>
 #endif /* _WIN32_WCE */
 
@@ -396,11 +396,32 @@ int pj_gridinfo_load( projCtx ctx, PJ_GRIDINFO *gi )
 /************************************************************************/
 /*                       pj_gridinfo_init_ntv2()                        */
 /*                                                                      */
+/*      Seek a parent grid file by name from a grid list                */
+/************************************************************************/
+
+static PJ_GRIDINFO* pj_gridinfo_parent( PJ_GRIDINFO *gilist, 
+        const char *name, int length )
+{
+    while( gilist )
+    {
+        if( strncmp(gilist->ct->id,name,length) == 0 ) return gilist;
+        if( gilist->child )
+        {
+            PJ_GRIDINFO *parent=pj_gridinfo_parent( gilist->child, name, 
length );
+            if( parent ) return parent;
+        }
+        gilist=gilist->next;
+    }
+    return gilist;
+}
+
+/************************************************************************/
+/*                       pj_gridinfo_init_ntv2()                        */
+/*                                                                      */
 /*      Load a ntv2 (.gsb) file.                                        */
 /************************************************************************/
 
 static int pj_gridinfo_init_ntv2( projCtx ctx, PAFile fid, PJ_GRIDINFO *gilist 
)
-
 {
     unsigned char header[11*16];
     int num_subfiles, subfile;
@@ -563,11 +584,8 @@ static int pj_gridinfo_init_ntv2( projCtx ctx, PAFile fid, 
PJ_GRIDINFO *gilist )
         else
         {
             PJ_GRIDINFO *lnk;
-            PJ_GRIDINFO *gp = gilist;
-
-            while( gp != NULL
-                   && strncmp(gp->ct->id,(const char*)header+24,8) != 0 )
-                gp = gp->next;
+            PJ_GRIDINFO *gp = pj_gridinfo_parent(gilist,
+                                                 (const char*)header+24,8);
 
             if( gp == NULL )
             {
@@ -576,17 +594,20 @@ static int pj_gridinfo_init_ntv2( projCtx ctx, PAFile 
fid, PJ_GRIDINFO *gilist )
                         "failed to find parent %8.8s for %s.\n",
                         (const char *) header+24, gi->ct->id );
 
-                for( lnk = gp; lnk->next != NULL; lnk = lnk->next ) {}
+                for( lnk = gilist; lnk->next != NULL; lnk = lnk->next ) {}
                 lnk->next = gi;
             }
-            else if( gp->child == NULL )
-            {
-                gp->child = gi;
-            }
             else
             {
-                for( lnk = gp->child; lnk->next != NULL; lnk = lnk->next ) {}
-                lnk->next = gi;
+                if( gp->child == NULL )
+                {
+                    gp->child = gi;
+                }
+                else
+                {
+                    for( lnk = gp->child; lnk->next != NULL; lnk = lnk->next ) 
{}
+                    lnk->next = gi;
+                }
             }
         }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-grass/proj.git

_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to