> It don't work - no features at all - with GML3 and other default > options. But, when I set FORMAT = GML3, TARGET_NAMESPACE = > http://www.opengis.net/gml, and PREFIX = ogr (to avoid a namespace > collision) then it works. >
Note that if you throw this in a reader that validates against the schema, it will error out because the generated .xsd will have targetNamespace="http://www.opengis.net/gml" which will conflict with the OGC GML schemas... So this is definitely a hack and I would not recommend distributing widely such datasets. > I don't understand why the default is to put FeatureCollection etc into > 'http://ogr.maptools.org/'? Excellent question. Short answer: GML is a mess Long answer: gml:FeatureCollection didn't exist in GML 2.1.2. There was only an abstract _FeatureCollection element of type gml:AbstractFeatureCollectionType, so you had to subclass it. Then GML 3.1 brought a new gml:FeatureCollection element. Which GML 3.2.1 immediately deprecated ! (it is now in http://schemas.opengis.net/gml/3.2.1/deprecatedTypes.xsd ), probably for some pedantic reasons. When the GML driver was upgraded for GML 3.1, it tried to follow the recommandations of the OGC 06-049r1 "Geography Markup Language (GML) simple features profile" (for GML 3.1.1) and OGC 10-100r3 "Geography Markup Language (GML) simple features profile (with Corrigendum)" (for GML 3.2), that both mention """This FeatureCollectionNameType does NOT extend gml:AbstractFeatureCollectionType because that type has been deprecated in GML 3.2.""" So basically they ask to define in your own namespace an element that is a substitution group of gml:AbstractFeature (for GML 3.2) or gml:_GML (for GML 3.1.1) I guess OpenLayers doesn't try to read & understand the .xsd that comes with the .gml, and even if it does, it can actually be challenging to understand that the type that is defined is actually a feature collection (apart from having FeatureCollection in its name). ~~~~~ Anyway, I've just committed a new dataset creation option, GML_FEATURE_COLLECTION=YES/NO, that applies only for GML >= 3, and will use gml:FeatureCollection and gml:featureMember, whatever they are deprecated or not... Even -- Spatialys - Geospatial professional services http://www.spatialys.com
_______________________________________________ gdal-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/gdal-dev
