PostGIS  2.5.0beta2dev-r@@SVN_REVISION@@

◆ lwgeom_locate_between_m()

static LWGEOM * lwgeom_locate_between_m ( LWGEOM lwin,
double  m0,
double  m1 
)
static

Definition at line 662 of file lwgeom_functions_lrs.c.

References COLLECTIONTYPE, LINETYPE, lwcollection_locate_between_m(), LWGEOM_locate_between_m(), lwline_locate_between_m(), lwpoint_locate_between_m(), MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, PG_FUNCTION_INFO_V1(), POINTTYPE, POLYGONTYPE, and LWGEOM::type.

Referenced by lwcollection_locate_between_m(), and LWGEOM_locate_between_m().

663 {
664  POSTGIS_DEBUGF(2, "lwgeom_locate_between called for lwgeom %p", lwin);
665 
666  switch (lwin->type)
667  {
668  case POINTTYPE:
670  (LWPOINT *)lwin, m0, m1);
671  case LINETYPE:
673  (LWLINE *)lwin, m0, m1);
674 
675  case MULTIPOINTTYPE:
676  case MULTILINETYPE:
677  case COLLECTIONTYPE:
679  (LWCOLLECTION *)lwin, m0, m1);
680 
681  /* Polygon types are not supported */
682  case POLYGONTYPE:
683  case MULTIPOLYGONTYPE:
684  lwpgerror("Areal geometries are not supported by locate_between_measures");
685  return NULL;
686  }
687 
688  lwpgerror("Unknown geometry type (%s:%d)", __FILE__, __LINE__);
689  return NULL;
690 }
#define LINETYPE
Definition: liblwgeom.h:85
static LWGEOM * lwcollection_locate_between_m(LWCOLLECTION *lwcoll, double m0, double m1)
#define POLYGONTYPE
Definition: liblwgeom.h:86
#define MULTIPOINTTYPE
Definition: liblwgeom.h:87
static LWGEOM * lwline_locate_between_m(LWLINE *lwline_in, double m0, double m1)
static LWGEOM * lwpoint_locate_between_m(LWPOINT *lwpoint, double m0, double m1)
#define MULTIPOLYGONTYPE
Definition: liblwgeom.h:89
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition: liblwgeom.h:84
uint8_t type
Definition: liblwgeom.h:398
#define MULTILINETYPE
Definition: liblwgeom.h:88
#define COLLECTIONTYPE
Definition: liblwgeom.h:90
Here is the call graph for this function:
Here is the caller graph for this function: