#endif
/* set band's isnodata flag to FALSE */
- rt_band_set_isnodata_flag(band, 0);
+ if (rt_band_get_hasnodata_flag(band))
+ rt_band_set_isnodata_flag(band, 0);
return 1;
}
) {
*nodata = 1;
}
- else
- *nodata = 0;
}
return 0;
return count;
}
-// WORK FROM HERE
-double
-rt_band_get_nodata(rt_band band) {
+/**
+ * Get NODATA value
+ *
+ * @param band: the band whose NODATA value will be returned
+ * @param nodata: the band's NODATA value
+ *
+ * @return 0 if error, 1 otherwise
+ */
+int
+rt_band_get_nodata(rt_band band, double *nodata) {
+ assert(NULL != band);
- assert(NULL != band);
-
- if (!band->hasnodata)
- RASTER_DEBUGF(3, "Getting nodata value for a band without NODATA values. Using %g", band->nodataval);
+ *nodata = band->nodataval;
+ if (!band->hasnodata) {
+ rterror("rt_band_get_nodata: Band has no NODATA value");
+ return 0;
+ }
- return band->nodataval;
+ return 1;
}
double
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata != FALSE)
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
else
exclude_nodata_value = 0;
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata != FALSE)
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
else
exclude_nodata_value = 0;
RASTER_DEBUGF(3, "nodata = %f", nodata);
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata != FALSE)
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
else
exclude_nodata_value = 0;
/* source nodata */
src_hasnodata = rt_band_get_hasnodata_flag(srcband);
- src_nodataval = rt_band_get_nodata(srcband);
+ if (src_hasnodata)
+ rt_band_get_nodata(srcband, &src_nodataval);
/* size of memory block to allocate */
width = rt_band_get_width(srcband);
if (exclude_nodata_value) {
iBandHasNodataValue = rt_band_get_hasnodata_flag(band);
if (iBandHasNodataValue)
- dBandNoData = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &dBandNoData);
else
exclude_nodata_value = FALSE;
}
/* Add nodata value for band */
if (rt_band_get_hasnodata_flag(rtband) != FALSE && excludeNodataValues[i]) {
- nodata = rt_band_get_nodata(rtband);
+ rt_band_get_nodata(rtband, &nodata);
if (GDALSetRasterNoDataValue(band, nodata) != CE_None)
rtwarn("rt_raster_to_gdal_mem: Could not set nodata value for band");
RASTER_DEBUGF(3, "nodata value set to %f", GDALGetRasterNoDataValue(band, NULL));
/* set nodata */
if (rt_band_get_hasnodata_flag(rtband) != FALSE) {
- nodata = rt_band_get_nodata(rtband);
+ rt_band_get_nodata(rtband, &nodata);
if (GDALSetRasterNoDataValue(band, nodata) != CE_None)
rtwarn("rt_raster_gdal_warp: Could not set nodata value for band %d", i);
RASTER_DEBUGF(3, "nodata value set to %f", GDALGetRasterNoDataValue(band, NULL));
wopts->padfSrcNoDataReal[i] = -123456.789;
}
else {
- wopts->padfSrcNoDataReal[i] = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &(wopts->padfSrcNoDataReal[i]));
}
wopts->padfDstNoDataReal[i] = wopts->padfSrcNoDataReal[i];
hasnodataS = rt_band_get_hasnodata_flag(bandS);
if (hasnodataS != FALSE)
- nodataS = rt_band_get_nodata(bandS);
+ rt_band_get_nodata(bandS, &nodataS);
/* load band of larger raster */
bandL = rt_raster_get_band(rastL, nbandL);
hasnodataL = rt_band_get_hasnodata_flag(bandL);
if (hasnodataL != FALSE)
- nodataL = rt_band_get_nodata(bandL);
+ rt_band_get_nodata(bandL, &nodataL);
/* no band to use, ignore nodata */
if (nband1 < 0) {
double minval;
double value;
+ int isnodata;
int nodata;
RASTER_DEBUG(3, "Starting...");
_param->band[i],
x, y,
&value,
- NULL
+ &isnodata
) < 0) {
rterror("rt_raster_iterator: Unable to get the pixel value of band");
RASTER_DEBUG(4, "Outside band extent, setting value to NODATA");
/* has NODATA, use NODATA */
if (rt_band_get_hasnodata_flag(_param->band[i]))
- value = rt_band_get_nodata(_param->band[i]);
+ rt_band_get_nodata(_param->band[i], &value);
/* no NODATA, use min possible value */
else
value = rt_band_get_min_value(_param->band[i]);
inextent = 0;
+ isnodata = 1;
}
/* add pixel to neighborhood */
npixels[status - 1].value = value;
/* set nodata flag */
- if (
- (!rt_band_get_hasnodata_flag(_param->band[i]) && inextent) || (
- (rt_band_get_hasnodata_flag(_param->band[i]) != FALSE) && (
- FLT_NEQ(value, rt_band_get_nodata(_param->band[i])) &&
- (rt_band_clamped_value_is_nodata(_param->band[i], value) != 1)
- )
- )
- ) {
+ if ((!rt_band_get_hasnodata_flag(_param->band[i]) && inextent) || !isnodata) {
npixels[status - 1].nodata = 0;
}
RASTER_DEBUGF(4, "value, nodata: %f, %d", value, npixels[status - 1].nodata);
PG_RETURN_NULL();
}
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
rt_raster_destroy(raster);
PG_FREE_IF_COPY(pgraster, 0);
int32_t x = 0;
int32_t y = 0;
int result = 0;
- bool hasnodata = TRUE;
+ bool exclude_nodata_value = TRUE;
+ int isnodata = 0;
/* Index is 1-based */
bandindex = PG_GETARG_INT32(1);
y = PG_GETARG_INT32(3);
- hasnodata = PG_GETARG_BOOL(4);
+ exclude_nodata_value = PG_GETARG_BOOL(4);
POSTGIS_RT_DEBUGF(3, "Pixel coordinates (%d, %d)", x, y);
PG_RETURN_NULL();
}
/* Fetch pixel using 0-based coordinates */
- result = rt_band_get_pixel(band, x - 1, y - 1, &pixvalue, NULL);
+ result = rt_band_get_pixel(band, x - 1, y - 1, &pixvalue, &isnodata);
/* If the result is -1 or the value is nodata and we take nodata into account
* then return nodata = NULL */
- if (result == -1 || (hasnodata && rt_band_get_hasnodata_flag(band) &&
- pixvalue == rt_band_get_nodata(band))) {
+ if (result == -1 || (exclude_nodata_value && isnodata)) {
rt_raster_destroy(raster);
PG_FREE_IF_COPY(pgraster, 0);
PG_RETURN_NULL();
/* band's hasnodata and nodataval */
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata)
- nodataval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodataval);
POSTGIS_RT_DEBUGF(4, "(hasnodata, nodataval) = (%d, %f)", hasnodata, nodataval);
/* allocate memory for values and nodata flags */
PG_RETURN_POINTER(pgraster);
}
else {
- pixvalue = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &pixvalue);
rt_band_set_pixel(band, x - 1, y - 1, pixvalue);
}
}
/* has NODATA, use NODATA */
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata)
- nodataval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodataval);
/* no NODATA, use min possible value */
else
nodataval = rt_band_get_min_value(band);
pixtype = rt_band_get_pixtype(band);
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata)
- nodataval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodataval);
/* array of geomval (2) */
if (PG_ARGISNULL(2)) {
hasnodata = rt_band_get_hasnodata_flag(band);
if (hasnodata) {
- nodataval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodataval);
POSTGIS_RT_DEBUGF(4, "(hasnodata, nodataval) = (%d, %f)", hasnodata, nodataval);
}
else
rt_pixel npixels = NULL;
double value = 0;
int hasvalue = 0;
+ int isnodata = 0;
if (PG_ARGISNULL(0))
PG_RETURN_NULL();
(x >= 0 && x < rt_raster_get_width(raster)) &&
(y >= 0 && y < rt_raster_get_height(raster))
) {
- if (rt_band_get_pixel(band, x, y, &value, NULL) < 0) {
+ if (rt_band_get_pixel(band, x, y, &value, &isnodata) < 0) {
elog(ERROR, "RASTER_nearestValue: Unable to get pixel value for band at index %d", bandindex);
rt_raster_destroy(raster);
PG_FREE_IF_COPY(pgraster, 0);
}
/* value at point, return value */
- if (
- !exclude_nodata_value ||
- !rt_band_get_hasnodata_flag(band) || (
- exclude_nodata_value &&
- rt_band_get_hasnodata_flag(band) && (
- FLT_NEQ(value, rt_band_get_nodata(band)) &&
- (rt_band_clamped_value_is_nodata(band, value) != 1)
- )
- )
- ) {
+ if (!exclude_nodata_value || !isnodata) {
rt_raster_destroy(raster);
PG_FREE_IF_COPY(pgraster, 0);
lwgeom_free(lwgeom);
int distance[2] = {0};
bool exclude_nodata_value = TRUE;
double pixval;
+ int isnodata = 0;
int inextent = 0;
rt_pixel npixels = NULL;
band,
_x, _y,
&pixval,
- NULL
+ &isnodata
) < 0) {
elog(NOTICE, "Unable to get the pixel of band at index %d. Returning NULL", bandindex);
rt_band_destroy(band);
else {
/* has NODATA, use NODATA */
if (rt_band_get_hasnodata_flag(band))
- pixval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &pixval);
/* no NODATA, use min possible value */
else
pixval = rt_band_get_min_value(band);
inextent = 0;
+ isnodata = 1;
}
POSTGIS_RT_DEBUGF(4, "pixval: %f", pixval);
npixels[count - 1].value = pixval;
/* set NODATA */
- if (
- !exclude_nodata_value ||
- (!rt_band_get_hasnodata_flag(band) && inextent) || (
- exclude_nodata_value &&
- (rt_band_get_hasnodata_flag(band) != FALSE) && (
- FLT_NEQ(pixval, rt_band_get_nodata(band)) &&
- (rt_band_clamped_value_is_nodata(band, pixval) != 1)
- )
- )
- ) {
+ if (!exclude_nodata_value || !isnodata) {
npixels[count - 1].nodata = 0;
}
POSTGIS_RT_DEBUG(3, "RASTER_mapAlgebraExpr: Getting NODATA value for band...");
if (rt_band_get_hasnodata_flag(band)) {
- newnodatavalue = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &newnodatavalue);
}
else {
POSTGIS_RT_DEBUG(3, "RASTER_mapAlgebraFct: Getting NODATA value for band...");
if (rt_band_get_hasnodata_flag(band)) {
- newnodatavalue = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &newnodatavalue);
}
else {
/* nodatavalue */
if (bmd[i].hasnodata)
- bmd[i].nodataval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &(bmd[i].nodataval));
else
bmd[i].nodataval = 0;
_hasnodata[i] = rt_band_get_hasnodata_flag(_band[i]);
if (_hasnodata[i])
- _nodataval[i] = rt_band_get_nodata(_band[i]);
+ rt_band_get_nodata(_band[i], &(_nodataval[i]));
}
/* pixtype is PT_END, get pixtype based upon extent */
rt_raster_get_srid(raster)
);
- POSTGIS_RT_DEBUGF(4, "bandmetadata = (%s, %d, %f)",
- rt_pixtype_name(rt_band_get_pixtype(band)),
- rt_band_get_hasnodata_flag(band),
- rt_band_get_nodata(band)
- );
-
/*
determine who called this function
Arg 4 will either be text or regprocedure
POSTGIS_RT_DEBUG(3, "RASTER_mapAlgebraFctNgb: Getting NODATA value for band...");
if (rt_band_get_hasnodata_flag(band)) {
- newnodatavalue = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &newnodatavalue);
}
else {
/* set hasnodata and nodataval */
arg->hasnodata = 1;
if (rt_band_get_hasnodata_flag(band))
- arg->nodataval = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &(arg->nodataval));
else
arg->nodataval = rt_band_get_min_value(band);
pixtype = rt_band_get_pixtype(_band);
hasnodata = 1;
if (rt_band_get_hasnodata_flag(_band))
- nodataval = rt_band_get_nodata(_band);
+ rt_band_get_nodata(_band, &nodataval);
else
nodataval = rt_band_get_min_value(_band);
}
pixtype = rt_band_get_pixtype(_band);
hasnodata = rt_band_get_hasnodata_flag(_band);
if (hasnodata)
- nodataval = rt_band_get_nodata(_band);
+ rt_band_get_nodata(_band, &nodataval);
POSTGIS_RT_DEBUGF(4, "(pixtype, hasnodata, nodataval) = (%s, %d, %f)", rt_pixtype_name(pixtype), hasnodata, nodataval);
itrset[0].raster = iwr->bandarg[i].raster[0];
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- //printf("1BB nodata is %g\n", rt_band_get_nodata(band));
- CHECK_EQUALS(rt_band_get_nodata(band), 1);
+ rt_band_get_nodata(band, &val);
+ CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- //printf("1BB nodata is %g\n", rt_band_get_nodata(band));
- CHECK_EQUALS(rt_band_get_nodata(band), 0);
+ rt_band_get_nodata(band, &val);
+ CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 2);
CHECK(failure); /* out of range value */
int failure;
failure = rt_band_set_nodata(band, 1);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
CHECK(!failure);
failure = rt_band_set_nodata(band, 0);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
CHECK(!failure);
failure = rt_band_set_nodata(band, 2);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 2);
CHECK(!failure);
failure = rt_band_set_nodata(band, 3);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 3);
CHECK(!failure);
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK(!failure);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 2);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK(!failure);
CHECK_EQUALS(val, 2);
failure = rt_band_set_nodata(band, 4);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK(!failure);
CHECK_EQUALS(val, 4);
failure = rt_band_set_nodata(band, 8);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK(!failure);
CHECK_EQUALS(val, 8);
failure = rt_band_set_nodata(band, 15);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK(!failure);
CHECK_EQUALS(val, 15);
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 2);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 2);
failure = rt_band_set_nodata(band, 4);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 4);
failure = rt_band_set_nodata(band, 8);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 8);
failure = rt_band_set_nodata(band, 15);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 15);
failure = rt_band_set_nodata(band, 31);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 31);
failure = rt_band_set_nodata(band, 255);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 255);
failure = rt_band_set_nodata(band, 256); /* out of value range */
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 2);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 2);
failure = rt_band_set_nodata(band, 4);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 4);
failure = rt_band_set_nodata(band, 8);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 8);
failure = rt_band_set_nodata(band, 15);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 15);
failure = rt_band_set_nodata(band, 31);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 31);
failure = rt_band_set_nodata(band, -127);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, -127);
failure = rt_band_set_nodata(band, 127);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 127);
/* out of range (-127..127) */
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 31);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 31);
failure = rt_band_set_nodata(band, 255);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 255);
failure = rt_band_set_nodata(band, 65535);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
//printf("set 65535 on %s band gets %g back\n", pixtypeName, val);
CHECK_EQUALS(val, 65535);
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 31);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 31);
failure = rt_band_set_nodata(band, 255);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 255);
failure = rt_band_set_nodata(band, -32767);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
//printf("set 65535 on %s band gets %g back\n", pixtypeName, val);
CHECK_EQUALS(val, -32767);
failure = rt_band_set_nodata(band, 32767);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
//printf("set 65535 on %s band gets %g back\n", pixtypeName, val);
CHECK_EQUALS(val, 32767);
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 65535);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 65535);
failure = rt_band_set_nodata(band, 4294967295UL);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 4294967295UL);
/* out of range */
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 65535);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 65535);
failure = rt_band_set_nodata(band, 2147483647);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
/*printf("32BSI pix is %ld\n", (long int)val);*/
CHECK_EQUALS(val, 2147483647);
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 65535.5);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
//printf("set 65535.56 on %s band gets %g back\n", pixtypeName, val);
CHECK_EQUALS_DOUBLE(val, 65535.5);
failure = rt_band_set_nodata(band, 0.006);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS_DOUBLE(val, 0.0060000000521540); /* XXX: Alternatively, use CHECK_EQUALS_DOUBLE_EX */
{
failure = rt_band_set_nodata(band, 1);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 1);
failure = rt_band_set_nodata(band, 0);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0);
failure = rt_band_set_nodata(band, 65535.56);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 65535.56);
failure = rt_band_set_nodata(band, 0.006);
CHECK(!failure);
- val = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &val);
CHECK_EQUALS(val, 0.006);
{
}
}
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
CHECK_EQUALS(nodata, 0);
stats = (rt_bandstats) rt_band_get_summary_stats(band, 1, 0, 1, NULL, NULL, NULL);
}
}
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
CHECK_EQUALS(nodata, 0);
quantile = (rt_quantile) rt_band_get_quantiles_stream(
}
}
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
CHECK_EQUALS(nodata, 0);
max_run = 5;
rband = rt_raster_replace_band(raster, band, 0);
CHECK(rband);
- nodata = rt_band_get_nodata(rt_raster_get_band(raster, 0));
+ rt_band_get_nodata(rt_raster_get_band(raster, 0), &nodata);
CHECK((nodata == 1));
deepRelease(raster);
}
}
- nodata = rt_band_get_nodata(band);
+ rt_band_get_nodata(band, &nodata);
CHECK_EQUALS(nodata, 0);
exprset = rtalloc(cnt * sizeof(rt_reclassexpr));
CHECK(band);
CHECK(rt_band_get_hasnodata_flag(band));
- CHECK(FLT_EQ(rt_band_get_nodata(band), 0.));
+ rt_band_get_nodata(band, &value);
+ CHECK(FLT_EQ(value, 0.));
CHECK(rt_band_get_pixel(band, 0, 0, &value, NULL) == 0);
CHECK(FLT_EQ(value, 0.));
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
/*
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_intersects(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_intersects(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_overlaps(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_overlaps(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_overlaps(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_touches(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_touches(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_touches(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_contains(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_contains(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_contains(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_contains_properly(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_contains_properly(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_contains_properly(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_covers(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_covers(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_covers(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_coveredby(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_coveredby(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_coveredby(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_within_distance(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_within_distance(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_within_distance(
rtn = rt_band_set_pixel(band1, 1, 0, 1);
rtn = rt_band_set_pixel(band1, 1, 1, 1);
- nodata = rt_band_get_nodata(band1);
+ rt_band_get_nodata(band1, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_fully_within_distance(
rtn = rt_band_set_pixel(band2, 1, 0, 1);
rtn = rt_band_set_pixel(band2, 1, 1, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_fully_within_distance(
rtn = rt_band_set_pixel(band2, 2, 1, 1);
rtn = rt_band_set_pixel(band2, 2, 2, 1);
- nodata = rt_band_get_nodata(band2);
+ rt_band_get_nodata(band2, &nodata);
CHECK_EQUALS(nodata, 0);
rtn = rt_raster_fully_within_distance(