From 6042e16a83b247dc69dda54e66240fca820e7fa6 Mon Sep 17 00:00:00 2001 From: Bborie Park Date: Sun, 25 May 2014 19:51:01 +0000 Subject: [PATCH] basic support for GDAL 2.0 git-svn-id: http://svn.osgeo.org/postgis/trunk@12584 b70326c6-7e19-0410-871a-916f4a2858ee --- raster/rt_core/rt_geometry.c | 5 +++++ raster/rt_core/rt_raster.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/raster/rt_core/rt_geometry.c b/raster/rt_core/rt_geometry.c index 6e18be821..45e23fe89 100644 --- a/raster/rt_core/rt_geometry.c +++ b/raster/rt_core/rt_geometry.c @@ -910,7 +910,12 @@ rt_raster_gdal_polygonize( /***************************** * Register ogr mem driver *****************************/ +#ifdef GDAL_DCAP_RASTER + /* in GDAL 2.0, OGRRegisterAll() is an alias to GDALAllRegister() */ + rt_util_gdal_register_all(0); +#else OGRRegisterAll(); +#endif RASTER_DEBUG(3, "creating OGR MEM vector"); diff --git a/raster/rt_core/rt_raster.c b/raster/rt_core/rt_raster.c index 371a4c2e4..cbb0ff9d3 100644 --- a/raster/rt_core/rt_raster.c +++ b/raster/rt_core/rt_raster.c @@ -1728,6 +1728,14 @@ rt_raster_gdal_drivers(uint32_t *drv_count, uint8_t cancc) { for (i = 0, j = 0; i < count; i++) { drv = GDALGetDriver(i); +#ifdef GDAL_DCAP_RASTER + /* Starting with GDAL 2.0, vector drivers can also be returned */ + /* Only keep raster drivers */ + state = GDALGetMetadataItem(drv, GDAL_DCAP_RASTER, NULL); + if (state == NULL || !EQUAL(state, "YES")) + continue; +#endif + if (cancc) { /* CreateCopy support */ state = GDALGetMetadataItem(drv, GDAL_DCAP_CREATECOPY, NULL);