#1 Sun 20 November 2022 19:53
- Mides
- Juste Inscrit !
- Date d'inscription: 20 Jul 2022
- Messages: 6
QGIS: Utilisation de fichiers GML
Bonsoir,
y a t-il ici des personnes qui ont eu l'occasion d'utiliser des fichiers GML ? Je galère un peu avec.
Bonne soirée.
Dernière modification par Mides (Sun 20 November 2022 19:55)
Hors ligne
#2 Tue 22 November 2022 11:21
- Alban Kraus
- Participant actif
- Lieu: Tulle (19)
- Date d'inscription: 13 Jan 2022
- Messages: 52
Re: QGIS: Utilisation de fichiers GML
Bonjour,
J'utilise le GML très occasionnellement. En quoi puis-je vous aider ?
Hors ligne
#3 Thu 24 November 2022 18:22
- Mides
- Juste Inscrit !
- Date d'inscription: 20 Jul 2022
- Messages: 6
Re: QGIS: Utilisation de fichiers GML
On niveau d'un enregistrement .gml on peut retrouver plusieurs géométries, ce qui jusque là est tout à fait normal. Comment peut au niveau de Qgis sélectionner une géométrie dans toutes celles présentes, comme par exemple ici : "bldg:lod0RoofEdge" qui appartient au même enregistrement que celle nommée "<bldg:lod1Solid>"
<bldg:lod0RoofEdge>
<gml:MultiSurface>
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>35.541657275471835 139.7156383865409 14.072
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod0RoofEdge>
<bldg:lod1Solid>
<gml:Solid>
<gml:exterior>
<gml:CompositeSurface>
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>35.541657275471835 139.7156383865409.......
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
Hors ligne
#4 Fri 25 November 2022 10:59
- Alban Kraus
- Participant actif
- Lieu: Tulle (19)
- Date d'inscription: 13 Jan 2022
- Messages: 52
Re: QGIS: Utilisation de fichiers GML
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.htm … ry-reading
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.
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)
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.
Hors ligne
#5 Sun 27 November 2022 10:33
- Mides
- Juste Inscrit !
- Date d'inscription: 20 Jul 2022
- Messages: 6
Re: QGIS: Utilisation de fichiers GML
Bonjour,
tout d'abord je vous remercie pour le temps accordé à me répondre.
Vos solutions proposées peuvent être très intéressantes à regarder de plus prés et les "pistes" que vous me donnez me serviront très certainement dans le futur. Malheureusement, dans mon cas de figure cela va s'avérer un peu lourd à mettre en place, je ne suis pas face à un fichier .gml mais environ 500. Je pensais qu'il existait une approche un peu plus "légère" et face à cela, au final, j'ai donc codé un petit script Python qui m'extrait les géométries suivant la balise souhaitée tout en balayant la totalité du répertoire où se trouvent les fichiers .gml. La sortie se faisant en un fichier unique GeoJson. Toujours est t-il je tiens à vous remercier une fois de plus pour l'aide.
Michel
Dernière modification par Mides (Sun 27 November 2022 10:46)
Hors ligne
#6 Sun 27 November 2022 10:43
- Mides
- Juste Inscrit !
- Date d'inscription: 20 Jul 2022
- Messages: 6
Re: QGIS: Utilisation de fichiers GML
Et si vous souhaitez voir comment se présentent ces fichiers, le lien de téléchargement est ici :
https://gic-plateau.s3.ap-northeast-1.a … 3_2_op.zip
Répertoire "/udx/bldg/"
Hors ligne