This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch experimental-2.1 in repository gdal.
commit 1b7ef9663c22cd946115cafe8912adda66064445 Author: Bas Couwenberg <[email protected]> Date: Fri Apr 29 11:00:54 2016 +0200 Imported Upstream version 2.1.0~rc2+dfsg --- NEWS | 7 +++- apps/gdal_rasterize_lib.cpp | 10 +++-- frmts/xyz/xyzdataset.cpp | 62 +++++++++++++++++++++++----- gcore/gdal_version.h | 2 +- man/man1/_home_rouault_dist_wrk_gdal_apps_.1 | 2 +- man/man1/gdal-config.1 | 2 +- man/man1/gdal2tiles.1 | 2 +- man/man1/gdal_calc.1 | 2 +- man/man1/gdal_contour.1 | 2 +- man/man1/gdal_edit.1 | 2 +- man/man1/gdal_fillnodata.1 | 2 +- man/man1/gdal_grid.1 | 2 +- man/man1/gdal_merge.1 | 2 +- man/man1/gdal_pansharpen.1 | 2 +- man/man1/gdal_polygonize.1 | 2 +- man/man1/gdal_proximity.1 | 2 +- man/man1/gdal_rasterize.1 | 2 +- man/man1/gdal_retile.1 | 2 +- man/man1/gdal_sieve.1 | 2 +- man/man1/gdal_translate.1 | 2 +- man/man1/gdal_utilities.1 | 2 +- man/man1/gdaladdo.1 | 2 +- man/man1/gdalbuildvrt.1 | 2 +- man/man1/gdalcompare.1 | 2 +- man/man1/gdaldem.1 | 2 +- man/man1/gdalinfo.1 | 2 +- man/man1/gdallocationinfo.1 | 2 +- man/man1/gdalmanage.1 | 2 +- man/man1/gdalmove.1 | 2 +- man/man1/gdalsrsinfo.1 | 2 +- man/man1/gdaltindex.1 | 2 +- man/man1/gdaltransform.1 | 2 +- man/man1/gdalwarp.1 | 2 +- man/man1/gnm_utilities.1 | 2 +- man/man1/gnmanalyse.1 | 2 +- man/man1/gnmmanage.1 | 2 +- man/man1/nearblack.1 | 2 +- man/man1/ogr2ogr.1 | 2 +- man/man1/ogr_utilities.1 | 2 +- man/man1/ogrinfo.1 | 2 +- man/man1/ogrlineref.1 | 2 +- man/man1/ogrtindex.1 | 2 +- man/man1/pct2rgb.1 | 2 +- man/man1/rgb2pct.1 | 2 +- ogr/ogrsf_frmts/vrt/ogrvrtdatasource.cpp | 8 ++-- swig/python/scripts/gdal_calc.py | 13 ++++-- 46 files changed, 118 insertions(+), 64 deletions(-) diff --git a/NEWS b/NEWS index 4ff31d1..50de67f 100644 --- a/NEWS +++ b/NEWS @@ -92,7 +92,7 @@ Build(Unix): * Removed --without-ogr configure flag (#6117). Always build with OGR. Build(Windows): - * Add support for Visual Studio 2015 (a.k.a MSVC_VER=1900 or VC 13) + * Add support for Visual Studio 2015 (a.k.a MSVC_VER=1900 or VC 14) * Add KAKFLAGS to nmake.opt with KDU_{MAJOR,MINOR,PATCH}_VERSION define-s. * nmake.opt: make it less error prone to define SETARGV when paths include spaces (#6032) * nmake.opt: add CL.EXE compiler option /FC to display full path of source code file in diagnostics @@ -212,6 +212,7 @@ Utilities: * gdal_rasterize: do on-the-fly reprojection of input vector onto output raster * gdal_rasterize: rasterize: always create output with 1/2 cell buffer of input geometry envelope (#6058) * gdal_rasterize: add the -dialect option + * gdal_rasterize: accept NaN as a valid value for -init / -burn (#6467) * gdalwarp: add -doo option to specify open options of (existing) output dataset * gdalwarp: if RPC_DEM warping option is specified, use exact transformer by default (#5993) * gdalwarp: make it honour nodata value of existing dataset (if -dstNoData isn't explicitly specified) @@ -237,6 +238,7 @@ Utilities: * gdal_merge.py: takes again into account -n flag (#6067) * gdalbuildvrt / gdal_translate / VRT: use floating point values for source and destination offsets and sizes (#6127) * gdalmove.py: fix to run with GDAL 2.0 gdal.InvGeoTransform() signature + * gdal_calc.py: Add * from gdalnumeric to gdal_calc.py eval namespace again, to fix 2.0 regression that made for example 'log10(A)' to no longer work (https://github.com/OSGeo/gdal/pull/121) Python samples: * gdalpythonserver.py: update to protocol 3 @@ -458,6 +460,9 @@ WMS driver: * limit number of zoom levels for ArcGIS MapServer JSon (#6186) * determine a resolution that will not result in a number that is larger than the maximum size of an integer. Any value that exceeds the maximum size of an integer will raise an invalid dataset dimensions error. (https://github.com/OSGeo/gdal/pull/89) +XYZ driver: + * be more robust to not exactly equal X and Y spacing (#6461) + == OGR 2.1.0 - Overview of Changes == Core: diff --git a/apps/gdal_rasterize_lib.cpp b/apps/gdal_rasterize_lib.cpp index 74fef47..a2107d8 100644 --- a/apps/gdal_rasterize_lib.cpp +++ b/apps/gdal_rasterize_lib.cpp @@ -1,5 +1,5 @@ /****************************************************************************** - * $Id: gdal_rasterize_lib.cpp 33615 2016-03-02 20:19:22Z goatbar $ + * $Id: gdal_rasterize_lib.cpp 34044 2016-04-21 08:23:14Z rouault $ * * Project: GDAL Utilities * Purpose: Rasterize OGR shapes into a GDAL raster. @@ -38,16 +38,18 @@ #include "gdal_utils_priv.h" #include <vector> -CPL_CVSID("$Id: gdal_rasterize_lib.cpp 33615 2016-03-02 20:19:22Z goatbar $"); +CPL_CVSID("$Id: gdal_rasterize_lib.cpp 34044 2016-04-21 08:23:14Z rouault $"); /************************************************************************/ /* ArgIsNumeric() */ /************************************************************************/ -static int ArgIsNumeric( const char *pszArg ) +static bool ArgIsNumeric( const char *pszArg ) { - return CPLGetValueType(pszArg) != CPL_VALUE_STRING; + char* pszEnd = NULL; + CPLStrtod(pszArg, &pszEnd); + return pszEnd != NULL && pszEnd[0] == '\0'; } diff --git a/frmts/xyz/xyzdataset.cpp b/frmts/xyz/xyzdataset.cpp index 6acbffc..64aec58 100644 --- a/frmts/xyz/xyzdataset.cpp +++ b/frmts/xyz/xyzdataset.cpp @@ -1,5 +1,5 @@ /****************************************************************************** - * $Id: xyzdataset.cpp 33720 2016-03-15 00:39:53Z goatbar $ + * $Id: xyzdataset.cpp 34022 2016-04-18 19:53:58Z rouault $ * * Project: XYZ driver * Purpose: GDALDataset driver for XYZ dataset. @@ -35,7 +35,9 @@ #include <algorithm> #include <vector> -CPL_CVSID("$Id: xyzdataset.cpp 33720 2016-03-15 00:39:53Z goatbar $"); +CPL_CVSID("$Id: xyzdataset.cpp 34022 2016-04-18 19:53:58Z rouault $"); + +static const double RELATIVE_ERROR = 1e-3; /************************************************************************/ /* ==================================================================== */ @@ -312,7 +314,7 @@ CPLErr XYZRasterBand::IReadBlock( CPL_UNUSED int nBlockXOff, } else { - if( fabs(dfY - dfExpectedY) > 1e-8 ) + if( fabs( (dfY - dfExpectedY) / poGDS->adfGeoTransform[5] ) > RELATIVE_ERROR ) { if( idx < 0 ) { @@ -736,6 +738,8 @@ GDALDataset *XYZDataset::Open( GDALOpenInfo * poOpenInfo ) int bStepYSign = 0; const char* pszLine; + GIntBig nCountStepX = 0; + GIntBig nCountStepY = 0; while((pszLine = CPLReadLine2L(fp, 100, NULL)) != NULL) { nLineNum ++; @@ -887,12 +891,30 @@ GDALDataset *XYZDataset::Open( GDALOpenInfo * poOpenInfo ) std::vector<double>::iterator oIter = adfStepX.begin(); while( oIter != adfStepX.end() ) { - if( dfStepX < *oIter && fmod( *oIter, dfStepX ) < 1e-8 ) + if( fabs(( dfStepX - *oIter ) / dfStepX ) < RELATIVE_ERROR ) { + if( nCountStepX > 0 ) + { + // Update mean step + /* n * mean(n) = (n-1) * mean(n-1) + val(n) + mean(n) = mean(n-1) + (val(n) - mean(n-1)) / n */ + nCountStepX ++; + *oIter += ( dfStepX - *oIter ) / nCountStepX; + } + + bAddNewValue = false; + break; + } + else if( dfStepX < *oIter && + fabs(*oIter - static_cast<int>(*oIter / dfStepX + 0.5) * dfStepX) / dfStepX < RELATIVE_ERROR ) + { + nCountStepX = -1; // disable update of mean adfStepX.erase(oIter); } - else if( dfStepX > *oIter && fmod( dfStepX, *oIter ) < 1e-8 ) + else if( dfStepX > *oIter && + fabs(dfStepX - static_cast<int>(dfStepX / *oIter + 0.5) * (*oIter)) / dfStepX < RELATIVE_ERROR ) { + nCountStepX = -1; // disable update of mean bAddNewValue = false; break; } @@ -903,8 +925,17 @@ GDALDataset *XYZDataset::Open( GDALOpenInfo * poOpenInfo ) } if( bAddNewValue ) { + CPLDebug("XYZ", "New stepX=%.15f", dfStepX); adfStepX.push_back(dfStepX); - if( adfStepX.size() == 10 ) + if( adfStepX.size() == 1 && nCountStepX == 0) + { + nCountStepX ++; + } + else if( adfStepX.size() == 2 ) + { + nCountStepX = -1; // disable update of mean + } + else if( adfStepX.size() == 10 ) { CPLError(CE_Failure, CPLE_AppDefined, "Ungridded dataset: too many stepX values"); @@ -928,15 +959,24 @@ GDALDataset *XYZDataset::Open( GDALOpenInfo * poOpenInfo ) return NULL; } if( bNewStepYSign < 0 ) dfStepY = -dfStepY; + nCountStepY ++; if( adfStepY.size() == 0 ) + { adfStepY.push_back(dfStepY); - else if( adfStepY[0] != dfStepY ) + } + else if( fabs( (adfStepY[0] - dfStepY) / dfStepY ) > RELATIVE_ERROR ) { + CPLDebug("XYZ", "New stepY=%.15f prev stepY=%.15f", dfStepY, adfStepY[0]); CPLError(CE_Failure, CPLE_AppDefined, "Ungridded dataset: At line " CPL_FRMT_GIB ", too many stepY values", nLineNum); VSIFCloseL(fp); return NULL; } + else + { + // Update mean step + adfStepY[0] += ( dfStepY - adfStepY[0] ) / nCountStepY; + } } if (dfX < dfMinX) dfMinX = dfX; @@ -963,10 +1003,8 @@ GDALDataset *XYZDataset::Open( GDALOpenInfo * poOpenInfo ) return NULL; } - const double dfStepX = adfStepX[0]; - const double dfStepY = adfStepY[0] * bStepYSign; - const double dfXSize = 1 + ((dfMaxX - dfMinX) / dfStepX + 0.5); - const double dfYSize = 1 + ((dfMaxY - dfMinY) / fabs(dfStepY) + 0.5); + const double dfXSize = 1 + ((dfMaxX - dfMinX) / adfStepX[0] + 0.5); + const double dfYSize = 1 + ((dfMaxY - dfMinY) / adfStepY[0] + 0.5); if( dfXSize <= 0 || dfXSize > INT_MAX || dfYSize <= 0 || dfYSize > INT_MAX ) { CPLError(CE_Failure, CPLE_AppDefined, "Invalid dimensions"); @@ -975,6 +1013,8 @@ GDALDataset *XYZDataset::Open( GDALOpenInfo * poOpenInfo ) } const int nXSize = static_cast<int>(dfXSize); const int nYSize = static_cast<int>(dfYSize); + const double dfStepX = (dfMaxX - dfMinX) / (nXSize - 1); + const double dfStepY = (dfMaxY - dfMinY) / (nYSize - 1)* bStepYSign; #ifdef DEBUG_VERBOSE CPLDebug("XYZ", "minx=%f maxx=%f stepx=%f", dfMinX, dfMaxX, dfStepX); diff --git a/gcore/gdal_version.h b/gcore/gdal_version.h index d3bc104..f9ca3ef 100644 --- a/gcore/gdal_version.h +++ b/gcore/gdal_version.h @@ -22,7 +22,7 @@ #endif #ifndef GDAL_RELEASE_DATE -# define GDAL_RELEASE_DATE 20160418 +# define GDAL_RELEASE_DATE 20160421 #endif #ifndef GDAL_RELEASE_NAME # define GDAL_RELEASE_NAME "2.1.0" diff --git a/man/man1/_home_rouault_dist_wrk_gdal_apps_.1 b/man/man1/_home_rouault_dist_wrk_gdal_apps_.1 index bb9fa9e..1deacc7 100644 --- a/man/man1/_home_rouault_dist_wrk_gdal_apps_.1 +++ b/man/man1/_home_rouault_dist_wrk_gdal_apps_.1 @@ -1,4 +1,4 @@ -.TH "apps Directory Reference" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "apps Directory Reference" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal-config.1 b/man/man1/gdal-config.1 index 310d24b..fcc15bb 100644 --- a/man/man1/gdal-config.1 +++ b/man/man1/gdal-config.1 @@ -1,4 +1,4 @@ -.TH "gdal-config" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal-config" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal2tiles.1 b/man/man1/gdal2tiles.1 index 0a96c42..0a14a78 100644 --- a/man/man1/gdal2tiles.1 +++ b/man/man1/gdal2tiles.1 @@ -1,4 +1,4 @@ -.TH "gdal2tiles" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal2tiles" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_calc.1 b/man/man1/gdal_calc.1 index 19ca0f4..15d829d 100644 --- a/man/man1/gdal_calc.1 +++ b/man/man1/gdal_calc.1 @@ -1,4 +1,4 @@ -.TH "gdal_calc" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_calc" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_contour.1 b/man/man1/gdal_contour.1 index e0aa941..bf8b4a1 100644 --- a/man/man1/gdal_contour.1 +++ b/man/man1/gdal_contour.1 @@ -1,4 +1,4 @@ -.TH "gdal_contour" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_contour" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_edit.1 b/man/man1/gdal_edit.1 index 4c34f66..3375b56 100644 --- a/man/man1/gdal_edit.1 +++ b/man/man1/gdal_edit.1 @@ -1,4 +1,4 @@ -.TH "gdal_edit" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_edit" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_fillnodata.1 b/man/man1/gdal_fillnodata.1 index 2eb379b..7b76a5a 100644 --- a/man/man1/gdal_fillnodata.1 +++ b/man/man1/gdal_fillnodata.1 @@ -1,4 +1,4 @@ -.TH "gdal_fillnodata" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_fillnodata" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_grid.1 b/man/man1/gdal_grid.1 index 7c9befa..7acb8e0 100644 --- a/man/man1/gdal_grid.1 +++ b/man/man1/gdal_grid.1 @@ -1,4 +1,4 @@ -.TH "gdal_grid" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_grid" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_merge.1 b/man/man1/gdal_merge.1 index cddbb3c..28ba6be 100644 --- a/man/man1/gdal_merge.1 +++ b/man/man1/gdal_merge.1 @@ -1,4 +1,4 @@ -.TH "gdal_merge" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_merge" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_pansharpen.1 b/man/man1/gdal_pansharpen.1 index 0836cd2..be191d5 100644 --- a/man/man1/gdal_pansharpen.1 +++ b/man/man1/gdal_pansharpen.1 @@ -1,4 +1,4 @@ -.TH "gdal_pansharpen" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_pansharpen" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_polygonize.1 b/man/man1/gdal_polygonize.1 index 45abe72..8c194e4 100644 --- a/man/man1/gdal_polygonize.1 +++ b/man/man1/gdal_polygonize.1 @@ -1,4 +1,4 @@ -.TH "gdal_polygonize" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_polygonize" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_proximity.1 b/man/man1/gdal_proximity.1 index 107edba..b3c37a4 100644 --- a/man/man1/gdal_proximity.1 +++ b/man/man1/gdal_proximity.1 @@ -1,4 +1,4 @@ -.TH "gdal_proximity" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_proximity" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_rasterize.1 b/man/man1/gdal_rasterize.1 index 4d4e1ed..75d2908 100644 --- a/man/man1/gdal_rasterize.1 +++ b/man/man1/gdal_rasterize.1 @@ -1,4 +1,4 @@ -.TH "gdal_rasterize" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_rasterize" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_retile.1 b/man/man1/gdal_retile.1 index 5c170a4..be11df5 100644 --- a/man/man1/gdal_retile.1 +++ b/man/man1/gdal_retile.1 @@ -1,4 +1,4 @@ -.TH "gdal_retile" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_retile" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_sieve.1 b/man/man1/gdal_sieve.1 index b4e6f2b..30af76a 100644 --- a/man/man1/gdal_sieve.1 +++ b/man/man1/gdal_sieve.1 @@ -1,4 +1,4 @@ -.TH "gdal_sieve" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_sieve" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_translate.1 b/man/man1/gdal_translate.1 index a0f68f3..62667dc 100644 --- a/man/man1/gdal_translate.1 +++ b/man/man1/gdal_translate.1 @@ -1,4 +1,4 @@ -.TH "gdal_translate" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_translate" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdal_utilities.1 b/man/man1/gdal_utilities.1 index 2d3900e..b67d0b9 100644 --- a/man/man1/gdal_utilities.1 +++ b/man/man1/gdal_utilities.1 @@ -1,4 +1,4 @@ -.TH "gdal_utilities" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdal_utilities" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdaladdo.1 b/man/man1/gdaladdo.1 index ce4ff9b..c079353 100644 --- a/man/man1/gdaladdo.1 +++ b/man/man1/gdaladdo.1 @@ -1,4 +1,4 @@ -.TH "gdaladdo" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdaladdo" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalbuildvrt.1 b/man/man1/gdalbuildvrt.1 index 886e830..d4d9cfc 100644 --- a/man/man1/gdalbuildvrt.1 +++ b/man/man1/gdalbuildvrt.1 @@ -1,4 +1,4 @@ -.TH "gdalbuildvrt" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalbuildvrt" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalcompare.1 b/man/man1/gdalcompare.1 index c8d749d..f9a6d0f 100644 --- a/man/man1/gdalcompare.1 +++ b/man/man1/gdalcompare.1 @@ -1,4 +1,4 @@ -.TH "gdalcompare" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalcompare" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdaldem.1 b/man/man1/gdaldem.1 index fd7c19d..f45e086 100644 --- a/man/man1/gdaldem.1 +++ b/man/man1/gdaldem.1 @@ -1,4 +1,4 @@ -.TH "gdaldem" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdaldem" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalinfo.1 b/man/man1/gdalinfo.1 index a593157..3ad8c14 100644 --- a/man/man1/gdalinfo.1 +++ b/man/man1/gdalinfo.1 @@ -1,4 +1,4 @@ -.TH "gdalinfo" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalinfo" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdallocationinfo.1 b/man/man1/gdallocationinfo.1 index e73f0a9..c4ce547 100644 --- a/man/man1/gdallocationinfo.1 +++ b/man/man1/gdallocationinfo.1 @@ -1,4 +1,4 @@ -.TH "gdallocationinfo" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdallocationinfo" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalmanage.1 b/man/man1/gdalmanage.1 index 27f4053..49a9a76 100644 --- a/man/man1/gdalmanage.1 +++ b/man/man1/gdalmanage.1 @@ -1,4 +1,4 @@ -.TH "gdalmanage" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalmanage" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalmove.1 b/man/man1/gdalmove.1 index edce57c..4f42e59 100644 --- a/man/man1/gdalmove.1 +++ b/man/man1/gdalmove.1 @@ -1,4 +1,4 @@ -.TH "gdalmove" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalmove" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalsrsinfo.1 b/man/man1/gdalsrsinfo.1 index 8b9c6df..915701b 100644 --- a/man/man1/gdalsrsinfo.1 +++ b/man/man1/gdalsrsinfo.1 @@ -1,4 +1,4 @@ -.TH "gdalsrsinfo" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalsrsinfo" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdaltindex.1 b/man/man1/gdaltindex.1 index 08d8d10..c9eba67 100644 --- a/man/man1/gdaltindex.1 +++ b/man/man1/gdaltindex.1 @@ -1,4 +1,4 @@ -.TH "gdaltindex" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdaltindex" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdaltransform.1 b/man/man1/gdaltransform.1 index 9d2958f..c0b8676 100644 --- a/man/man1/gdaltransform.1 +++ b/man/man1/gdaltransform.1 @@ -1,4 +1,4 @@ -.TH "gdaltransform" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdaltransform" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gdalwarp.1 b/man/man1/gdalwarp.1 index 904153b..d9dc1ec 100644 --- a/man/man1/gdalwarp.1 +++ b/man/man1/gdalwarp.1 @@ -1,4 +1,4 @@ -.TH "gdalwarp" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gdalwarp" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gnm_utilities.1 b/man/man1/gnm_utilities.1 index 85dc56f..89b38b7 100644 --- a/man/man1/gnm_utilities.1 +++ b/man/man1/gnm_utilities.1 @@ -1,4 +1,4 @@ -.TH "gnm_utilities" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gnm_utilities" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gnmanalyse.1 b/man/man1/gnmanalyse.1 index 518e81f..3114ea4 100644 --- a/man/man1/gnmanalyse.1 +++ b/man/man1/gnmanalyse.1 @@ -1,4 +1,4 @@ -.TH "gnmanalyse" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gnmanalyse" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/gnmmanage.1 b/man/man1/gnmmanage.1 index 464fe89..745d148 100644 --- a/man/man1/gnmmanage.1 +++ b/man/man1/gnmmanage.1 @@ -1,4 +1,4 @@ -.TH "gnmmanage" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "gnmmanage" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/nearblack.1 b/man/man1/nearblack.1 index a65614a..6100699 100644 --- a/man/man1/nearblack.1 +++ b/man/man1/nearblack.1 @@ -1,4 +1,4 @@ -.TH "nearblack" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "nearblack" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/ogr2ogr.1 b/man/man1/ogr2ogr.1 index a82a972..c1c8286 100644 --- a/man/man1/ogr2ogr.1 +++ b/man/man1/ogr2ogr.1 @@ -1,4 +1,4 @@ -.TH "ogr2ogr" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "ogr2ogr" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/ogr_utilities.1 b/man/man1/ogr_utilities.1 index f535fd8..5582e16 100644 --- a/man/man1/ogr_utilities.1 +++ b/man/man1/ogr_utilities.1 @@ -1,4 +1,4 @@ -.TH "ogr_utilities" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "ogr_utilities" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/ogrinfo.1 b/man/man1/ogrinfo.1 index a8a597f..3647f2a 100644 --- a/man/man1/ogrinfo.1 +++ b/man/man1/ogrinfo.1 @@ -1,4 +1,4 @@ -.TH "ogrinfo" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "ogrinfo" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/ogrlineref.1 b/man/man1/ogrlineref.1 index 12026ef..dcea114 100644 --- a/man/man1/ogrlineref.1 +++ b/man/man1/ogrlineref.1 @@ -1,4 +1,4 @@ -.TH "ogrlineref" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "ogrlineref" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/ogrtindex.1 b/man/man1/ogrtindex.1 index 9176d4a..dfa5237 100644 --- a/man/man1/ogrtindex.1 +++ b/man/man1/ogrtindex.1 @@ -1,4 +1,4 @@ -.TH "ogrtindex" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "ogrtindex" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/pct2rgb.1 b/man/man1/pct2rgb.1 index 10e7354..34b1508 100644 --- a/man/man1/pct2rgb.1 +++ b/man/man1/pct2rgb.1 @@ -1,4 +1,4 @@ -.TH "pct2rgb" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "pct2rgb" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/man/man1/rgb2pct.1 b/man/man1/rgb2pct.1 index 3ae32c0..10a619f 100644 --- a/man/man1/rgb2pct.1 +++ b/man/man1/rgb2pct.1 @@ -1,4 +1,4 @@ -.TH "rgb2pct" 1 "Mon Apr 18 2016" "GDAL" \" -*- nroff -*- +.TH "rgb2pct" 1 "Thu Apr 21 2016" "GDAL" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/ogr/ogrsf_frmts/vrt/ogrvrtdatasource.cpp b/ogr/ogrsf_frmts/vrt/ogrvrtdatasource.cpp index 98a3c24..b29bad9 100644 --- a/ogr/ogrsf_frmts/vrt/ogrvrtdatasource.cpp +++ b/ogr/ogrsf_frmts/vrt/ogrvrtdatasource.cpp @@ -1,5 +1,5 @@ /****************************************************************************** - * $Id: ogrvrtdatasource.cpp 33714 2016-03-13 05:42:13Z goatbar $ + * $Id: ogrvrtdatasource.cpp 34048 2016-04-21 18:14:02Z rouault $ * * Project: OpenGIS Simple Features Reference Implementation * Purpose: Implements OGRVRTDataSource class. @@ -34,7 +34,7 @@ #include "ogrwarpedlayer.h" #include "ogrunionlayer.h" -CPL_CVSID("$Id: ogrvrtdatasource.cpp 33714 2016-03-13 05:42:13Z goatbar $"); +CPL_CVSID("$Id: ogrvrtdatasource.cpp 34048 2016-04-21 18:14:02Z rouault $"); /************************************************************************/ /* OGRVRTGetGeometryType() */ @@ -58,7 +58,7 @@ static const OGRGeomTypeName asGeomTypeNames[] = { /* 25D versions are implicit { wkbCircularString, "wkbCircularString" }, { wkbCompoundCurve, "wkbCompoundCurve" }, { wkbCurvePolygon, "wkbCurvePolygon" }, - { wkbGeometryCollection, "wkbMultiCurve" }, + { wkbMultiCurve, "wkbMultiCurve" }, { wkbMultiSurface, "wkbMultiSurface" }, { wkbCurve, "wkbCurve" }, { wkbSurface, "wkbSurface" }, @@ -83,7 +83,7 @@ OGRwkbGeometryType OGRVRTGetGeometryType(const char* pszGType, int* pbError) if( strstr(pszGType,"25D") != NULL || strstr(pszGType,"Z") != NULL ) eGeomType = wkbSetZ(eGeomType); - if( strstr(pszGType,"M") != NULL ) + if( pszGType[strlen(pszGType)-1] == 'M' || pszGType[strlen(pszGType)-2] == 'M' ) eGeomType = wkbSetM(eGeomType); break; } diff --git a/swig/python/scripts/gdal_calc.py b/swig/python/scripts/gdal_calc.py index de35ac6..7f1d766 100755 --- a/swig/python/scripts/gdal_calc.py +++ b/swig/python/scripts/gdal_calc.py @@ -67,6 +67,10 @@ def doit(opts, args): if opts.debug: print("gdal_calc.py starting calculation %s" %(opts.calc)) + # set up global namespace for eval with all functions of gdalnumeric + global_namespace = dict([(key, getattr(gdalnumeric, key)) + for key in dir(gdalnumeric) if not key.startswith('__')]) + ################################################################ # fetch details of input layers ################################################################ @@ -249,6 +253,9 @@ def doit(opts, args): myNDVs=numpy.zeros(myBufSize) myNDVs.shape=(nYValid,nXValid) + # modules available to calculation + local_namespace = {} + # fetch data for each input layer for i,Alpha in enumerate(myAlphaList): @@ -264,14 +271,14 @@ def doit(opts, args): # fill in nodata values myNDVs=1*numpy.logical_or(myNDVs==1, myval==myNDV[i]) - # create an array of values for this block - exec("%s=myval" %Alpha) + # add an array of values for this block to the eval namespace + local_namespace[Alpha] = myval myval=None # try the calculation on the array blocks try: - myResult = eval(opts.calc) + myResult = eval(opts.calc, global_namespace, local_namespace) except: print("evaluation of calculation %s failed" %(opts.calc)) raise -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/gdal.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

