1192{
1193 size_t prefixlen = strlen(prefix);
1195 size_t size = sizeof( "<Polygon></Polygon" ) + 2 * prefixlen;
1196 if (srs) size += strlen(srs) + sizeof(" srsName=..");
1197 if (id) size += strlen(id) + strlen(prefix) + sizeof(" id=..");
1198 uint32_t i;
1199
1200 for( i = 0; i < poly->
nrings; ++i )
1201 {
1202 if( i == 0 )
1203 {
1204 size += sizeof( "<exterior></exterior>" ) + 2 * prefixlen;
1205 }
1206 else
1207 {
1208 size += sizeof( "<interior></interior>" ) + 2 * prefixlen;
1209 }
1210 subgeom = poly->
rings[i];
1211
1213 {
1214 size += sizeof("<LinearRing></LinearRing>") + 2 * prefixlen;
1215 size += sizeof("<posList></posList") + 2 * prefixlen;
1217 {
1218 size += sizeof(" srsDimension='x'");
1219 }
1221 }
1223 {
1224 size += sizeof("<Ring></Ring>") + 2 * prefixlen;
1225 size += sizeof("<CurveMember></CurveMember>") + 2 * prefixlen;
1227 }
1229 {
1230 size += sizeof("<Ring></Ring>") + 2 * prefixlen;
1231 size += sizeof("<curveMember></curveMember>") + 2 * prefixlen;
1233 }
1234 }
1235 return size;
1236}
static size_t asgml3_circstring_size(const LWCIRCSTRING *circ, const char *srs, int precision, int opts, const char *prefix, const char *id)
static size_t pointArray_GMLsize(POINTARRAY *pa, int precision)
static size_t asgml3_compound_size(const LWCOMPOUND *col, const char *srs, int precision, int opts, const char *prefix, const char *id)