<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=WordSection1>
<p class=MsoNormal><span style='color:#1F497D'>Okay, I somehow have got it to
work. Here is a solution (still not sure if this the correct approach, but it
works!!!)<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>//Create an XSD file before
writing the GML file – this will be used to set XmlFeatureFlags<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> String xsdFilePath =
gmlFilePath + ".xsd";<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> XmlWriter
xsdXmlWriter = new XmlWriter(xsdFilePath);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>
XmlSpatialContextWriter spatialContextWriter = new
XmlSpatialContextWriter(xsdXmlWriter);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>
XmlSpatialContextSerializer.XmlSerialize(connection, spatialContextWriter);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>
featureClass.FeatureSchema.WriteXml(xsdXmlWriter);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>
xsdXmlWriter.Close();<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>
xsdXmlWriter.Dispose();<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>//Prepare to write GML file<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> XmlFeatureFlags
xmlFeatureFlags = new XmlFeatureFlags(xsdFilePath);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> XmlWriter
gmlXmlWriter = new XmlWriter(gmlFilePath);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> XmlFeatureWriter
xmlFeatureWriter = new XmlFeatureWriter(gmlXmlWriter);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>//Select & write the
features into GML file<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> ISelect select =
(ISelect)connection.CreateCommand(OSGeo.FDO.Commands.CommandType.CommandType_Select);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>
select.SetFeatureClassName(featureClass.Name);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> IFeatureReader featureReader
= select.Execute();<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> XmlFeatureSerializer.XmlSerialize(featureReader,
xmlFeatureWriter, xmlFeatureFlags);<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Now, the GML is written in the correct
format and QGIS is able to open it too.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Regards,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Ela.<o:p></o:p></span></p>
<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Elavazhagan. M
[mailto:elavazhagan.mouniandy@kcubeconsulting.com] <br>
<b>Sent:</b> Friday, November 26, 2010 4:23 PM<br>
<b>To:</b> 'FDO Users Mail List'<br>
<b>Subject:</b> Right way of creating a GML file?<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Hi,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Can somebody please tell me whether the following approach
(in C#) is the right way to generate a GML file?<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
//Select features<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>ISelect select = (ISelect)connection.CreateCommand(OSGeo.FDO.Commands.CommandType.CommandType_Select);<o:p></o:p></p>
<p class=MsoNormal>
select.SetFeatureClassName(featureClassName); <o:p></o:p></p>
<p class=MsoNormal>
IFeatureReader featureReader = select.Execute();<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
//Write features<o:p></o:p></p>
<p class=MsoNormal style='text-indent:.5in'>XmlWriter xmlWriter = new
XmlWriter(gmlFilePath);<o:p></o:p></p>
<p class=MsoNormal>
XmlFeatureWriter xmlFeatureWriter = new XmlFeatureWriter(xmlWriter);<o:p></o:p></p>
<p class=MsoNormal>
XmlFeatureSerializer.XmlSerialize(featureReader, xmlFeatureWriter);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>This creates a GML file in the following format: <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><?xml version="1.0" encoding="UTF-8"
?><o:p></o:p></p>
<p class=MsoNormal><fdo:DataStore
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml" xmlns:fdo="http://fdo.osgeo.org/schemas"
xmlns:fds="http://fdo.osgeo.org/schemas/fds"><o:p></o:p></p>
<p class=MsoNormal> <building><o:p></o:p></p>
<p class=MsoNormal>
<gid>10</gid><o:p></o:p></p>
<p class=MsoNormal>
<AREA>2365</AREA><o:p></o:p></p>
<p class=MsoNormal>
<PERIMETER>3400</PERIMETER><o:p></o:p></p>
<p class=MsoNormal> <the_geom><o:p></o:p></p>
<p class=MsoNormal>
<gml:Polygon srsName="EPSG:4326"><o:p></o:p></p>
<p class=MsoNormal>
<gml:outerBoundaryIs><o:p></o:p></p>
<p class=MsoNormal>
<gml:LinearRing><o:p></o:p></p>
<p class=MsoNormal>
<gml:coordinates>1550000.000000,6425000.000000
1525000.000000,6425000.000000 1525000.000000,6450000.000000 1550000.000000,6450000.000000
1550000.000000,6425000.000000</gml:coordinates><o:p></o:p></p>
<p class=MsoNormal>
</gml:LinearRing><o:p></o:p></p>
<p class=MsoNormal>
</gml:outerBoundaryIs><o:p></o:p></p>
<p class=MsoNormal>
</gml:Polygon><o:p></o:p></p>
<p class=MsoNormal> </the_geom><o:p></o:p></p>
<p class=MsoNormal> </building><o:p></o:p></p>
<p class=MsoNormal></fdo:DataStore><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>But I am unable to open the GML in QGIS as it says,
“building.gml is not a valid or recognized data source”.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Thanks,<o:p></o:p></p>
<p class=MsoNormal>Ela.<o:p></o:p></p>
</div>
</div>
</body>
</html>