Index: geo_normalize.c
===================================================================
--- geo_normalize.c	(revision 1979)
+++ geo_normalize.c	(working copy)
@@ -1994,6 +1994,8 @@
     psDefn->SemiMinor = 0.0;
     psDefn->PM = KvUserDefined;
     psDefn->PMLongToGreenwich = 0.0;
+    psDefn->TOWGS84Count = 0;
+    memset( psDefn->TOWGS84, 0, sizeof(psDefn->TOWGS84) );
 
     psDefn->ProjCode = KvUserDefined;
     psDefn->Projection = KvUserDefined;
@@ -2183,6 +2185,12 @@
     }
 
 /* -------------------------------------------------------------------- */
+/*      Get the TOWGS84 parameters.                                     */
+/* -------------------------------------------------------------------- */
+    psDefn->TOWGS84Count = 
+        GTIFKeyGet(psGTIF, GeogTOWGS84GeoKey, &(psDefn->TOWGS84), 0, 7 );
+
+/* -------------------------------------------------------------------- */
 /*      Have the projection units of measure been overridden?  We       */
 /*      should likely be doing something about angular units too,       */
 /*      but these are very rarely not decimal degrees for actual        */
@@ -2450,6 +2458,25 @@
     }
 
 /* -------------------------------------------------------------------- */
+/*      Report TOWGS84 parameters.                                      */
+/* -------------------------------------------------------------------- */
+    if( psDefn->TOWGS84Count > 0 )
+    {
+        int i;
+
+        fprintf( fp, "TOWGS84: " );
+        
+        for( i = 0; i < psDefn->TOWGS84Count; i++ )
+        {
+            if( i > 0 )
+                fprintf( fp, "," );
+            fprintf( fp, "%g", psDefn->TOWGS84[i] );
+        }
+
+        fprintf( fp, "\n" );
+    }
+
+/* -------------------------------------------------------------------- */
 /*      Report the projection units of measure (currently just          */
 /*      linear).                                                        */
 /* -------------------------------------------------------------------- */
Index: geo_normalize.h
===================================================================
--- geo_normalize.h	(revision 1978)
+++ geo_normalize.h	(working copy)
@@ -95,6 +95,12 @@
     /** The length of the semi minor ellipse axis in meters. */
     double	SemiMinor;
 
+    /** TOWGS84 transformation values (0/3/7) */
+    short       TOWGS84Count;
+
+    /** TOWGS84 transformation values */
+    double      TOWGS84[7];
+
     /** Projection id from ProjectionGeoKey.  For example Proj_UTM_11S. */
     short	ProjCode;
 
Index: geokeys.inc
===================================================================
--- geokeys.inc	(revision 1978)
+++ geokeys.inc	(working copy)
@@ -31,6 +31,7 @@
 ValuePair(  GeogInvFlatteningGeoKey,	2059) /* ratio                     */
 ValuePair(  GeogAzimuthUnitsGeoKey,	2060) /* Section 6.3.1.4 Codes     */
 ValuePair(  GeogPrimeMeridianLongGeoKey,	2061) /* GeoAngularUnit            */
+ValuePair(  GeogTOWGS84GeoKey,          2062) /* 2011 - proposed addition  */
 
 /* 6.2.3 Projected CS Parameter Keys */
 /*    Several keys have been renamed,*/

