> 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

Reply via email to