[Gdal-dev] GML writing issue
Mateusz Loskot
mateusz at loskot.net
Fri May 19 11:26:08 EDT 2006
Frank Warmerdam wrote:
> Bart van den Eijnden (OSGIS) wrote:
>
>> Hi list,
>>
>> when trying to use a Mapserver 4.8.3 generated GML file in OGR, we are
>> running into a few issues. Mapserver uses ms as the namespace prefix in
>> the GML. OGR raises a few warnings, but if I look into the resulting GML
>> file all attribute information is lost in fact.
>>
>> H:\appl\FWTools1.0.0a7\bin>ogr2ogr -f "GML" test.gml
>> D:\temp\gdelivery\mapserv.gml
>> Warning 1: Layer name 'ms:AAA132' adjusted to 'ms_AAA132' for XML
>> validity.
>> Warning 1: Field name 'ms:TDN_CODE' adjusted to 'ms_TDN_CODE' to be a
>> valid
>> XML element name.
>> Warning 1: Field name 'ms:OMSCHRIJVI' adjusted to 'ms_OMSCHRIJVI' to be a
>> valid
>> XML element name.
>> Warning 1: Field name 'ms:Area' adjusted to 'ms_Area' to be a valid
>> XML element name.
>> Warning 1: Field name 'ms:Perimeter' adjusted to 'ms_Perimeter' to be
>> a valid
>> XML element name.
>
>
> Bart,
>
> Could you file a bug on this issue providing a sample input file that
> demonstrates the problem?
>
>> A second issue, the boundingbox is screwed up in the process. Mapserver
>> GML has:
>> <gml:boundedBy>
>> <gml:Box srsName="EPSG:28992">
>> <gml:coordinates>192519.015625,320687.375000
>> 194164.359375,322355.968750</gml:coordinates>
>> </gml:Box>
>> </gml:boundedBy>
>>
>> The output from OGR is:
>> <gml:boundedBy>
>> <gml:Box>
>> <gml:coord><gml:X>0</gml:X><gml:Y>0</gml:Y></gml:coord>
>>
>> <gml:coord><gml:X>194164.359375</gml:X><gml:Y>322355.96875</gml:Y></gml:coord>
>>
>> </gml:Box>
>> </gml:boundedBy>
>>
>> which gives trouble viewing the GML in e.g. Gaia.
>
>
> Are you suggesting that the OGR GML box output is actually invalid
> GML? Any particular reason you think that, other than some apps not
> reading it?
IMO this output if valid GML 2.
According to schema in geometry.xsdv2.06 gmlBox can correctly encode
coordinates in one of following
style: gml:coord or gml:coordinates what <choice> XSD selector suggests:
<sequence>
<choice>
<element ref="gml:coord" minOccurs="2" maxOccurs="2"/>
<element ref="gml:coordinates"/>
</choice>
</sequence>
> Some of these things have changed a bit between GML 2 and
> GML 3. Perhaps I'm outputing GML 3 boxes?
No, I don't think this output is GML 3.
AFIK, in GML 3, gml:Box has been replaced with gml:boundingBox.
gml:boundingBox is of type of Envelope which also allows to use
gml:coord or gml:coordinates as subelements.
gml:Box is deprecated and used only for backward compatibility and as
such, it's defined as gml:Envelope type:
"NOTE To provide backward compatibility with GML version 2, an
additional element gml:Box is provided, with an identical content model
and substitutable for gml:Envelope. This component is deprecated and
should not be used in new applications."
Cheers
--
Mateusz Łoskot
http://mateusz.loskot.net
More information about the Gdal-dev
mailing list