1326{
1327#if POSTGIS_GEOS_VERSION < 31400
1328 elog(ERROR, "The GEOS version this PostGIS binary "
1329 "was compiled against (%d) does not include the "
1330 "'GEOSGridIntersectionFractions' function (3.14.0+ required)",
1332 PG_RETURN_NULL();
1333#else
1340
1344 {
1345 elog(ERROR,
"ST_IntersectionFractions: Unsupported geometry type '%s'",
lwtype_name(gtype));
1346 }
1347
1348 rast_out = rt_raster_intersection_fractions(rast_in, lwg);
1349 if (!rast_out)
1350 elog(ERROR, "ST_IntersectionFractions: calculation returned NULL");
1351
1354 if (!pgrast_out)
1355 PG_RETURN_NULL();
1356
1357 SET_VARSIZE(pgrast_out, pgrast_out->
size);
1358 PG_RETURN_POINTER(pgrast_out);
1359
1360#endif
1361}
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
void rt_raster_destroy(rt_raster raster)
Release memory associated to a raster.
void * rt_raster_serialize(rt_raster raster)
Return this raster in serialized form.
rt_raster rt_raster_deserialize(void *serialized, int header_only)
Return a raster from a serialized form.
static uint32_t lwgeom_get_type(const LWGEOM *geom)
Return LWTYPE number.
#define POSTGIS_GEOS_VERSION