rtn = rt_band_get_pixel(band, 0, 3, &value);
CHECK((rtn != -1));
- CHECK((fabs(value - 0.75) < FLT_EPSILON));
+ CHECK(FLT_EQ(value, 0.75));
rtn = rt_band_get_pixel(band, 99, 0, &value);
CHECK((rtn != -1));
- CHECK((fabs(value - 1.98) < FLT_EPSILON));
+ CHECK(FLT_EQ(value, 1.98));
rtn = rt_band_get_pixel(band, 95, 4, &value);
CHECK((rtn != -1));
- CHECK((fabs(value - 9.54) < FLT_EPSILON));
+ CHECK(FLT_EQ(value, 9.54));
GDALClose(gdds);
GDALDeregisterDriver(gddrv);
CHECK(band);
CHECK(rt_band_get_hasnodata_flag(band));
- CHECK((fabs(rt_band_get_nodata(band) - 0.) < FLT_EPSILON));
+ CHECK(FLT_EQ(rt_band_get_nodata(band), 0.));
CHECK(rt_band_get_pixel(band, 0, 0, &value) == 0);
- CHECK(fabs(value - 0.) < FLT_EPSILON);
+ CHECK(FLT_EQ(value, 0.));
deepRelease(rast);
deepRelease(raster);
rt_geomval gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols);
+ /*
+ int i;
+ for (i = 0; i < nPols; i++) {
+ printf("(i, val, geom) = (%d, %f, %s)\n", i, gv[i].val, gv[i].geom);
+ }
+ */
+
+
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[0].val, 1.8);
+ CHECK(FLT_EQ(gv[0].val, 1.8));
#else
- CHECK_EQUALS_DOUBLE(gv[0].val, 2.0);
+ CHECK(FLT_EQ(gv[0].val, 2.0));
#endif
CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))"));
CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[2].val, 2.8);
+ CHECK(FLT_EQ(gv[2].val, 2.8));
#else
- CHECK_EQUALS_DOUBLE(gv[2].val, 3.0);
+ CHECK(FLT_EQ(gv[2].val, 3.0));
#endif
CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))"));
gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols);
- CHECK_EQUALS_DOUBLE(gv[0].val, 0.0);
- CHECK(!strcmp(gv[0].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
+ /*
+ for (i = 0; i < nPols; i++) {
+ printf("(i, val, geom) = (%d, %f, %s)\n", i, gv[i].val, gv[i].geom);
+ }
+ */
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[1].val, 2.8);
+ CHECK_EQUALS_DOUBLE(gv[1].val, 0.0);
+ CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
+
+ CHECK(FLT_EQ(gv[2].val, 2.8));
+ CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))"));
+
+ CHECK_EQUALS_DOUBLE(gv[3].val, 0.0);
+ CHECK(!strcmp(gv[3].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))"));
#else
- CHECK_EQUALS_DOUBLE(gv[1].val, 3.0);
-#endif
+ CHECK_EQUALS_DOUBLE(gv[0].val, 0.0);
+ CHECK(!strcmp(gv[0].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
- CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))"));
+ CHECK(FLT_EQ(gv[1].val, 3.0));
+ CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))"));
CHECK_EQUALS_DOUBLE(gv[2].val, 0.0);
CHECK(!strcmp(gv[2].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))"));
+#endif
+
rt_raster_destroy(rt);
/* Third test: NODATA value = 2.8 */
gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols);
-#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[0].val, 1.8);
-#else
- CHECK_EQUALS_DOUBLE(gv[0].val, 2.0);
-#endif
+ /*
+ for (i = 0; i < nPols; i++) {
+ printf("(i, val, geom) = (%d, %f, %s)\n", i, gv[i].val, gv[i].geom);
+ }
+ */
- CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))"));
+#if GDALFPOLYGONIZE == 1
+ CHECK(FLT_EQ(gv[0].val, 1.8));
- CHECK_EQUALS_DOUBLE(gv[1].val, 0.0);
- CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
+ CHECK_EQUALS_DOUBLE(gv[3].val, 0.0);
+ CHECK(!strcmp(gv[3].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))"));
+ rt_raster_destroy(rt);
+#else
+ CHECK(FLT_EQ(gv[0].val, 2.0));
CHECK_EQUALS_DOUBLE(gv[2].val, 0.0);
CHECK(!strcmp(gv[2].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))"));
rt_raster_destroy(rt);
+#endif
+
+ CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))"));
+ CHECK_EQUALS_DOUBLE(gv[1].val, 0.0);
+ CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
/* Fourth test: NODATA value = 0 */
rt = fillRasterToPolygonize(1, 0.0);
gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols);
+ /*
+ for (i = 0; i < nPols; i++) {
+ printf("(i, val, geom) = (%d, %f, %s)\n", i, gv[i].val, gv[i].geom);
+ }
+ */
+
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[0].val, 1.8);
+ CHECK(FLT_EQ(gv[0].val, 1.8));
#else
- CHECK_EQUALS_DOUBLE(gv[0].val, 2.0);
+ CHECK(FLT_EQ(gv[0].val, 2.0));
#endif
CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))"));
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[1].val, 2.8);
+ CHECK(FLT_EQ(gv[1].val, 2.8));
#else
- CHECK_EQUALS_DOUBLE(gv[1].val, 3.0);
+ CHECK(FLT_EQ(gv[1].val, 3.0));
#endif
CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))"));
gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols);
+ /*
+ for (i = 0; i < nPols; i++) {
+ printf("(i, val, geom) = (%d, %f, %s)\n", i, gv[i].val, gv[i].geom);
+ }
+ */
+
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[0].val, 1.8);
+ CHECK(FLT_EQ(gv[0].val, 1.8));
#else
- CHECK_EQUALS_DOUBLE(gv[0].val, 2.0);
+ CHECK(FLT_EQ(gv[0].val, 2.0));
#endif
CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))"));
CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))"));
#if GDALFPOLYGONIZE == 1
- CHECK_EQUALS_DOUBLE(gv[2].val, 2.8);
+ CHECK(FLT_EQ(gv[2].val, 2.8));
#else
- CHECK_EQUALS_DOUBLE(gv[2].val, 3.0);
+ CHECK(FLT_EQ(gv[2].val, 3.0));
#endif
CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))"));