Ticket #2330 (new bug)

Opened 4 years ago

Last modified 3 years ago

Format.GML (new parser) does not parse pointProperty etc.

Reported by: bartvde Owned by: tschaub
Priority: minor Milestone: 2.13 Release
Component: Format.GML Version: 2.8
Keywords: Cc:
State: Needs Discussion

Description

This will lead into problems when trying to read GML exported from MapInfo (they use Safe Software under the hood AFAIK).

GML fragment which will not parse currently:

    <gml:featureMember>
        <fme:Rgraf_pinnen_Point gml:id="id71813bd0-4484-4bf0-a7e9-a9d7cdd83f52">
            <fme:OBJECTID>1</fme:OBJECTID>
            <fme:ID>1</fme:ID>
            <gml:pointProperty>
                <gml:Point srsName="EPSG:28992" srsDimension="2">
                    <gml:pos>191108.056 478788.81175</gml:pos>
                </gml:Point>
            </gml:pointProperty>
        </fme:Rgraf_pinnen_Point>
    </gml:featureMember>

So we need to add readers for this which simply call readChildNodes.

Attachments

ticket2330.patch Download (16.4 KB) - added by bartvde 4 years ago.
patch including tests

Change History

Changed 4 years ago by bartvde

patch including tests

Changed 4 years ago by bartvde

  • state set to Review

Thanks for any review.

Changed 4 years ago by bartvde

Tests pass in IE8

Changed 3 years ago by tschaub

  • state changed from Review to Needs Discussion

Hey Bart. <gml:pointProperty> is not part of the  simple feature profile. I would really like to agree on a schema here. I know there are a couple places where we already slip from that, but I don't like the idea of continuing to push away from simple features. You could argue that it doesn't cost us anything to read this. The issue is that when people start expecting us to write the same. Then we'll have a million ways to write a feature with a single parser.

Changed 3 years ago by bartvde

Hey Tim, I do agree with you here. But I think we need to add a few more pointers (class documentation (currently says: "Parses GML version 3."), class naming e.g. GMLSF instead of GML), so that this is more explicit and clear. Currently the only pointer to this is the schemaLocation, which is why I had missed the GML Simple Features Profile assumption altogether :-)

Note: See TracTickets for help on using tickets.