Hello community, here is the log from the commit of package gdal for openSUSE:Factory checked in at 2016-10-02 00:09:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gdal (Old) and /work/SRC/openSUSE:Factory/.gdal.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdal" Changes: -------- --- /work/SRC/openSUSE:Factory/gdal/gdal.changes 2016-05-17 17:14:25.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.gdal.new/gdal.changes 2016-10-02 00:09:11.000000000 +0200 @@ -1,0 +2,15 @@ +Fri Sep 30 16:00:00 UTC 2016 - Angelos Tzotsos <[email protected]> + +- Packaging changes + - Added netcdf-gcp-fix.patch from upstream (#6666) + +------------------------------------------------------------------- +Sun Sep 25 13:20:22 UTC 2016 - [email protected] + +- New upstream bugfix release 2.1.1 + - https://trac.osgeo.org/gdal/wiki/Release/2.1.1-News +- Packaging changes + - Remove ogr_wrap.patch included upstream + - Added support to liblzma + +------------------------------------------------------------------- Old: ---- gdal-2.1.0.tar.xz ogr_wrap.patch New: ---- gdal-2.1.1.tar.xz netcdf-gcp-fix.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdal.spec ++++++ --- /var/tmp/diff_new_pack.QXYsla/_old 2016-10-02 00:09:12.000000000 +0200 +++ /var/tmp/diff_new_pack.QXYsla/_new 2016-10-02 00:09:12.000000000 +0200 @@ -23,7 +23,7 @@ %define sourcename gdal Name: gdal -Version: 2.1.0 +Version: 2.1.1 Release: 0 Summary: GDAL/OGR - a translator library for raster and vector geospatial data formats License: MIT and BSD-3-Clause and SUSE-Public-Domain @@ -36,7 +36,7 @@ # Fix hard coded name of libproj library # But libproj.so is valid if libproj-devel is installed ? Patch2: gdal-libproj.patch -Patch3: ogr_wrap.patch +Patch3: netcdf-gcp-fix.patch BuildRequires: blas-devel BuildRequires: chrpath BuildRequires: curl-devel @@ -157,7 +157,7 @@ %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 +%patch3 -p2 # Fix mandir sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure @@ -185,6 +185,7 @@ --with-rename-internal-libtiff-symbols=yes \ --with-rename-internal-libgeotiff-symbols=yes \ --with-libz \ + --with-liblzma \ --with-cfitsio=no \ --with-netcdf \ --with-openjpeg \ ++++++ gdal-2.1.0.tar.xz -> gdal-2.1.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/gdal/gdal-2.1.0.tar.xz /work/SRC/openSUSE:Factory/.gdal.new/gdal-2.1.1.tar.xz differ: char 27, line 1 ++++++ netcdf-gcp-fix.patch ++++++ >From fa7af0b95804fac670a88f602f9cbec922b4d054 Mon Sep 17 00:00:00 2001 From: Even Rouault <[email protected]> Date: Fri, 30 Sep 2016 11:12:06 +0000 Subject: [PATCH] HDF5: correct number of GCPs to avoid dummy trailing (0,0)->(0,0,0) and remove +180 offset applied to GCP longitude. Add instead a heuristics to determine if the product is crossing the antimeridian, and a HDF5_SHIFT_GCPX_BY_180 config option to be able to override the heuristics (fixes #6666) git-svn-id: https://svn.osgeo.org/gdal/branches/2.1@35557 f0d54148-0727-0410-94bb-9a71ac55c965 --- gdal/frmts/hdf5/hdf5imagedataset.cpp | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/gdal/frmts/hdf5/hdf5imagedataset.cpp b/gdal/frmts/hdf5/hdf5imagedataset.cpp index 120a04a..e6211c1 100644 --- a/gdal/frmts/hdf5/hdf5imagedataset.cpp +++ b/gdal/frmts/hdf5/hdf5imagedataset.cpp @@ -825,7 +825,7 @@ CPLErr HDF5ImageDataset::CreateProjections() /* -------------------------------------------------------------------- */ /* Fill the GCPs list. */ /* -------------------------------------------------------------------- */ - nGCPCount = nRasterYSize/nDeltaLat * nRasterXSize/nDeltaLon; + nGCPCount = (nRasterYSize/nDeltaLat) * (nRasterXSize/nDeltaLon); pasGCPList = static_cast<GDAL_GCP *>( CPLCalloc( nGCPCount, sizeof( GDAL_GCP ) ) ); @@ -835,12 +835,41 @@ CPLErr HDF5ImageDataset::CreateProjections() const int nYLimit = (static_cast<int>(nRasterYSize)/nDeltaLat) * nDeltaLat; const int nXLimit = (static_cast<int>(nRasterXSize)/nDeltaLon) * nDeltaLon; + + // The original code in https://trac.osgeo.org/gdal/changeset/8066 + // always add +180 to the longitudes, but without justification + // I suspect this might be due to handling products crossing the + // antimeridian. Trying to do it just when needed through a heuristics. + bool bHasLonNearMinus180 = false; + bool bHasLonNearPlus180 = false; + bool bHasLonNearZero = false; + for( int j = 0; j < nYLimit; j+=nDeltaLat ) + { + for( int i = 0; i < nXLimit; i+=nDeltaLon ) + { + const int iGCP = j * nRasterXSize + i; + if( Longitude[iGCP] > 170 && Longitude[iGCP] <= 180 ) + bHasLonNearPlus180 = true; + if( Longitude[iGCP] < -170 && Longitude[iGCP] >= -180 ) + bHasLonNearMinus180 = true; + if( fabs(Longitude[iGCP]) < 90 ) + bHasLonNearZero = true; + } + } + const char* pszShiftGCP = + CPLGetConfigOption("HDF5_SHIFT_GCPX_BY_180", NULL); + const bool bAdd180 = (bHasLonNearPlus180 && bHasLonNearMinus180 && + !bHasLonNearZero && pszShiftGCP == NULL) || + (pszShiftGCP != NULL && CPLTestBool(pszShiftGCP)); + for( int j = 0; j < nYLimit; j+=nDeltaLat ) { for( int i = 0; i < nXLimit; i+=nDeltaLon ) { const int iGCP = j * nRasterXSize + i; - pasGCPList[k].dfGCPX = static_cast<double>(Longitude[iGCP])+180.0; + pasGCPList[k].dfGCPX = static_cast<double>(Longitude[iGCP]); + if( bAdd180 ) + pasGCPList[k].dfGCPX += 180.0; pasGCPList[k].dfGCPY = static_cast<double>(Latitude[iGCP]); pasGCPList[k].dfGCPPixel = i + 0.5;
