PostGIS  2.1.10dev-r@@SVN_REVISION@@
int lw_dist2d_pt_ptarray ( const POINT2D p,

search all the segments of pointarray to see which one is closest to p1 Returns minimum distance between point and pointarray

Definition at line 1009 of file measures.c.

References DIST_MIN, DISTPTS::distance, getPoint2d_cp(), lw_dist2d_pt_pt(), lw_dist2d_pt_seg(), LW_FALSE, LW_TRUE, LWDEBUG, DISTPTS::mode, POINTARRAY::npoints, DISTPTS::tolerance, and DISTPTS::twisted.

Referenced by lw_dist2d_point_line(), and lw_dist2d_point_poly().

1010 {
1011  int t;
1012  const POINT2D *start, *end;
1013  int twist = dl->twisted;
1015  LWDEBUG(2, "lw_dist2d_pt_ptarray is called");
1017  start = getPoint2d_cp(pa, 0);
1019  if ( !lw_dist2d_pt_pt(p, start, dl) ) return LW_FALSE;
1021  for (t=1; t<pa->npoints; t++)
1022  {
1023  dl->twisted=twist;
1024  end = getPoint2d_cp(pa, t);
1025  if (!lw_dist2d_pt_seg(p, start, end, dl)) return LW_FALSE;
1027  if (dl->distance<=dl->tolerance && dl->mode == DIST_MIN) return LW_TRUE; /*just a check if the answer is already given*/
1028  start = end;
1029  }
1031  return LW_TRUE;
1032 }
int npoints
Definition: liblwgeom.h:327
int mode
Definition: measures.h:26
#define DIST_MIN
#define LWDEBUG(level, msg)
Definition: lwgeom_log.h:50
double tolerance
Definition: measures.h:28
#define LW_FALSE
Definition: liblwgeom.h:52
const POINT2D * getPoint2d_cp(const POINTARRAY *pa, int n)
Returns a POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from...
Definition: lwgeom_api.c:458
#define LW_TRUE
Return types for functions with status returns.
Definition: liblwgeom.h:51
int lw_dist2d_pt_seg(const POINT2D *p, const POINT2D *A, const POINT2D *B, DISTPTS *dl)
lw_dist2d_comp from p to line A->B This one is now sending every occation to lw_dist2d_pt_pt Before i...
Definition: measures.c:2011
int twisted
Definition: measures.h:27
double distance
Definition: measures.h:23
int lw_dist2d_pt_pt(const POINT2D *thep1, const POINT2D *thep2, DISTPTS *dl)
Compares incomming points and stores the points closest to each other or most far away from each othe...
Definition: measures.c:2087

Here is the call graph for this function:

Here is the caller graph for this function: