Message posté par : Alban Kraus
----------------------------------------
Bonjour,
À ma connaissance, QGIS ne permet pas de sélectionner le champ de géométrie à utiliser.
Par contre, il devrait être possible de configurer OGR (le programme que QGIS utilise pour
lire les fichiers vecteurs) de sorte qu'il n'expose à QGIS qu'un seul champ de
géométrie : ainsi, QGIS sera forcé de le prendre.
Lisons ensemble la documentation (en anglais) :
https://gdal.org/drivers/vector/gml.html#geometry-reading
-----------------
Citation :
When reading a feature, the driver will by default only take into account the last
recognized GML geometry found (in case they are multiples) in the XML subtree describing
the feature.
But, if the .xsd schema is understood by the XSD parser and declares several geometry
fields, or the .gfs file declares several geometry fields, multiple geometry fields will
be reported by the GML driver [...].
-----------------
Solution 1 (testée) : (archivez ailleurs, puis) supprimez les fichiers .xsd et .gfs
accompagnant votre fichier GML : OGR exposera le dernier champ géométrique.
-----------------
Citation :
In case of multiple geometry occurrences, if a geometry is in a <geometry> element,
this will be the one selected.
-----------------
Solution 2 (non testée) : modifiez votre GML de sorte que la géométrie qui vous intéresse
s'appelle <geometry> (ou sans doute bldg:geometry)
-----------------
Citation :
The user can change the .gfs file to select the appropriate geometry by specifying its
path with the <GeometryElementPath> element. See the description of the .gfs syntax
below.
-----------------
Solution 3 (non testée) : en lisant la documentation plus bas dans la page, rédigez un
fichier .gfs où vous indiquerez le chemin de la géométrie à exposer.
Au cours de mes tests, je remarque qu'en l'absence du .xsd, OGR génère de lui-même
un fichier .gfs, ce qui permet de simplifier un peu la tâche :
Solution 3bis : (archivez ailleurs, puis) supprimez les fichiers .xsd et .gfs accompagnant
votre fichier GML. Chargez le GML dans QGIS (ou dans ogrinfo), puis retirez la couche. À
l'aide d'un éditeur de texte (bloc-notes) et de la documentation, adaptez le .gfs,
en rajoutant notamment un <GeometryElementPath> et la description du champ
géométrique correspondant.
Je veux bien vous aider à rédiger le .gfs, mais il faudra que vous postiez un extrait du
GML où l'on voit un gml:featureMember complet.
Espérant avoir été utile.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=356563#p356563
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net