]> granicus.if.org Git - postgis/commitdiff
Fix issue with outdb rasters with no SRID and ST_Resize (GDAL warp
authorBborie Park <bkpark at ucdavis.edu>
Sun, 20 Jan 2013 16:56:27 +0000 (16:56 +0000)
committerBborie Park <bkpark at ucdavis.edu>
Sun, 20 Jan 2013 16:56:27 +0000 (16:56 +0000)
calls). Ticket #2182

git-svn-id: http://svn.osgeo.org/postgis/trunk@11008 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
raster/rt_pg/rt_pg.c

diff --git a/NEWS b/NEWS
index 3f3e07cd21a694890e9a0ef522985699fd9ea010..a4cec7ab8d9f0047b8d3ae51d05fb556028db09b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -137,6 +137,7 @@ PostGIS 2.1.0
   - #2019, ST_FlipCoordinates does not update bbox
   - #2100, ST_AsRaster may not return raster with specified pixel type
   - #2126, Better handling of empty rasters from ST_ConvexHull()
+  - #2182, Fix issue with outdb rasters with no SRID and ST_Resize
 
 PostGIS 2.0.3
 2013/MM/DD
index b147e0d794d8898834f1bb353df071a3658bb01f..9249f401878f82341e92071c20595d827b4c8de8 100644 (file)
@@ -11346,10 +11346,22 @@ Datum RASTER_GDALWarp(PG_FUNCTION_ARGS)
        }
        /* target SRID == src SRID, no reprojection */
        else if (dst_srid == src_srid) {
-               /* set geotransform */
+               /* set geotransform BUT ONLY when geotransform isn't default */
                if (src_srid == SRID_UNKNOWN) {
-                       double gt[6] = {0, 10, 0, 0, 0, -10};
-                       rt_raster_set_geotransform_matrix(raster, gt);
+                       double gt[6];
+
+                       rt_raster_get_geotransform_matrix(raster, gt);
+                       if (
+                               FLT_EQ(gt[0], 0) &&
+                               FLT_EQ(gt[1], 1) &&
+                               FLT_EQ(gt[2], 0) &&
+                               FLT_EQ(gt[3], 0) &&
+                               FLT_EQ(gt[4], 0) &&
+                               FLT_EQ(gt[5], -1)
+                       ) {
+                               double ngt[6] = {0, 10, 0, 0, 0, -10};
+                               rt_raster_set_geotransform_matrix(raster, ngt);
+                       }
                }
 
                no_srid = 1;