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

◆ ST_Difference()

Datum ST_Difference ( PG_FUNCTION_ARGS  )

Definition at line 1326 of file postgis/lwgeom_geos.c.

1327{
1328 GSERIALIZED *geom1;
1329 GSERIALIZED *geom2;
1330 GSERIALIZED *result;
1331 LWGEOM *lwgeom1, *lwgeom2, *lwresult;
1332
1333 geom1 = PG_GETARG_GSERIALIZED_P(0);
1334 geom2 = PG_GETARG_GSERIALIZED_P(1);
1335
1336 lwgeom1 = lwgeom_from_gserialized(geom1);
1337 lwgeom2 = lwgeom_from_gserialized(geom2);
1338
1339 lwresult = lwgeom_difference(lwgeom1, lwgeom2);
1340 result = geometry_serialize(lwresult);
1341
1342 lwgeom_free(lwgeom1);
1343 lwgeom_free(lwgeom2);
1344 lwgeom_free(lwresult);
1345
1346 PG_FREE_IF_COPY(geom1, 0);
1347 PG_FREE_IF_COPY(geom2, 1);
1348
1349 PG_RETURN_POINTER(result);
1350}
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_free(LWGEOM *geom)
Definition lwgeom.c:1138
LWGEOM * lwgeom_difference(const LWGEOM *geom1, const LWGEOM *geom2)
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)

References geometry_serialize(), lwgeom_difference(), lwgeom_free(), and lwgeom_from_gserialized().

Here is the call graph for this function: