Given a polygon1 check if all points of polygon2 are inside polygon1 and no intersections of the polygon edges occur.
return LW_TRUE if polygon is inside or on edge of polygon.
Definition at line 2602 of file lwgeodetic.c.
2609 LWDEBUG(4,
"returning false, geometry1 is empty or null");
2616 LWDEBUG(4,
"returning false, geometry2 is empty or null");
2621 for (i = 0; i < poly2->nrings; i++)
2629 LWDEBUG(4,
"returning false, geometry2 has point outside of geometry1");
2637 LWDEBUG(4,
"returning false, geometry2 has point inside a hole of geometry1");
2644 for (i = 0; i < poly2->nrings; i++)
2648 LWDEBUG(4,
"returning false, geometry2 is partially outside of geometry1");
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
#define LW_TRUE
Return types for functions with status returns.
int lwpoly_intersects_line(const LWPOLY *lwpoly, const POINTARRAY *line)
Checks if any edges of lwpoly intersect with the line formed by the pointarray return LW_TRUE if any ...
int lwpoly_covers_pointarray(const LWPOLY *lwpoly, const POINTARRAY *pta)
return LW_TRUE if all points are inside the polygon
#define LWDEBUG(level, msg)
References LW_FALSE, LW_TRUE, LWDEBUG, lwgeom_is_empty(), lwpoly_covers_pointarray(), lwpoly_intersects_line(), LWPOLY::nrings, and LWPOLY::rings.
Referenced by lwgeom_covers_lwgeom_sphere().