Clip an input MULTIPOINT between two values, on any ordinate input.
405{
407 char hasz, hasm;
408 uint32_t i;
409
410
413
414
416
417
418 for (i = 0; i < mpoint->
ngeoms; i++)
419 {
421 double ordinate_value;
422
425
426 if (from <= ordinate_value && to >= ordinate_value)
427 {
430 }
431 }
432
433
436
437 return lwgeom_out;
438}
LWGEOM * lwmpoint_as_lwgeom(const LWMPOINT *obj)
void lwgeom_refresh_bbox(LWGEOM *lwgeom)
Drop current bbox and calculate a fresh one.
int lwpoint_getPoint4d_p(const LWPOINT *point, POINT4D *out)
LWGEOM * lwpoint_as_lwgeom(const LWPOINT *obj)
int lwgeom_has_z(const LWGEOM *geom)
Return LW_TRUE if geometry has Z ordinates.
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int32_t srid, char hasz, char hasm)
LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM *geom)
Appends geom to the collection managed by col.
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
LWPOINT * lwpoint_clone(const LWPOINT *lwgeom)
double lwpoint_get_ordinate(const POINT4D *p, char ordinate)
Given a POINT4D and an ordinate number, return the value of the ordinate.