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

◆ ptarray_locate_along_linear()

static int ptarray_locate_along_linear ( const POINTARRAY pa,
double  m,
POINT4D p,
uint32_t  from 
)
static

Definition at line 1117 of file lwlinearreferencing.c.

1118{
1119 uint32_t i = from;
1120 POINT4D p1, p2;
1121
1122 /* Walk through each segment in the point array */
1123 getPoint4d_p(pa, i, &p1);
1124 for (i = from + 1; i < pa->npoints; i++)
1125 {
1126 getPoint4d_p(pa, i, &p2);
1127
1128 if (segment_locate_along(&p1, &p2, m, 0, p) == LW_TRUE)
1129 return i - 1; /* found */
1130
1131 p1 = p2;
1132 }
1133
1134 return -1; /* not found */
1135}
int getPoint4d_p(const POINTARRAY *pa, uint32_t n, POINT4D *point)
Definition lwgeom_api.c:125
#define LW_TRUE
Return types for functions with status returns.
Definition liblwgeom.h:93
static int segment_locate_along(const POINT4D *p1, const POINT4D *p2, double m, double offset, POINT4D *pn)
uint32_t npoints
Definition liblwgeom.h:427

References getPoint4d_p(), LW_TRUE, POINTARRAY::npoints, and segment_locate_along().

Referenced by lwgeom_cpa_within(), and lwgeom_tcpa().

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