]> granicus.if.org Git - postgis/commitdiff
Fix issue with RASTER_sameAlignment where the deserializing of the raster is not...
authorBborie Park <bkpark at ucdavis.edu>
Sat, 24 Dec 2011 01:08:20 +0000 (01:08 +0000)
committerBborie Park <bkpark at ucdavis.edu>
Sat, 24 Dec 2011 01:08:20 +0000 (01:08 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@8536 b70326c6-7e19-0410-871a-916f4a2858ee

raster/rt_pg/rt_pg.c

index 8a60e873f82256863b78319fa27660055f6261d4..67b0d85450d0d8aca57a481f5f89968abadcc691 100644 (file)
@@ -8132,7 +8132,7 @@ Datum RASTER_sameAlignment(PG_FUNCTION_ARGS)
                j++;
 
                /* raster */
-               rast[i] = rt_raster_deserialize(pgrast, FALSE);
+               rast[i] = rt_raster_deserialize(pgrast, TRUE);
                if (!rast[i]) {
                        elog(ERROR, "RASTER_sameAlignment: Could not deserialize the %s raster", i < 1 ? "first" : "second");
                        for (k = 0; k < i; k++) rt_raster_destroy(rast[k]);
@@ -8147,11 +8147,11 @@ Datum RASTER_sameAlignment(PG_FUNCTION_ARGS)
                err = 1;
        }
        /* scales must match */
-       else if (FLT_NEQ(rt_raster_get_x_scale(rast[0]), rt_raster_get_x_scale(rast[1]))) {
+       else if (FLT_NEQ(fabs(rt_raster_get_x_scale(rast[0])), fabs(rt_raster_get_x_scale(rast[1])))) {
                elog(NOTICE, "The two rasters provided have different scales on the X axis");
                err = 1;
        }
-       else if (FLT_NEQ(rt_raster_get_y_scale(rast[0]), rt_raster_get_y_scale(rast[1]))) {
+       else if (FLT_NEQ(fabs(rt_raster_get_y_scale(rast[0])), fabs(rt_raster_get_y_scale(rast[1])))) {
                elog(NOTICE, "The two rasters provided have different scales on the Y axis");
                err = 1;
        }