@@ -548,9 +548,9 @@ static int gmlWriteGeometry_GML3(FILE *stream, gmlGeometryListObj *geometryList,
548
548
549
549
msFree (pszGMLId );
550
550
551
- msIO_fprintf (stream , "%s <gml:pointMembers>\n" , tab );
552
551
for (i = 0 ; i < shape -> numlines ; i ++ ) {
553
552
for (j = 0 ; j < shape -> line [i ].numpoints ; j ++ ) {
553
+ msIO_fprintf (stream , "%s <gml:pointMember>\n" , tab );
554
554
pszGMLId = gmlCreateGeomId (nGMLVersion , pszFID , & id );
555
555
msIO_fprintf (stream , "%s <gml:Point%s>\n" , tab , pszGMLId );
556
556
#ifdef USE_POINT_Z_M
@@ -562,9 +562,9 @@ static int gmlWriteGeometry_GML3(FILE *stream, gmlGeometryListObj *geometryList,
562
562
msIO_fprintf (stream , "%s <gml:pos>%f %f</gml:pos>\n" , tab , shape -> line [i ].point [j ].x , shape -> line [i ].point [j ].y );
563
563
msIO_fprintf (stream , "%s </gml:Point>\n" , tab );
564
564
msFree (pszGMLId );
565
+ msIO_fprintf (stream , "%s </gml:pointMember>\n" , tab );
565
566
}
566
567
}
567
- msIO_fprintf (stream , "%s </gml:pointMembers>\n" , tab );
568
568
569
569
msIO_fprintf (stream , "%s </gml:MultiPoint>\n" , tab );
570
570
@@ -622,8 +622,8 @@ static int gmlWriteGeometry_GML3(FILE *stream, gmlGeometryListObj *geometryList,
622
622
msIO_fprintf (stream , "%s <gml:MultiCurve%s>\n" , tab , pszGMLId );
623
623
msFree (pszGMLId );
624
624
625
- msIO_fprintf (stream , "%s <gml:curveMembers>\n" , tab );
626
625
for (i = 0 ; i < shape -> numlines ; i ++ ) {
626
+ msIO_fprintf (stream , "%s <gml:curveMember>\n" , tab );
627
627
pszGMLId = gmlCreateGeomId (nGMLVersion , pszFID , & id );
628
628
msIO_fprintf (stream , "%s <gml:LineString%s>\n" , tab , pszGMLId ); /* no srsname at this point */
629
629
msFree (pszGMLId );
@@ -642,8 +642,8 @@ static int gmlWriteGeometry_GML3(FILE *stream, gmlGeometryListObj *geometryList,
642
642
643
643
msIO_fprintf (stream , "</gml:posList>\n" );
644
644
msIO_fprintf (stream , "%s </gml:LineString>\n" , tab );
645
+ msIO_fprintf (stream , "%s </gml:curveMember>\n" , tab );
645
646
}
646
- msIO_fprintf (stream , "%s </gml:curveMembers>\n" , tab );
647
647
648
648
msIO_fprintf (stream , "%s </gml:MultiCurve>\n" , tab );
649
649
@@ -747,11 +747,11 @@ static int gmlWriteGeometry_GML3(FILE *stream, gmlGeometryListObj *geometryList,
747
747
msIO_fprintf (stream , "%s <gml:MultiSurface%s srsName=\"%s\">\n" , tab , pszGMLId , srsname_encoded );
748
748
else
749
749
msIO_fprintf (stream , "%s <gml:MultiSurface%s>\n" , tab , pszGMLId );
750
- msFree (pszGMLId ),
750
+ msFree (pszGMLId );
751
751
752
- msIO_fprintf (stream , "%s <gml:surfaceMembers>\n" , tab );
753
752
for (i = 0 ; i < shape -> numlines ; i ++ ) { /* step through the outer rings */
754
753
if (outerlist [i ] == MS_TRUE ) {
754
+ msIO_fprintf (stream , "%s <gml:surfaceMember>\n" , tab );
755
755
756
756
/* get a list of inner rings for this polygon */
757
757
innerlist = msGetInnerList (shape , i , outerlist );
@@ -807,9 +807,9 @@ static int gmlWriteGeometry_GML3(FILE *stream, gmlGeometryListObj *geometryList,
807
807
msIO_fprintf (stream , "%s </gml:Polygon>\n" , tab );
808
808
809
809
free (innerlist );
810
+ msIO_fprintf (stream , "%s </gml:surfaceMember>\n" , tab );
810
811
}
811
812
}
812
- msIO_fprintf (stream , "%s </gml:surfaceMembers>\n" , tab );
813
813
msIO_fprintf (stream , "%s </gml:MultiSurface>\n" , tab );
814
814
815
815
free (outerlist );
0 commit comments