PostGIS  2.3.7dev-r@@SVN_REVISION@@
static int ptarray_locate_along_linear ( const POINTARRAY pa,
double  m,
POINT4D p,
int  from 
)
static

Definition at line 1051 of file lwlinearreferencing.c.

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

Referenced by lwgeom_cpa_within(), and lwgeom_tcpa().

1052 {
1053  int i = from;
1054  POINT4D p1, p2;
1055 
1056  /* Walk through each segment in the point array */
1057  getPoint4d_p(pa, i, &p1);
1058  for ( i = from+1; i < pa->npoints; i++ )
1059  {
1060  getPoint4d_p(pa, i, &p2);
1061 
1062  if ( segment_locate_along(&p1, &p2, m, 0, p) == LW_TRUE )
1063  return i-1; /* found */
1064 
1065  p1 = p2;
1066  }
1067 
1068  return -1; /* not found */
1069 }
int npoints
Definition: liblwgeom.h:370
static int segment_locate_along(const POINT4D *p1, const POINT4D *p2, double m, double offset, POINT4D *pn)
#define LW_TRUE
Return types for functions with status returns.
Definition: liblwgeom.h:75
int getPoint4d_p(const POINTARRAY *pa, int n, POINT4D *point)
Definition: lwgeom_api.c:244

Here is the call graph for this function:

Here is the caller graph for this function: