PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ lwmpoint_locate_along()

static LWMPOINT * lwmpoint_locate_along ( const LWMPOINT lwin,
double  m,
__attribute__((__unused__)) double  offset 
)
static

Definition at line 197 of file lwlinearreferencing.c.

198{
199 LWGEOM *lwg = lwmpoint_as_lwgeom(lwin);
200 LWMPOINT *lwout = NULL;
201 uint32_t i;
202
203 /* Construct return */
205
206 for (i = 0; i < lwin->ngeoms; i++)
207 {
208 double point_m = lwpoint_get_m(lwin->geoms[i]);
209 if (FP_EQUALS(m, point_m))
210 {
211 lwmpoint_add_lwpoint(lwout, lwpoint_clone(lwin->geoms[i]));
212 }
213 }
214
215 return lwout;
216}
LWGEOM * lwmpoint_as_lwgeom(const LWMPOINT *obj)
Definition lwgeom.c:332
int32_t lwgeom_get_srid(const LWGEOM *geom)
Return SRID number.
Definition lwgeom.c:955
double lwpoint_get_m(const LWPOINT *point)
Definition lwpoint.c:107
LWMPOINT * lwmpoint_add_lwpoint(LWMPOINT *mobj, const LWPOINT *obj)
Definition lwmpoint.c:45
int lwgeom_has_z(const LWGEOM *geom)
Return LW_TRUE if geometry has Z ordinates.
Definition lwgeom.c:962
LWMPOINT * lwmpoint_construct_empty(int32_t srid, char hasz, char hasm)
Definition lwmpoint.c:39
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
Definition lwgeom.c:969
LWPOINT * lwpoint_clone(const LWPOINT *lwgeom)
Definition lwpoint.c:239
#define FP_EQUALS(A, B)
uint32_t ngeoms
Definition liblwgeom.h:538
LWPOINT ** geoms
Definition liblwgeom.h:533

References FP_EQUALS, LWMPOINT::geoms, lwgeom_get_srid(), lwgeom_has_m(), lwgeom_has_z(), lwmpoint_add_lwpoint(), lwmpoint_as_lwgeom(), lwmpoint_construct_empty(), lwpoint_clone(), lwpoint_get_m(), and LWMPOINT::ngeoms.

Referenced by lwgeom_locate_along().

Here is the call graph for this function:
Here is the caller graph for this function: