PostGIS  2.1.10dev-r@@SVN_REVISION@@
static LWGEOM* linestring_from_pa ( const POINTARRAY pa,
int  srid,
int  start,
int  end 

Definition at line 545 of file lwsegmentize.c.

References getPoint4d_p(), LWDEBUGF, lwline_as_lwgeom(), lwline_construct(), ptarray_construct(), ptarray_has_m(), ptarray_has_z(), and ptarray_set_point4d().

Referenced by geom_from_pa().

546 {
547  int i = 0, j = 0;
548  POINT4D p;
549  POINTARRAY *pao = ptarray_construct(ptarray_has_z(pa), ptarray_has_m(pa), end-start+2);
550  LWDEBUGF(4, "srid=%d, start=%d, end=%d", srid, start, end);
551  for( i = start; i < end + 2; i++ )
552  {
553  getPoint4d_p(pa, i, &p);
554  ptarray_set_point4d(pao, j++, &p);
555  }
556  return lwline_as_lwgeom(lwline_construct(srid, NULL, pao));
557 }
void ptarray_set_point4d(POINTARRAY *pa, int n, const POINT4D *p4d)
Definition: lwgeom_api.c:501
POINTARRAY * ptarray_construct(char hasz, char hasm, uint32_t npoints)
Construct an empty pointarray, allocating storage and setting the npoints, but not filling in any inf...
Definition: ptarray.c:49
LWGEOM * lwline_as_lwgeom(const LWLINE *obj)
Definition: lwgeom.c:249
LWLINE * lwline_construct(int srid, GBOX *bbox, POINTARRAY *points)
Definition: lwline.c:29
int ptarray_has_m(const POINTARRAY *pa)
Definition: ptarray.c:30
int ptarray_has_z(const POINTARRAY *pa)
Definition: ptarray.c:23
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:55
int getPoint4d_p(const POINTARRAY *pa, int n, POINT4D *point)
Definition: lwgeom_api.c:217

Here is the call graph for this function:

Here is the caller graph for this function: