706 double start_measure = PG_GETARG_FLOAT8(1);
707 double end_measure = PG_GETARG_FLOAT8(2);
713 elog(WARNING,
"ST_Locate_Between_Measures and ST_Locate_Along_Measure were deprecated in 2.2.0. Please use ST_LocateAlong and ST_LocateBetween");
715 if ( end_measure < start_measure )
717 lwpgerror(
"locate_between_m: 2nd arg must be bigger then 1st arg");
726 lwpgerror(
"Geometry argument does not have an 'M' ordinate");
738 lwpgerror(
"Areal or Collection types are not supported");
745 start_measure, end_measure);
758 PG_RETURN_POINTER(gout);
int32_t gserialized_get_srid(const GSERIALIZED *s)
Extract the SRID from the serialized form (it is packed into three bytes so this is a handy function)...
int gserialized_has_z(const GSERIALIZED *gser)
Check if a GSERIALIZED has a Z ordinate.
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
int gserialized_has_m(const GSERIALIZED *gser)
Check if a GSERIALIZED has an M ordinate.
uint32_t gserialized_get_type(const GSERIALIZED *s)
Extract the geometry type from the serialized form (it hides in the anonymous data area,...
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int srid, char hasz, char hasm)
void lwgeom_free(LWGEOM *geom)
static LWGEOM * lwgeom_locate_between_m(LWGEOM *lwin, double m0, double m1)
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)