1700 ptr += sprintf(ptr,
"<%sMultiGeometry", prefix);
1701 if (srs) ptr += sprintf(ptr,
" srsName=\"%s\"", srs);
1702 if (
id) ptr += sprintf(ptr,
" %sid=\"%s\"", prefix,
id);
1706 ptr += sprintf(ptr,
"/>");
1707 return (ptr-output);
1709 ptr += sprintf(ptr,
">");
1711 for (i=0; i<col->
ngeoms; i++)
1713 subgeom = col->
geoms[i];
1714 ptr += sprintf(ptr,
"<%sgeometryMember>", prefix);
1735 lwerror(
"asgml3_collection_buf: unknown geometry type");
1737 ptr += sprintf(ptr,
"</%sgeometryMember>", prefix);
1741 ptr += sprintf(ptr,
"</%sMultiGeometry>", prefix);
1743 return (ptr-output);
static size_t asgml3_collection_buf(const LWCOLLECTION *col, const char *srs, char *output, int precision, int opts, const char *prefix, const char *id)
int lwgeom_is_collection(const LWGEOM *lwgeom)
Determine whether a LWGEOM can contain sub-geometries or not.
static size_t asgml3_point_buf(const LWPOINT *point, const char *srs, char *output, int precision, int opts, const char *prefix, const char *id)
static size_t asgml3_poly_buf(const LWPOLY *poly, const char *srs, char *output, int precision, int opts, int is_patch, const char *prefix, const char *id)
static size_t asgml3_multi_buf(const LWCOLLECTION *col, const char *srs, char *output, int precision, int opts, const char *prefix, const char *id)
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static size_t asgml3_line_buf(const LWLINE *line, const char *srs, char *output, int precision, int opts, const char *prefix, const char *id)