Generate an allocated geometry string for shapefile object obj using the state parameters.
Definition at line 318 of file shp2pgsql-core.c.
319{
320
321 LWGEOM **lwmultilinestrings;
324 int dims = 0;
325 int u, v, start_vertex, end_vertex;
326 char *mem;
327 size_t mem_length;
328
329
332
334 {
336
338 }
339
340
342
343
344 for (u = 0; u < obj->
nParts; u++)
345 {
346
348
349
350
353 else
355
357
358 for (v = start_vertex; v < end_vertex; v++)
359 {
360
361 point4d.
x = obj->
padfX[v];
362 point4d.
y = obj->
padfY[v];
363
365 point4d.
z = obj->
padfZ[v];
367 point4d.
m = obj->
padfM[v];
368
370 }
371
372
374 }
375
376
378 {
380 }
381 else
382 {
383 lwgeom = lwmultilinestrings[0];
384 lwfree(lwmultilinestrings);
385 }
386
389 else
391
392 if ( !mem )
393 {
396 }
397
398
400
401
402 *geometry = mem;
403
405}
LWCOLLECTION * lwcollection_construct(uint8_t type, int32_t srid, GBOX *bbox, uint32_t ngeoms, LWGEOM **geoms)
char * lwgeom_to_hexwkb(const LWGEOM *geom, uint8_t variant, size_t *size_out)
void lwgeom_free(LWGEOM *geom)
char * lwgeom_to_wkt(const LWGEOM *geom, uint8_t variant, int precision, size_t *size_out)
WKT emitter function.
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
LWLINE * lwline_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)
LWGEOM * lwline_as_lwgeom(const LWLINE *obj)
int ptarray_append_point(POINTARRAY *pa, const POINT4D *pt, int allow_duplicates)
Append a point to the end of an existing POINTARRAY If allow_duplicate is LW_FALSE,...
#define FLAGS_SET_M(flags, value)
#define FLAGS_SET_Z(flags, value)
LWGEOM * lwcollection_as_lwgeom(const LWCOLLECTION *obj)
char message[SHPLOADERMSGLEN]
References _, shp_loader_state::config, FLAGS_SET_M, FLAGS_SET_Z, shp_loader_state::from_srid, shp_loader_state::has_m, shp_loader_state::has_z, LW_FALSE, lwcollection_as_lwgeom(), lwcollection_construct(), lwfree(), lwgeom_free(), lwgeom_to_hexwkb(), lwgeom_to_wkt(), lwline_as_lwgeom(), lwline_construct(), POINT4D::m, malloc(), shp_loader_state::message, MULTILINETYPE, SHPObject::nParts, SHPObject::nVertices, SHPObject::padfM, SHPObject::padfX, SHPObject::padfY, SHPObject::padfZ, SHPObject::panPartStart, ptarray_append_point(), ptarray_construct_empty(), SHPLOADERERR, SHPLOADERMSGLEN, SHPLOADEROK, shp_loader_config::simple_geometries, shp_loader_config::use_wkt, WKB_EXTENDED, WKT_EXTENDED, WKT_PRECISION, POINT4D::x, POINT4D::y, and POINT4D::z.
Referenced by ShpLoaderGenerateSQLRowStatement().