PostGIS  3.0.0dev-r@@SVN_REVISION@@

◆ encode_mline()

static void encode_mline ( mvt_agg_context ctx,
LWMLINE lwmline 
)
static

Definition at line 212 of file mvt.c.

References encode_ptarray(), mvt_agg_context::feature, LWMLINE::geoms, MVT_LINE, LWMLINE::ngeoms, POINTARRAY::npoints, and LWLINE::points.

Referenced by encode_geometry().

213 {
214  uint32_t i;
215  int32_t px = 0, py = 0;
216  size_t c = 0, offset = 0;
217  VectorTile__Tile__Feature *feature = ctx->feature;
218  feature->type = VECTOR_TILE__TILE__GEOM_TYPE__LINESTRING;
219  feature->has_type = 1;
220  for (i = 0; i < lwmline->ngeoms; i++)
221  c += 2 + lwmline->geoms[i]->points->npoints * 2;
222  feature->geometry = palloc(sizeof(*feature->geometry) * c);
223  for (i = 0; i < lwmline->ngeoms; i++)
224  offset += encode_ptarray(ctx, MVT_LINE,
225  lwmline->geoms[i]->points,
226  feature->geometry + offset, &px, &py);
227  feature->n_geometry = offset;
228 }
unsigned int uint32_t
Definition: uthash.h:78
Definition: mvt.c:54
uint32_t ngeoms
Definition: liblwgeom.h:483
LWLINE ** geoms
Definition: liblwgeom.h:485
VectorTile__Tile__Feature * feature
Definition: mvt.h:67
POINTARRAY * points
Definition: liblwgeom.h:424
uint32_t npoints
Definition: liblwgeom.h:373
static uint32_t encode_ptarray(__attribute__((__unused__)) mvt_agg_context *ctx, enum mvt_type type, POINTARRAY *pa, uint32_t *buffer, int32_t *px, int32_t *py)
Definition: mvt.c:117
Here is the call graph for this function:
Here is the caller graph for this function: