PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ rtpg_union_mean_callback()

static int rtpg_union_mean_callback ( rt_iterator_arg  arg,
void *  userarg,
double *  value,
int *  nodata 
)
static

Definition at line 1885 of file rtpg_mapalgebra.c.

1888 {
1889 if (arg == NULL)
1890 return 0;
1891
1892 if (
1893 arg->rasters != 2 ||
1894 arg->rows != 1 ||
1895 arg->columns != 1
1896 ) {
1897 elog(ERROR, "rtpg_union_mean_callback: Invalid arguments passed to callback");
1898 return 0;
1899 }
1900
1901 *value = 0;
1902 *nodata = 1;
1903
1904 POSTGIS_RT_DEBUGF(4, "rast0: %f %d", arg->values[0][0][0], arg->nodata[0][0][0]);
1905 POSTGIS_RT_DEBUGF(4, "rast1: %f %d", arg->values[1][0][0], arg->nodata[1][0][0]);
1906
1907 if (!arg->nodata[0][0][0] && FLT_NEQ(arg->values[0][0][0], 0.0) && !arg->nodata[1][0][0])
1908 {
1909 *value = arg->values[1][0][0] / arg->values[0][0][0];
1910 *nodata = 0;
1911 }
1912
1913 POSTGIS_RT_DEBUGF(4, "value, nodata = (%f, %d)", *value, *nodata);
1914
1915 return 1;
1916}
#define FLT_NEQ(x, y)
Definition librtcore.h:2234
int value
Definition genraster.py:62
#define POSTGIS_RT_DEBUGF(level, msg,...)
Definition rtpostgis.h:65
double *** values
Definition librtcore.h:2460

References rt_iterator_arg_t::columns, FLT_NEQ, rt_iterator_arg_t::nodata, POSTGIS_RT_DEBUGF, rt_iterator_arg_t::rasters, rt_iterator_arg_t::rows, and rt_iterator_arg_t::values.

Referenced by RASTER_union_finalfn().

Here is the caller graph for this function: