Determine the location(s) along a measured line where m occurs and return as a multipoint.
Offset to left (positive) or right (negative).
Definition at line 217 of file lwlinearreferencing.c.
References LINETYPE, lwerror(), lwgeom_has_m(), lwline_locate_along(), lwmline_locate_along(), lwmpoint_locate_along(), lwpoint_locate_along(), lwtype_name(), MULTILINETYPE, MULTIPOINTTYPE, POINTTYPE, LWGEOM::type, and LWMLINE::type.
Referenced by ST_LocateAlong(), and test_lwgeom_locate_along().
219 if ( ! lwin )
return NULL;
222 lwerror(
"Input geometry does not have a measure dimension");
static LWMPOINT * lwline_locate_along(const LWLINE *lwline, double m, double offset)
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
static LWMPOINT * lwmline_locate_along(const LWMLINE *lwmline, double m, double offset)
static LWMPOINT * lwmpoint_locate_along(const LWMPOINT *lwin, double m, double offset)
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static LWMPOINT * lwpoint_locate_along(const LWPOINT *lwpoint, double m, double offset)