#1 Mon 25 February 2019 15:10
- Nighthawk
- Participant actif
- Date d'inscription: 17 Sep 2014
- Messages: 129
QGIS 2.18 à QGIS 3.4: Géométries ?
Bonjour,
Petite question un peu bête concernant les géométries dans QGIS.
Pour planter le décor, je doit souvent réaliser des documents d'urbanisme répondant au standard CNIG. Ce standard interdit notamment les multipolygones dans la couche de zonage (ZONE_URBA). Jusqu'ici, sous QGIS 2.18 notamment, il n'y avait aucun problème à faire une vérification de topologie sur mes couches de surfaces, les polygones simples restant bien sagement des polygones.
Depuis peu j'expérimente la version 3.4 et là stupeur, mes couches qui étaient tout à fait propres auparavant sont désormais pleines d'erreurs...
En réalité, pour une couche de 100 entités, je me trouve avec 100 entités avec plusieurs morceaux. Un simple copier / coller dans un tableau Excel et l'on remarque que mes géométries sont toutes des MultiPolygones...
Lorsque j'ouvre la même géométrie sous QGIS 2.18 et que je refais un copier / coller, j'ai bien des Polygones...
Comment faire pour continuer à vérifier ma topologie sous QGIS 3.4 sans devoir me retrouver avec une erreur pour chaque géométrie ?
Est-ce possible de forcer le type "Polygon" dans cette version de QGIS ?
D'avance merci pour vos lumières.
Hors ligne
#2 Mon 25 February 2019 17:19
Re: QGIS 2.18 à QGIS 3.4: Géométries ?
Bonjour,
Pour forcer l'export en polygones, clic droit sur la couche > exporter les entités > type de géométrie : choisir Polygone
Pour vérifier si pas de multipolygone dans votre couche, dans calculatrice de champs, taper :
Code:
sum(num_geometries($geometry)) - count('fid')
Si vous avez une colonne 'fid', cela vous donne la différence entre le nb d'objets et le nb de lignes dans votre base
Si c'est > 0, alors ça veut dire qu'il y a un multi-objets. Pour le cibler, rajouter un champ virtuel nb_objets avec l'expression
Code:
num_geometries($geometry)
Puis voir la ligne où nb_objets > 1
geodata au cerema et petits billets en géomatique
Hors ligne
#3 Mon 25 February 2019 17:42
- Nighthawk
- Participant actif
- Date d'inscription: 17 Sep 2014
- Messages: 129
Re: QGIS 2.18 à QGIS 3.4: Géométries ?
Bonjour et merci pour votre réponse !
Hélas, mon souci reste le même : Je suis certain que ma couche n'a aucune géométrie multi-objet (j'ai vérifié à l'aide de votre astuce de vérification, bien pratique par ailleurs), mais le vérificateur de topologie considère que ma couche est peuplée exclusivement de géométries multi-objets.
Je pense que la cause de ce souci viens du champs "wkt_geom". En effet, pour une raison que j'ignore toutes mes géométries sont précédées de la mention "MultiPolygon". Même en exportant les entités en choisissant le type de géométrie Polygone, le problème reste le même et la totalité des géométries de cette nouvelle couche sont également considérées comme des géométries multi-objet (alors que je me suis bien gardé de cocher la case qui force ce type de géométrie), et le champ wkt_geom indique toujours des "MultiPolygon".
Est-ce une nouvelle "norme" dans QGIS ? Est-ce le format ESRI shapefile qui a évolué ? Le fichiers que j'ai testé ont tous été créés à partir d'une version antérieure de QGIS, est-ce que cela pourrait avoir un impact ? Est-ce tout simplement un bug qui doit prochainement être corrigé ?
En soit, cela n'est pas vraiment gênant à l'usage (tant que je trace je me fiche bien de savoir si j'ai des polygones ou des multi-polygones), mais ça devient problématique au moment de standardiser la donnée et de la vérifier pour qu'elles soit conforme aux standards...
Petit constat de ma part au passage : J'ai essayé d'utiliser l'algorithme "De morceaux multiples à morceaux uniques", et le fichier temporaire ainsi obtenu semble bien conforme. Le champ wkt_geom indique bien des "Polygon". En revanche, dès que j'enregistre la couche ou que je la converti en permanent je retrouve des géométries multi-objet.
Encore merci pour votre réponse.
Hors ligne
#4 Mon 25 February 2019 18:34
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 2.18 à QGIS 3.4: Géométries ?
Bonjour,
Effectivement depuis la v3, QGIS génère par défaut du shapefile multi-géométrie. De ce que j'ai compris des discussions, la notion de géométrie simple ou multi n'est pas spécifiée dans le format, sauf pour les entités ponctuels. Par conséquent un shapefile de type polygone ou ligne est supposé accepter des entités multiparties; et pour être cohérent avec les autres formats utilisés dans QGIS, ces deux formats sont automatiquement taxés de multipolygone ou multiligne.
J'ignore quelles sont les vérifications des outils du Géoportail mais il me semble que ce que la norme refuse, c'est une entité en plusieurs parties plutôt qu'une couche de type multipolygone (sachant que si elle était identifiée comme polygone, cela ne signifierait pas pour autant qu'il ne peut y avoir de multiparties)
Voir http://osgeo-org.1560.x6.nabble.com/QGI … l#a5392401 et https://www.esri.com/library/whitepaper … pefile.pdf
Hors ligne
#5 Mon 25 February 2019 18:54
- Nighthawk
- Participant actif
- Date d'inscription: 17 Sep 2014
- Messages: 129
Re: QGIS 2.18 à QGIS 3.4: Géométries ?
Bonjour,
Ah d'accord, ça explique le pourquoi du comment alors !
En effet, le Géoportail de l'urbanisme va plutôt vérifier les entités en plusieurs parties plutôt que les couche de type multipolygone, donc de ce point de vue là ça devrait faire l'affaire (après quelque tests, le géoportail ne bloque pas en tous cas)
Le souci c'est que jusqu'alors j'utilisais pas mal le "Vérificateur de Topologie" pour vérifier mes couches et que lui en revanche semble se baser sur la description de la géométrie pour définir si la géométrie est simple ou multi. Du coup il faudra peut être que lui soit remanié (parce que sinon il va indiquer beaucoup de géométries multi-parties !!!).
Encore merci pour vos réponses !
Hors ligne