[liblas] 08/15: Drop patch update_gdal_geotiff.patch, included upstream.
Bas Couwenberg
sebastic at xs4all.nl
Sun Aug 3 12:17:28 UTC 2014
This is an automated email from the git hooks/post-receive script.
sebastic-guest pushed a commit to branch experimental
in repository liblas.
commit e4f63df8b972ee9fd7a30adc79e1eeb4e73229e4
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sun Aug 3 12:20:08 2014 +0200
Drop patch update_gdal_geotiff.patch, included upstream.
---
debian/patches/series | 1 -
debian/patches/update_gdal_geotiff.patch | 1796 ------------------------------
2 files changed, 1797 deletions(-)
diff --git a/debian/patches/series b/debian/patches/series
index ae695a2..7a58779 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
fix_library_search
-update_gdal_geotiff.patch
diff --git a/debian/patches/update_gdal_geotiff.patch b/debian/patches/update_gdal_geotiff.patch
deleted file mode 100644
index 1e1026f..0000000
--- a/debian/patches/update_gdal_geotiff.patch
+++ /dev/null
@@ -1,1796 +0,0 @@
-From: Howard Butler <hobu.inc at gmail.com>
-Subject: [PATCH] update GDAL's GeoTIFF stuff to something more current
-Date: Tue, 10 Jun 2014 13:48:51 -0500
-
-Patch cherry-picked from upstream to prepare the way for the GDAL transition to 1.11.0.
-This commit will be part of LibLAS 1.8, but it may not be ready for a while, so it is
-being backported to LibLAS 1.7.
-Relevant Debian GIS Team discussion here:
-https://lists.debian.org/debian-gis/2014/07/msg00049.html
-
-Origin: upstream, https://github.com/libLAS/libLAS/commit/5a3361ea12ad8c946c6675b6f3e7370dd426a408
-Origin: upstream, https://github.com/libLAS/libLAS/commit/43e841f21fe90b1a35aa127c62e0ea1a96eb2df9
-
----
- src/gt_wkt_srs.cpp | 813 ++++++++++++++++++++++++++++++----------------
- src/gt_wkt_srs.h | 4 +-
- src/gt_wkt_srs_for_gdal.h | 18 +-
- src/tifvsi.cpp | 55 ++--
- src/tifvsi.h | 5 +-
- 5 files changed, 590 insertions(+), 305 deletions(-)
-
---- liblas.orig/src/gt_wkt_srs.cpp
-+++ liblas/src/gt_wkt_srs.cpp
-@@ -1,15 +1,15 @@
- /******************************************************************************
-- * $Id: gt_wkt_srs.cpp 21928 2011-03-11 03:31:28Z warmerdam $
-+ * $Id$
- *
- * Project: GeoTIFF Driver
- * Purpose: Implements translation between GeoTIFF normalized projection
-- * definitions and OpenGIS WKT SRS format. This code is
-- * deliberately GDAL free, and it is intended to be moved into
-- * libgeotiff someday if possible.
-+ * definitions and OpenGIS WKT SRS format. This code is intended to
-+ * be moved into libgeotiff someday if possible.
- * Author: Frank Warmerdam, warmerdam at pobox.com
- *
- ******************************************************************************
- * Copyright (c) 1999, Frank Warmerdam
-+ * Copyright (c) 2008-2014, Even Rouault <even dot rouault at mines-paris dot org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
-@@ -30,9 +30,10 @@
- * DEALINGS IN THE SOFTWARE.
- ****************************************************************************/
-
--#include "cpl_serv.h"
--#include "geo_tiffp.h"
--#define CPL_ERROR_H_INCLUDED
-+#include "cpl_error.h"
-+#include "cpl_conv.h"
-+#include "cpl_csv.h"
-+#include "gdal_csv.h"
-
- #include "geovalues.h"
- #include "ogr_spatialref.h"
-@@ -44,60 +45,27 @@
- #include "gt_wkt_srs_for_gdal.h"
- #include "gt_citation.h"
-
--CPL_CVSID("$Id: gt_wkt_srs.cpp 21928 2011-03-11 03:31:28Z warmerdam $")
-+CPL_CVSID("$Id$")
-
--CPL_C_START
--#ifndef CPL_SERV_H_INTERNAL
--/* Make VSIL_STRICT_ENFORCE active in DEBUG builds */
--#ifdef DEBUG
--#define VSIL_STRICT_ENFORCE
--#endif
-+#define ProjLinearUnitsInterpCorrectGeoKey 3059
-
--#ifdef VSIL_STRICT_ENFORCE
--typedef struct _VSILFILE VSILFILE;
--#else
--typedef FILE VSILFILE;
-+#ifndef CT_HotineObliqueMercatorAzimuthCenter
-+# define CT_HotineObliqueMercatorAzimuthCenter 9815
- #endif
-
--// ensure compatability with older libgeotiffs.
- #if !defined(GTIFAtof)
--# define GTIFAtof atof
-+# define GTIFAtof CPLAtof
- #endif
-
--int CPL_DLL VSIFCloseL( VSILFILE * );
--int CPL_DLL VSIUnlink( const char * );
--VSILFILE CPL_DLL *VSIFileFromMemBuffer( const char *pszFilename,
-- GByte *pabyData,
-- GUIntBig nDataLength,
-- int bTakeOwnership );
--GByte CPL_DLL *VSIGetMemFileBuffer( const char *pszFilename,
-- GUIntBig *pnDataLength,
-- int bUnlinkAndSeize );
--
--/* Those stuff are redefined in external libgeotiff cpl_serv.h */
--/* as macros. Let's use GDAL functions instead */
--/* E.Rouault : I'm wondering why we just don't #define CPL_SERV_H_INCLUDED */
--/* at the beginning of this file to avoid cpl_serv.h to be used at all ??? */
--
--#undef CSVReadParseLine
--char CPL_DLL **CSVReadParseLine( FILE *fp);
--#undef CSLDestroy
--void CPL_DLL CPL_STDCALL CSLDestroy(char **papszStrList);
--#undef VSIFree
--void CPL_DLL VSIFree( void * );
--#undef CPLFree
--#define CPLFree VSIFree
--#undef CPLMalloc
--void CPL_DLL *CPLMalloc( size_t );
--#undef CPLCalloc
--void CPL_DLL *CPLCalloc( size_t, size_t );
--#undef CPLStrdup
--char CPL_DLL *CPLStrdup( const char * );
--
--#endif /* CPL_SERV_H_INTERNAL */
-+CPL_C_START
-+void CPL_DLL LibgeotiffOneTimeInit();
-+void LibgeotiffOneTimeCleanupMutex();
-
- CPL_C_END
-
-+// To remind myself not to use CPLString in this file!
-+#define CPLString Please_do_not_use_CPLString_in_this_file
-+
- static const char *papszDatumEquiv[] =
- {
- "Militar_Geographische_Institut",
-@@ -119,6 +87,40 @@
- #endif
-
- /************************************************************************/
-+/* LibgeotiffOneTimeInit() */
-+/************************************************************************/
-+
-+static void* hMutex = NULL;
-+
-+void LibgeotiffOneTimeInit()
-+{
-+ static int bOneTimeInitDone = FALSE;
-+ CPLMutexHolder oHolder( &hMutex);
-+
-+ if (bOneTimeInitDone)
-+ return;
-+
-+ bOneTimeInitDone = TRUE;
-+
-+ // If linking with an external libgeotiff we hope this will call the
-+ // SetCSVFilenameHook() in libgeotiff, not the one in gdal/port!
-+ // SetCSVFilenameHook( GDALDefaultCSVFilename );
-+}
-+
-+/************************************************************************/
-+/* LibgeotiffOneTimeCleanupMutex() */
-+/************************************************************************/
-+
-+void LibgeotiffOneTimeCleanupMutex()
-+{
-+ if( hMutex != NULL )
-+ {
-+ CPLDestroyMutex(hMutex);
-+ hMutex = NULL;
-+ }
-+}
-+
-+/************************************************************************/
- /* GTIFToCPLRecyleString() */
- /* */
- /* This changes a string from the libgeotiff heap to the GDAL */
-@@ -207,11 +209,11 @@
- /************************************************************************/
-
- /* For example:
-- GTCitationGeoKey (Ascii,215): "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 21928 $ $Date: 2011-03-10 22:31:28 -0500 (Thu, 10 Mar 2011) $\nProjection Name = UTM\nUnits = meters\nGeoTIFF Units = meters"
-+ GTCitationGeoKey (Ascii,215): "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision$ $Date$\nProjection Name = UTM\nUnits = meters\nGeoTIFF Units = meters"
-
-- GeogCitationGeoKey (Ascii,267): "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 21928 $ $Date: 2011-03-10 22:31:28 -0500 (Thu, 10 Mar 2011) $\nUnable to match Ellipsoid (Datum) to a GeographicTypeGeoKey value\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)"
-+ GeogCitationGeoKey (Ascii,267): "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision$ $Date$\nUnable to match Ellipsoid (Datum) to a GeographicTypeGeoKey value\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)"
-
-- PCSCitationGeoKey (Ascii,214): "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 21928 $ $Date: 2011-03-10 22:31:28 -0500 (Thu, 10 Mar 2011) $\nUTM Zone 10N\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)"
-+ PCSCitationGeoKey (Ascii,214): "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision$ $Date$\nUTM Zone 10N\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)"
-
- */
-
-@@ -259,6 +261,11 @@
- OGRSpatialReference oSRS;
-
- /* -------------------------------------------------------------------- */
-+/* Make sure we have hooked CSVFilename(). */
-+/* -------------------------------------------------------------------- */
-+ LibgeotiffOneTimeInit();
-+
-+/* -------------------------------------------------------------------- */
- /* Handle non-standard coordinate systems where GTModelTypeGeoKey */
- /* is not defined, but ProjectedCSTypeGeoKey is defined (ticket #3019) */
- /* -------------------------------------------------------------------- */
-@@ -338,9 +345,8 @@
- GTIFKeyGet( hGTIF, GeogCitationGeoKey, szName,
- 0, sizeof(szName) );
-
--#if GDAL_VERSION_NUM >=1900
- oSRS.SetGeocCS( szName );
--#endif
-+
- char *pszUnitsName = NULL;
-
- GTIFGetUOMLengthInfo( psDefn->UOMLength, &pszUnitsName, NULL );
-@@ -357,6 +363,87 @@
- }
-
- /* -------------------------------------------------------------------- */
-+/* #3901: In libgeotiff 1.3.0 and earlier we incorrectly */
-+/* interpreted linear projection parameter geokeys (false */
-+/* easting/northing) as being in meters instead of the */
-+/* coordinate system of the file. The following code attempts */
-+/* to provide mechanisms for fixing the issue if we are linked */
-+/* with an older version of libgeotiff. */
-+/* -------------------------------------------------------------------- */
-+ int iParm;
-+ const char *pszLinearUnits =
-+ CPLGetConfigOption( "GTIFF_LINEAR_UNITS", "DEFAULT" );
-+
-+#if LIBGEOTIFF_VERSION <= 1300
-+ if( EQUAL(pszLinearUnits,"DEFAULT") && psDefn->Projection == KvUserDefined )
-+ {
-+ for( iParm = 0; iParm < psDefn->nParms; iParm++ )
-+ {
-+ switch( psDefn->ProjParmId[iParm] )
-+ {
-+ case ProjFalseEastingGeoKey:
-+ case ProjFalseNorthingGeoKey:
-+ case ProjFalseOriginEastingGeoKey:
-+ case ProjFalseOriginNorthingGeoKey:
-+ case ProjCenterEastingGeoKey:
-+ case ProjCenterNorthingGeoKey:
-+ if( psDefn->UOMLengthInMeters != 0
-+ && psDefn->UOMLengthInMeters != 1.0 )
-+ {
-+ psDefn->ProjParm[iParm] *= psDefn->UOMLengthInMeters;
-+ CPLDebug( "GTIFF", "converting geokey to meters to fix bug in old libgeotiff" );
-+ }
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ }
-+ }
-+#endif /* LIBGEOTIFF_VERSION <= 1300 */
-+
-+/* -------------------------------------------------------------------- */
-+/* #3901: If folks have broken GeoTIFF files generated with */
-+/* older versions of GDAL+libgeotiff, then they may need a */
-+/* hack to allow them to be read properly. This is that */
-+/* hack. We basically try to undue the conversion applied by */
-+/* libgeotiff to meters (or above) to simulate the old */
-+/* behavior. */
-+/* -------------------------------------------------------------------- */
-+ short bLinearUnitsMarkedCorrect = FALSE;
-+
-+ GTIFKeyGet(hGTIF, (geokey_t) ProjLinearUnitsInterpCorrectGeoKey,
-+ &bLinearUnitsMarkedCorrect, 0, 1);
-+
-+ if( EQUAL(pszLinearUnits,"BROKEN")
-+ && psDefn->Projection == KvUserDefined
-+ && !bLinearUnitsMarkedCorrect )
-+ {
-+ for( iParm = 0; iParm < psDefn->nParms; iParm++ )
-+ {
-+ switch( psDefn->ProjParmId[iParm] )
-+ {
-+ case ProjFalseEastingGeoKey:
-+ case ProjFalseNorthingGeoKey:
-+ case ProjFalseOriginEastingGeoKey:
-+ case ProjFalseOriginNorthingGeoKey:
-+ case ProjCenterEastingGeoKey:
-+ case ProjCenterNorthingGeoKey:
-+ if( psDefn->UOMLengthInMeters != 0
-+ && psDefn->UOMLengthInMeters != 1.0 )
-+ {
-+ psDefn->ProjParm[iParm] /= psDefn->UOMLengthInMeters;
-+ CPLDebug( "GTIFF", "converting geokey to accomodate old broken file due to GTIFF_LINEAR_UNITS=BROKEN setting." );
-+ }
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ }
-+ }
-+
-+/* -------------------------------------------------------------------- */
- /* If this is a projected SRS we set the PROJCS keyword first */
- /* to ensure that the GEOGCS will be a child. */
- /* -------------------------------------------------------------------- */
-@@ -482,6 +569,7 @@
- dfSemiMajor = psDefn->SemiMajor;
- if( dfSemiMajor == 0.0 )
- {
-+ CPLFree(pszSpheroidName);
- pszSpheroidName = CPLStrdup("unretrievable - using WGS84");
- dfSemiMajor = SRS_WGS84_SEMIMAJOR;
- dfInvFlattening = SRS_WGS84_INVFLATTENING;
-@@ -499,7 +587,7 @@
- if(!pszGeogName || strlen(pszGeogName) == 0)
- {
- CPLFree(pszGeogName);
-- pszGeogName = CPLStrdup( pszDatumName );
-+ pszGeogName = CPLStrdup( pszDatumName ? pszDatumName : "unknown" );
- }
-
- if(aUnitGot)
-@@ -613,7 +701,7 @@
- break;
-
- case CT_Stereographic:
-- oSRS.SetOS( adfParm[0], adfParm[1],
-+ oSRS.SetStereographic( adfParm[0], adfParm[1],
- adfParm[4],
- adfParm[5], adfParm[6] );
- break;
-@@ -625,6 +713,13 @@
- adfParm[5], adfParm[6] );
- break;
-
-+ case CT_HotineObliqueMercatorAzimuthCenter:
-+ oSRS.SetHOMAC( adfParm[0], adfParm[1],
-+ adfParm[2], adfParm[3],
-+ adfParm[4],
-+ adfParm[5], adfParm[6] );
-+ break;
-+
- case CT_EquidistantConic:
- oSRS.SetEC( adfParm[0], adfParm[1],
- adfParm[2], adfParm[3],
-@@ -788,6 +883,16 @@
- }
-
- /* -------------------------------------------------------------------- */
-+/* This addresses another case where the EGM96 Vertical Datum code */
-+/* is mis-used as a Vertical CS code (#4922) */
-+/* -------------------------------------------------------------------- */
-+ if( verticalCSType == 5171 )
-+ {
-+ verticalDatum = 5171;
-+ verticalCSType = 5773;
-+ }
-+
-+/* -------------------------------------------------------------------- */
- /* Somewhat similarly, codes 5001 to 5033 were treated as */
- /* vertical coordinate systems based on ellipsoidal heights. */
- /* We use the corresponding 2d geodetic datum as the vertical */
-@@ -948,7 +1053,7 @@
- dfFactorC = GTIFAtof(
- CSVGetField( pszFilename,
- "uom_code", szSearchKey, CC_Integer,
-- "factor_b" ));
-+ "factor_c" ));
- if( dfFactorB != 0.0 && dfFactorC != 0.0 )
- sprintf( szInMeters, "%.16g", dfFactorB / dfFactorC );
- else
-@@ -1147,7 +1252,11 @@
- double dfLinearUOM = poSRS->GetLinearUnits( &pszLinearUOMName );
- int nUOMLengthCode = 9001; /* meters */
-
-- if( (pszLinearUOMName != NULL
-+ if( poSRS->GetAuthorityName("PROJCS|UNIT") != NULL
-+ && EQUAL(poSRS->GetAuthorityName("PROJCS|UNIT"),"EPSG")
-+ && poSRS->GetAttrNode( "PROJCS|UNIT" ) != poSRS->GetAttrNode("GEOGCS|UNIT") )
-+ nUOMLengthCode = atoi(poSRS->GetAuthorityCode("PROJCS|UNIT"));
-+ else if( (pszLinearUOMName != NULL
- && EQUAL(pszLinearUOMName,SRS_UL_FOOT))
- || fabs(dfLinearUOM-GTIFAtof(SRS_UL_FOOT_CONV)) < 0.0000001 )
- nUOMLengthCode = 9002; /* international foot */
-@@ -1181,13 +1290,11 @@
- ModelTypeProjected);
- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1, nPCS );
- }
--#if GDAL_VERSION_NUM >=1900
- else if( poSRS->IsGeocentric() )
- {
- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeGeocentric );
- }
--#endif
- else if( pszProjection == NULL )
- {
- if( poSRS->IsGeographic() )
-@@ -1197,15 +1304,15 @@
- }
- else if( EQUAL(pszProjection,SRS_PT_ALBERS_CONIC_EQUAL_AREA) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_AlbersEqualArea );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_AlbersEqualArea );
-
- GTIFKeySet(psGTIF, ProjStdParallelGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_STANDARD_PARALLEL_1, 0.0 ) );
-@@ -1220,17 +1327,17 @@
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( poSRS->GetUTMZone() != 0 )
- {
- int bNorth, nZone, nProjection;
-
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-
- nZone = poSRS->GetUTMZone( &bNorth );
-@@ -1275,15 +1382,15 @@
-
- else if( EQUAL(pszProjection,SRS_PT_TRANSVERSE_MERCATOR) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_TransverseMercator );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_TransverseMercator );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1295,23 +1402,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_TransvMercator_SouthOriented );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_TransvMercator_SouthOriented );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1323,25 +1430,25 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_MERCATOR_2SP)
- || EQUAL(pszProjection,SRS_PT_MERCATOR_1SP) )
-
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Mercator );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Mercator );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1353,23 +1460,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_OBLIQUE_STEREOGRAPHIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_ObliqueStereographic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_ObliqueStereographic );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1381,23 +1488,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_STEREOGRAPHIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Stereographic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Stereographic );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1409,23 +1516,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_POLAR_STEREOGRAPHIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_PolarStereographic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_PolarStereographic );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1437,23 +1544,57 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_HOTINE_OBLIQUE_MERCATOR) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ ModelTypeProjected);
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ KvUserDefined );
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ KvUserDefined );
-+
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_ObliqueMercator );
-+
-+ GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_CENTER, 0.0 ) );
-+
-+ GTIFKeySet(psGTIF, ProjCenterLongGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-+
-+ GTIFKeySet(psGTIF, ProjAzimuthAngleGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetNormProjParm( SRS_PP_AZIMUTH, 0.0 ) );
-+
-+ GTIFKeySet(psGTIF, ProjRectifiedGridAngleGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetNormProjParm( SRS_PP_RECTIFIED_GRID_ANGLE, 0.0 ) );
-+
-+ GTIFKeySet(psGTIF, ProjScaleAtCenterGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-+
-+ GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+
-+ GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ }
-+
-+ else if( EQUAL(pszProjection,SRS_PT_HOTINE_OBLIQUE_MERCATOR_AZIMUTH_CENTER) )
-+ {
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_ObliqueMercator );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_HotineObliqueMercatorAzimuthCenter );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_CENTER, 0.0 ) );
-@@ -1471,23 +1612,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_CASSINI_SOLDNER) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_CassiniSoldner );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_CassiniSoldner );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1496,23 +1637,23 @@
- poSRS->GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_EQUIDISTANT_CONIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_EquidistantConic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_EquidistantConic );
-
- GTIFKeySet(psGTIF, ProjStdParallel1GeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_STANDARD_PARALLEL_1, 0.0 ) );
-@@ -1527,23 +1668,23 @@
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_POLYCONIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Polyconic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Polyconic );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1555,23 +1696,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_AZIMUTHAL_EQUIDISTANT) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_AzimuthalEquidistant );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_AzimuthalEquidistant );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_CENTER, 0.0 ) );
-@@ -1580,23 +1721,23 @@
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_MILLER_CYLINDRICAL) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_MillerCylindrical );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_MillerCylindrical );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_CENTER, 0.0 ) );
-@@ -1605,23 +1746,23 @@
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_EQUIRECTANGULAR) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Equirectangular );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Equirectangular );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1633,23 +1774,23 @@
- poSRS->GetNormProjParm( SRS_PP_STANDARD_PARALLEL_1, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_GNOMONIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Gnomonic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Gnomonic );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1658,23 +1799,23 @@
- poSRS->GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_LambertAzimEqualArea );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_LambertAzimEqualArea );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_CENTER, 0.0 ) );
-@@ -1683,23 +1824,23 @@
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_ORTHOGRAPHIC) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Orthographic );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Orthographic );
-
- GTIFKeySet(psGTIF, ProjCenterLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1708,23 +1849,23 @@
- poSRS->GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_NEW_ZEALAND_MAP_GRID) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_NewZealandMapGrid );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_NewZealandMapGrid );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1733,89 +1874,89 @@
- poSRS->GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_ROBINSON) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Robinson );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Robinson );
-
- GTIFKeySet(psGTIF, ProjCenterLongGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_SINUSOIDAL) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_Sinusoidal );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_Sinusoidal );
-
- GTIFKeySet(psGTIF, ProjCenterLongGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LONGITUDE_OF_CENTER, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_VANDERGRINTEN) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_VanDerGrinten );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_VanDerGrinten );
-
- GTIFKeySet(psGTIF, ProjCenterLongGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_ALBERS_CONIC_EQUAL_AREA) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_AlbersEqualArea );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_AlbersEqualArea );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_CENTER, 0.0 ) );
-@@ -1830,23 +1971,23 @@
- poSRS->GetNormProjParm( SRS_PP_STANDARD_PARALLEL_2, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_LambertConfConic_2SP );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_LambertConfConic_2SP );
-
- GTIFKeySet(psGTIF, ProjFalseOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1861,23 +2002,23 @@
- poSRS->GetNormProjParm( SRS_PP_STANDARD_PARALLEL_2, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseOriginEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseOriginNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_LambertConfConic_1SP );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_LambertConfConic_1SP );
-
- GTIFKeySet(psGTIF, ProjNatOriginLatGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_LATITUDE_OF_ORIGIN, 0.0 ) );
-@@ -1889,23 +2030,23 @@
- poSRS->GetNormProjParm( SRS_PP_SCALE_FACTOR, 1.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else if( EQUAL(pszProjection,SRS_PT_CYLINDRICAL_EQUAL_AREA) )
- {
-- GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, GTModelTypeGeoKey, TYPE_SHORT, 1,
- ModelTypeProjected);
-- GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectedCSTypeGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-- GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
-+ GTIFKeySet(psGTIF, ProjectionGeoKey, TYPE_SHORT, 1,
- KvUserDefined );
-
-- GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-- CT_CylindricalEqualArea );
-+ GTIFKeySet(psGTIF, ProjCoordTransGeoKey, TYPE_SHORT, 1,
-+ CT_CylindricalEqualArea );
-
- GTIFKeySet(psGTIF, ProjNatOriginLongGeoKey, TYPE_DOUBLE, 1,
- poSRS->GetNormProjParm( SRS_PP_CENTRAL_MERIDIAN, 0.0 ) );
-@@ -1914,10 +2055,10 @@
- poSRS->GetNormProjParm( SRS_PP_STANDARD_PARALLEL_1, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseEastingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_EASTING, 0.0 ) );
-
- GTIFKeySet(psGTIF, ProjFalseNorthingGeoKey, TYPE_DOUBLE, 1,
-- poSRS->GetNormProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
-+ poSRS->GetProjParm( SRS_PP_FALSE_NORTHING, 0.0 ) );
- }
-
- else
-@@ -1927,7 +2068,11 @@
-
- // Note that VERTCS is an ESRI "spelling" of VERT_CS so we assume if
- // we find it that we should try to treat this as a PE string.
-- if( bWritePEString || poSRS->GetAttrValue("VERTCS") != NULL )
-+ bWritePEString |= (poSRS->GetAttrValue("VERTCS") != NULL);
-+
-+ if( bWritePEString
-+ && CSLTestBoolean( CPLGetConfigOption("GTIFF_ESRI_CITATION",
-+ "YES") ) )
- {
- /* Anyhing we can't map, we store as an ESRI PE string with a citation key */
- char *pszPEString = NULL;
-@@ -1950,10 +2095,26 @@
- }
-
- /* -------------------------------------------------------------------- */
-+/* Is there a false easting/northing set? If so, write out a */
-+/* special geokey tag to indicate that GDAL has written these */
-+/* with the proper interpretation of the linear units. */
-+/* -------------------------------------------------------------------- */
-+ double dfFE = 0.0, dfFN = 0.0;
-+
-+ if( (GTIFKeyGet(psGTIF, ProjFalseEastingGeoKey, &dfFE, 0, 1)
-+ || GTIFKeyGet(psGTIF, ProjFalseNorthingGeoKey, &dfFN, 0, 1)
-+ || GTIFKeyGet(psGTIF, ProjFalseOriginEastingGeoKey, &dfFE, 0, 1)
-+ || GTIFKeyGet(psGTIF, ProjFalseOriginNorthingGeoKey, &dfFN, 0, 1))
-+ && (dfFE != 0.0 || dfFN != 0.0)
-+ && nUOMLengthCode != 9001 )
-+ {
-+ GTIFKeySet(psGTIF, (geokey_t) ProjLinearUnitsInterpCorrectGeoKey,
-+ TYPE_SHORT, 1, (short) 1 );
-+ }
-+
-+/* -------------------------------------------------------------------- */
- /* Write linear units information. */
- /* -------------------------------------------------------------------- */
--#if GDAL_VERSION_NUM >=1900
--
- if( poSRS->IsGeocentric() )
- {
- GTIFKeySet(psGTIF, GeogLinearUnitsGeoKey, TYPE_SHORT, 1,
-@@ -1962,9 +2123,7 @@
- GTIFKeySet( psGTIF, GeogLinearUnitSizeGeoKey, TYPE_DOUBLE, 1,
- dfLinearUOM);
- }
-- else
--#endif
-- if( !poSRS->IsGeographic() )
-+ else if( !poSRS->IsGeographic() )
- {
- GTIFKeySet(psGTIF, ProjLinearUnitsGeoKey, TYPE_SHORT, 1,
- nUOMLengthCode );
-@@ -1973,8 +2132,15 @@
- dfLinearUOM);
-
- /* if linear units name is available and user defined, store it as citation */
-- if(!peStrStored && nUOMLengthCode == KvUserDefined && pszLinearUOMName && strlen(pszLinearUOMName)>0)
-+ if(!peStrStored
-+ && nUOMLengthCode == KvUserDefined
-+ && pszLinearUOMName
-+ && strlen(pszLinearUOMName)>0
-+ && CSLTestBoolean( CPLGetConfigOption("GTIFF_ESRI_CITATION",
-+ "YES") ) )
-+ {
- SetLinearUnitCitation(psGTIF, pszLinearUOMName);
-+ }
- }
-
- /* -------------------------------------------------------------------- */
-@@ -2001,12 +2167,7 @@
- /* -------------------------------------------------------------------- */
- if( poSRS->GetRoot() != NULL
- && poSRS->GetRoot()->GetChild(0) != NULL
-- && (poSRS->IsProjected() || poSRS->IsLocal()
--
--#if GDAL_VERSION_NUM >=1900
-- || poSRS->IsGeocentric()
--#endif
-- ) )
-+ && (poSRS->IsProjected() || poSRS->IsLocal() || poSRS->IsGeocentric()) )
- {
- GTIFKeySet( psGTIF, GTCitationGeoKey, TYPE_ASCII, 0,
- poSRS->GetRoot()->GetChild(0)->GetValue() );
-@@ -2097,7 +2258,9 @@
- GTIFKeySet( psGTIF, GeogSemiMajorAxisGeoKey, TYPE_DOUBLE, 1,
- dfSemiMajor );
-
-- if( nGCS == KvUserDefined )
-+ if( nGCS == KvUserDefined
-+ && CSLTestBoolean( CPLGetConfigOption("GTIFF_ESRI_CITATION",
-+ "YES") ) )
- SetGeogCSCitation(psGTIF, poSRS, angUnitName, nDatum, nSpheroid);
- }
-
-@@ -2105,15 +2268,23 @@
- /* Do we have TOWGS84 parameters? */
- /* -------------------------------------------------------------------- */
-
--#if LIBGEOTIFF_VERSION >= 1310
-+#if LIBGEOTIFF_VERSION >= 1310 && !defined(GEO_NORMALIZE_DISABLE_TOWGS84)
- double adfTOWGS84[7];
-
- if( poSRS->GetTOWGS84( adfTOWGS84 ) == OGRERR_NONE )
- {
- if( adfTOWGS84[3] == 0.0 && adfTOWGS84[4] == 0.0
- && adfTOWGS84[5] == 0.0 && adfTOWGS84[6] == 0.0 )
-- GTIFKeySet( psGTIF, GeogTOWGS84GeoKey, TYPE_DOUBLE, 3,
-- adfTOWGS84 );
-+ {
-+ if( nGCS == GCS_WGS_84 && adfTOWGS84[0] == 0.0
-+ && adfTOWGS84[1] == 0.0 && adfTOWGS84[2] == 0.0 )
-+ {
-+ ; /* do nothing */
-+ }
-+ else
-+ GTIFKeySet( psGTIF, GeogTOWGS84GeoKey, TYPE_DOUBLE, 3,
-+ adfTOWGS84 );
-+ }
- else
- GTIFKeySet( psGTIF, GeogTOWGS84GeoKey, TYPE_DOUBLE, 7,
- adfTOWGS84 );
-@@ -2160,49 +2331,93 @@
- CPLErr GTIFWktFromMemBuf( int nSize, unsigned char *pabyBuffer,
- char **ppszWKT, double *padfGeoTransform,
- int *pnGCPCount, GDAL_GCP **ppasGCPList )
-+{
-+ return GTIFWktFromMemBufEx(nSize, pabyBuffer, ppszWKT, padfGeoTransform,
-+ pnGCPCount, ppasGCPList, NULL);
-+}
-+
-+CPLErr GTIFWktFromMemBufEx( int nSize, unsigned char *pabyBuffer,
-+ char **ppszWKT, double *padfGeoTransform,
-+ int *pnGCPCount, GDAL_GCP **ppasGCPList,
-+ int *pbPixelIsPoint )
-
- {
-- TIFF *hTIFF;
-- GTIF *hGTIF;
-- GTIFDefn sGTIFDefn;
-- char szFilename[100];
-+ bool bPixelIsPoint = false;
-+ int bPointGeoIgnore = FALSE;
-+ short nRasterType;
-+ char szFilename[100];
-
-- sprintf( szFilename, "/vsimem/wkt_from_mem_buf_%ld.tif",
-+ sprintf( szFilename, "/vsimem/wkt_from_mem_buf_%ld.tif",
- (long) CPLGetPID() );
-
- /* -------------------------------------------------------------------- */
-+/* Make sure we have hooked CSVFilename(). */
-+/* -------------------------------------------------------------------- */
-+ LibgeotiffOneTimeInit();
-+
-+/* -------------------------------------------------------------------- */
- /* Create a memory file from the buffer. */
- /* -------------------------------------------------------------------- */
- VSILFILE *fp = VSIFileFromMemBuffer( szFilename, pabyBuffer, nSize, FALSE );
- if( fp == NULL )
- return CE_Failure;
-- VSIFCloseL( fp );
-
- /* -------------------------------------------------------------------- */
- /* Initialize access to the memory geotiff structure. */
- /* -------------------------------------------------------------------- */
-- hTIFF = VSI_TIFFOpen( szFilename, "r" );
-+ TIFF *hTIFF;
-+
-+ hTIFF = VSI_TIFFOpen( szFilename, "rc", fp );
-
- if( hTIFF == NULL )
- {
- CPLError( CE_Failure, CPLE_AppDefined,
- "TIFF/GeoTIFF structure is corrupt." );
- VSIUnlink( szFilename );
-+ VSIFCloseL( fp );
- return CE_Failure;
- }
-
- /* -------------------------------------------------------------------- */
- /* Get the projection definition. */
- /* -------------------------------------------------------------------- */
-+ GTIF *hGTIF;
-+ GTIFDefn *psGTIFDefn;
-+
- hGTIF = GTIFNew(hTIFF);
-
-- if( hGTIF != NULL && GTIFGetDefn( hGTIF, &sGTIFDefn ) )
-- *ppszWKT = GTIFGetOGISDefn( hGTIF, &sGTIFDefn );
-+ if( hGTIF != NULL && GTIFKeyGet(hGTIF, GTRasterTypeGeoKey, &nRasterType,
-+ 0, 1 ) == 1
-+ && nRasterType == (short) RasterPixelIsPoint )
-+ {
-+ bPixelIsPoint = true;
-+ bPointGeoIgnore =
-+ CSLTestBoolean( CPLGetConfigOption("GTIFF_POINT_GEO_IGNORE",
-+ "FALSE") );
-+ }
-+ if( pbPixelIsPoint )
-+ *pbPixelIsPoint = bPixelIsPoint;
-+
-+#if LIBGEOTIFF_VERSION >= 1410
-+ psGTIFDefn = GTIFAllocDefn();
-+#else
-+ psGTIFDefn = (GTIFDefn *) CPLCalloc(1,sizeof(GTIFDefn));
-+#endif
-+
-+
-+ if( hGTIF != NULL && GTIFGetDefn( hGTIF, psGTIFDefn ) )
-+ *ppszWKT = GTIFGetOGISDefn( hGTIF, psGTIFDefn );
- else
- *ppszWKT = NULL;
-
- if( hGTIF )
- GTIFFree( hGTIF );
-+
-+#if LIBGEOTIFF_VERSION >= 1410
-+ GTIFFreeDefn(psGTIFDefn);
-+#else
-+ CPLFree(psGTIFDefn);
-+#endif
-
- /* -------------------------------------------------------------------- */
- /* Get geotransform or tiepoints. */
-@@ -2233,6 +2448,13 @@
- padfTiePoints[3] - padfTiePoints[0] * padfGeoTransform[1];
- padfGeoTransform[3] =
- padfTiePoints[4] - padfTiePoints[1] * padfGeoTransform[5];
-+
-+ // adjust for pixel is point in transform
-+ if( bPixelIsPoint && !bPointGeoIgnore )
-+ {
-+ padfGeoTransform[0] -= (padfGeoTransform[1] * 0.5 + padfGeoTransform[2] * 0.5);
-+ padfGeoTransform[3] -= (padfGeoTransform[4] * 0.5 + padfGeoTransform[5] * 0.5);
-+ }
- }
- }
-
-@@ -2273,6 +2495,7 @@
- /* Cleanup. */
- /* -------------------------------------------------------------------- */
- XTIFFClose( hTIFF );
-+ VSIFCloseL( fp );
-
- VSIUnlink( szFilename );
-
-@@ -2289,6 +2512,16 @@
- CPLErr GTIFMemBufFromWkt( const char *pszWKT, const double *padfGeoTransform,
- int nGCPCount, const GDAL_GCP *pasGCPList,
- int *pnSize, unsigned char **ppabyBuffer )
-+{
-+ return GTIFMemBufFromWktEx(pszWKT, padfGeoTransform,
-+ nGCPCount,pasGCPList,
-+ pnSize, ppabyBuffer, FALSE);
-+}
-+
-+CPLErr GTIFMemBufFromWktEx( const char *pszWKT, const double *padfGeoTransform,
-+ int nGCPCount, const GDAL_GCP *pasGCPList,
-+ int *pnSize, unsigned char **ppabyBuffer,
-+ int bPixelIsPoint )
-
- {
- TIFF *hTIFF;
-@@ -2299,14 +2532,24 @@
- (long) CPLGetPID() );
-
- /* -------------------------------------------------------------------- */
-+/* Make sure we have hooked CSVFilename(). */
-+/* -------------------------------------------------------------------- */
-+ LibgeotiffOneTimeInit();
-+
-+/* -------------------------------------------------------------------- */
- /* Initialize access to the memory geotiff structure. */
- /* -------------------------------------------------------------------- */
-- hTIFF = VSI_TIFFOpen( szFilename, "w" );
-+ VSILFILE* fpL = VSIFOpenL( szFilename, "w" );
-+ if( fpL == NULL )
-+ return CE_Failure;
-+
-+ hTIFF = VSI_TIFFOpen( szFilename, "w", fpL );
-
- if( hTIFF == NULL )
- {
- CPLError( CE_Failure, CPLE_AppDefined,
- "TIFF/GeoTIFF structure is corrupt." );
-+ VSIFCloseL(fpL);
- return CE_Failure;
- }
-
-@@ -2325,10 +2568,26 @@
- /* Get the projection definition. */
- /* -------------------------------------------------------------------- */
-
-- if( pszWKT != NULL )
-+ int bPointGeoIgnore = FALSE;
-+ if( bPixelIsPoint )
-+ {
-+ bPointGeoIgnore =
-+ CSLTestBoolean( CPLGetConfigOption("GTIFF_POINT_GEO_IGNORE",
-+ "FALSE") );
-+ }
-+
-+ if( pszWKT != NULL || bPixelIsPoint )
- {
- hGTIF = GTIFNew(hTIFF);
-- GTIFSetFromOGISDefn( hGTIF, pszWKT );
-+ if( pszWKT != NULL )
-+ GTIFSetFromOGISDefn( hGTIF, pszWKT );
-+
-+ if( bPixelIsPoint )
-+ {
-+ GTIFKeySet(hGTIF, GTRasterTypeGeoKey, TYPE_SHORT, 1,
-+ RasterPixelIsPoint);
-+ }
-+
- GTIFWriteKeys( hGTIF );
- GTIFFree( hGTIF );
- }
-@@ -2336,6 +2595,7 @@
- /* -------------------------------------------------------------------- */
- /* Set the geotransform, or GCPs. */
- /* -------------------------------------------------------------------- */
-+
- if( padfGeoTransform[0] != 0.0 || padfGeoTransform[1] != 1.0
- || padfGeoTransform[2] != 0.0 || padfGeoTransform[3] != 0.0
- || padfGeoTransform[4] != 0.0 || ABS(padfGeoTransform[5]) != 1.0 )
-@@ -2357,7 +2617,13 @@
- adfTiePoints[3] = padfGeoTransform[0];
- adfTiePoints[4] = padfGeoTransform[3];
- adfTiePoints[5] = 0.0;
--
-+
-+ if( bPixelIsPoint && !bPointGeoIgnore )
-+ {
-+ adfTiePoints[3] += padfGeoTransform[1] * 0.5 + padfGeoTransform[2] * 0.5;
-+ adfTiePoints[4] += padfGeoTransform[4] * 0.5 + padfGeoTransform[5] * 0.5;
-+ }
-+
- TIFFSetField( hTIFF, TIFFTAG_GEOTIEPOINTS, 6, adfTiePoints );
- }
- else
-@@ -2374,6 +2640,12 @@
- adfMatrix[7] = padfGeoTransform[3];
- adfMatrix[15] = 1.0;
-
-+ if( bPixelIsPoint && !bPointGeoIgnore )
-+ {
-+ adfMatrix[3] += padfGeoTransform[1] * 0.5 + padfGeoTransform[2] * 0.5;
-+ adfMatrix[7] += padfGeoTransform[4] * 0.5 + padfGeoTransform[5] * 0.5;
-+ }
-+
- TIFFSetField( hTIFF, TIFFTAG_GEOTRANSMATRIX, 16, adfMatrix );
- }
- }
-@@ -2412,6 +2684,7 @@
- TIFFWriteDirectory( hTIFF );
-
- XTIFFClose( hTIFF );
-+ VSIFCloseL(fpL);
-
- /* -------------------------------------------------------------------- */
- /* Read back from the memory buffer. It would be preferrable */
-@@ -2425,4 +2698,3 @@
-
- return CE_None;
- }
--
---- liblas.orig/src/gt_wkt_srs.h
-+++ liblas/src/gt_wkt_srs.h
-@@ -1,5 +1,5 @@
- /******************************************************************************
-- * $Id: gt_wkt_srs.h 21595 2011-01-28 04:21:40Z warmerdam $
-+ * $Id$
- *
- * Project: GeoTIFF Driver
- * Purpose: Implements translation between GeoTIFF normalized projection
-@@ -9,7 +9,7 @@
- * Author: Even Rouault
- *
- ******************************************************************************
-- * Copyright (c) 2010, Even Rouault
-+ * Copyright (c) 2010, Even Rouault <even dot rouault at mines-paris dot org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
---- liblas.orig/src/gt_wkt_srs_for_gdal.h
-+++ liblas/src/gt_wkt_srs_for_gdal.h
-@@ -1,12 +1,12 @@
- /******************************************************************************
-- * $Id: gt_wkt_srs_for_gdal.h 21595 2011-01-28 04:21:40Z warmerdam $
-+ * $Id$
- *
- * Project: GeoTIFF Driver
- * Purpose: Read/Write in-memory GeoTIFF file
- * Author: Even Rouault
- *
- ******************************************************************************
-- * Copyright (c) 2010, Even Rouault
-+ * Copyright (c) 2010-2012, Even Rouault <even dot rouault at mines-paris dot org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
-@@ -39,10 +39,22 @@
- const double *padfGeoTransform,
- int nGCPCount, const GDAL_GCP *pasGCPList,
- int *pnSize, unsigned char **ppabyBuffer );
-+
-+CPLErr GTIFMemBufFromWktEx( const char *pszWKT,
-+ const double *padfGeoTransform,
-+ int nGCPCount, const GDAL_GCP *pasGCPList,
-+ int *pnSize, unsigned char **ppabyBuffer,
-+ int bPixelIsPoint );
-+
- CPLErr CPL_DLL GTIFWktFromMemBuf( int nSize, unsigned char *pabyBuffer,
- char **ppszWKT, double *padfGeoTransform,
- int *pnGCPCount, GDAL_GCP **ppasGCPList );
-
--CPL_C_END
-+CPLErr GTIFWktFromMemBufEx( int nSize, unsigned char *pabyBuffer,
-+ char **ppszWKT, double *padfGeoTransform,
-+ int *pnGCPCount, GDAL_GCP **ppasGCPList,
-+ int *pbPixelIsPoint );
-+
-+CPL_C_END;
-
- #endif // GT_WKT_SRS_FOR_GDAL_H_INCLUDED
---- liblas.orig/src/tifvsi.cpp
-+++ liblas/src/tifvsi.cpp
-@@ -1,5 +1,5 @@
- /******************************************************************************
-- * $Id: tifvsi.cpp 10645 2007-01-18 02:22:39Z warmerdam $
-+ * $Id$
- *
- * Project: GeoTIFF Driver
- * Purpose: Implement system hook functions for libtiff on top of CPL/VSI,
-@@ -9,6 +9,7 @@
- *
- ******************************************************************************
- * Copyright (c) 2005, Frank Warmerdam, warmerdam at pobox.com
-+ * Copyright (c) 2010-2012, Even Rouault <even dot rouault at mines-paris dot org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
-@@ -32,12 +33,18 @@
- /*
- * TIFF Library UNIX-specific Routines.
- */
--#include "tiffio.h"
- #include "cpl_vsi.h"
-+#include "tifvsi.h"
-+
-+#include <errno.h>
-
- // We avoid including xtiffio.h since it drags in the libgeotiff version
- // of the VSI functions.
-
-+#ifdef RENAME_INTERNAL_LIBGEOTIFF_SYMBOLS
-+#include "gdal_libgeotiff_symbol_rename.h"
-+#endif
-+
- CPL_C_START
- extern TIFF CPL_DLL * XTIFFClientOpen(const char* name, const char* mode,
- thandle_t thehandle,
-@@ -50,28 +57,36 @@
- static tsize_t
- _tiffReadProc(thandle_t fd, tdata_t buf, tsize_t size)
- {
-- return VSIFReadL( buf, 1, size, (FILE *) fd );
-+ return VSIFReadL( buf, 1, size, (VSILFILE *) fd );
- }
-
- static tsize_t
- _tiffWriteProc(thandle_t fd, tdata_t buf, tsize_t size)
- {
-- return VSIFWriteL( buf, 1, size, (FILE *) fd );
-+ tsize_t nRet = VSIFWriteL( buf, 1, size, (VSILFILE *) fd );
-+ if (nRet < size)
-+ {
-+ TIFFErrorExt( fd, "_tiffWriteProc", "%s", VSIStrerror( errno ) );
-+ }
-+ return nRet;
- }
-
- static toff_t
- _tiffSeekProc(thandle_t fd, toff_t off, int whence)
- {
-- if( VSIFSeekL( (FILE *) fd, off, whence ) == 0 )
-- return (toff_t) VSIFTellL( (FILE *) fd );
-+ if( VSIFSeekL( (VSILFILE *) fd, off, whence ) == 0 )
-+ return (toff_t) VSIFTellL( (VSILFILE *) fd );
- else
-+ {
-+ TIFFErrorExt( fd, "_tiffSeekProc", "%s", VSIStrerror( errno ) );
- return (toff_t) -1;
-+ }
- }
-
- static int
- _tiffCloseProc(thandle_t fd)
- {
-- return VSIFCloseL( (FILE *) fd );
-+ return 0;
- }
-
- static toff_t
-@@ -80,11 +95,11 @@
- vsi_l_offset old_off;
- toff_t file_size;
-
-- old_off = VSIFTellL( (FILE *) fd );
-- VSIFSeekL( (FILE *) fd, 0, SEEK_END );
-+ old_off = VSIFTellL( (VSILFILE *) fd );
-+ VSIFSeekL( (VSILFILE *) fd, 0, SEEK_END );
-
-- file_size = (toff_t) VSIFTellL( (FILE *) fd );
-- VSIFSeekL( (FILE *) fd, old_off, SEEK_SET );
-+ file_size = (toff_t) VSIFTellL( (VSILFILE *) fd );
-+ VSIFSeekL( (VSILFILE *) fd, old_off, SEEK_SET );
-
- return file_size;
- }
-@@ -105,12 +120,11 @@
- /*
- * Open a TIFF file for read/writing.
- */
--TIFF* VSI_TIFFOpen(const char* name, const char* mode)
-+TIFF* VSI_TIFFOpen(const char* name, const char* mode,
-+ VSILFILE* fp)
- {
-- static const char module[] = "TIFFOpen";
- int i, a_out;
- char access[32];
-- FILE *fp;
- TIFF *tif;
-
- a_out = 0;
-@@ -128,24 +142,13 @@
- }
-
- strcat( access, "b" );
--
-- fp = VSIFOpenL( name, access );
-- if (fp == NULL) {
-- if( errno >= 0 )
-- TIFFError(module,"%s: %s", name, VSIStrerror( errno ) );
-- else
-- TIFFError(module, "%s: Cannot open", name);
-- return ((TIFF *)0);
-- }
-
-+ VSIFSeekL(fp, 0, SEEK_SET);
- tif = XTIFFClientOpen(name, mode,
- (thandle_t) fp,
- _tiffReadProc, _tiffWriteProc,
- _tiffSeekProc, _tiffCloseProc, _tiffSizeProc,
- _tiffMapProc, _tiffUnmapProc);
-
-- if( tif == NULL )
-- VSIFCloseL( fp );
--
- return tif;
- }
---- liblas.orig/src/tifvsi.h
-+++ liblas/src/tifvsi.h
-@@ -1,5 +1,5 @@
- /******************************************************************************
-- * $Id: tifvsi.h 21102 2010-11-08 20:47:38Z rouault $
-+ * $Id$
- *
- * Project: GeoTIFF Driver
- * Purpose: Implement system hook functions for libtiff on top of CPL/VSI,
-@@ -9,6 +9,7 @@
- *
- ******************************************************************************
- * Copyright (c) 2005, Frank Warmerdam, warmerdam at pobox.com
-+ * Copyright (c) 2010, Even Rouault <even dot rouault at mines-paris dot org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
-@@ -34,6 +35,6 @@
-
- #include "tiffio.h"
-
--TIFF* VSI_TIFFOpen(const char* name, const char* mode);
-+TIFF* VSI_TIFFOpen(const char* name, const char* mode, VSILFILE* fp);
-
- #endif // TIFVSI_H_INCLUDED
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/liblas.git
More information about the Pkg-grass-devel
mailing list