banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Wed 13 June 2012 11:41

Mehdi L31
Juste Inscrit !
Date d'inscription: 27 Apr 2012
Messages: 4

QGIS / Postgis : Violation de contrainte géométrique durant import

Bonjour,

Je cherche à importer un shape dans PostGis depuis le logiciel QGIS. Pour ce faire j'utilise l'outil dédié dans QGIS (l'éléphant bleu).
Cependant au moment de l'import, QGIS renvoie le message suivant qui semble indiquer que les polygones n'ont pas tous la même dimension.

Message :

Problème d'insertion des données du fichier:
C: /.../nom_du_fichier.shp

La de donnée a retourné l'erreur suivante lors de l'exécution de cette requête SQL :

Code:

INSERT INTO "public"."nom_du_fichier.shp"("id_area","OS","the_geom") VALUES ('1','7',st_geometryfromtext('POLYGON ((558955.11324061255 62629... (suite de la requête SQL tronquée)

L'erreur était :

Code:

ERREUR:  la nouvelle ligne viole la contrainte de vérification « nom_du_fichier.shp » de la relation « enforce_dims_the_geom »

Je précise que j'utilise une source de données composite issue de traitements successifs sur la BD TOPO, Open Street Map, l'atlas urbain européen et des polygones vectorisés à partir de classifications.
En outre je n'ai conservé que deux champs dans ma table, un champ identifiant et un champ chiffré correspondant à un type d'occupation du sol.
Enfin le shape comporte environ 100 000 polygones d'une surface minimale de 25 m².

J'ai réparé les géométries (via ArcGIS), pensant que l'erreur provenait peut être de là mais, malgré la correction de certaines erreurs dues à des auto-intersections entre polygones, QGIS me renvoie toujours le même message d'erreur.

Dans l'attente de vos éventuelles suggestions.

M.L.

Hors ligne

 

#2 Wed 13 June 2012 12:34

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9860
Site web

Re: QGIS / Postgis : Violation de contrainte géométrique durant import

Bonjour,

Bizarre quand même. Tu peux regarder si tu as des fichiers avec multipolygone et d'autre en polygone (comme dans ton exemple). M'enfin ce n'est pas la source de l'erreur.

À mon avis tu dois avoir deux jeux de données : l'une en 2D l'autre en 3D (même si les valeurs sont à 0, si elles apparaissent dans la géométrie ... Je ne sais pas si ton code mit en exemple est réellement celui que l'application t'a renvoyé mais il me semble que ta géométrie est une 3D : 558955.11324061255 62629. Le dernier est la 3eme dimension. Je suppose que cet import concerne les données de la BD TOPO (et pas celle d'OSM ou l'atlas urbain)?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Wed 13 June 2012 13:19

Sylvain_M
Membre
Lieu: Lyon
Date d'inscription: 3 Aug 2009
Messages: 298

Re: QGIS / Postgis : Violation de contrainte géométrique durant import

Comme le dis Yves, le message concernant "enforce_dims_the_geom" indique une différence de dimensions entre ce qui est attendu dans la base de données, et ce que Agis essaye d'importer ... cela veut surtout dire que le nombr de parametre passes a la colonne the_geom ne colle pas avec ce qui est attendu. donc soit c'est une erreur liee a une donnees 2d/3d, soit ca peut aussi venir d'ailleurs comme un mauvais format de marquer de decimales, une donnee manquante, ...

pour pouvoir en savoir plus, il faudrait avoir l'integralite de la chaine a importer, je ne sais pas si Qgis sait etre plus bavard pour afficher toute la requete ...
sinon dans PostGIS il y a aussi un petit outil qui permet de tranformer les fichiers shp en requetes sql a importe "a la main" dans PostgreSQL: shp2pgsql (http://postgis.refractions.net/document … #id2811268), ca peut etre pratique au moins pour du debuggage ...

Hors ligne

 

#4 Wed 13 June 2012 15:35

Mehdi L31
Juste Inscrit !
Date d'inscription: 27 Apr 2012
Messages: 4

Re: QGIS / Postgis : Violation de contrainte géométrique durant import

Merci de vos réponses,

J'ai effectué un traitement avec la fonction "morceau unique vers morceaux multiples" dans QGIS pour m'assurer de ne pas avoir de multi-polygones, le nombre de polygone est resté le même après traitement donc de ce côté là c'est bon.

Finalement j'ai trouvé la cause de mon problème, c'était tout bête, ce ne sont pas des "Z-values" qui ont été importées de la BD TOPO mais des "M-values". J'ai résolu mon problème en désactivant ces "Z-values" et "M-values" dans ArcGis lors d'un traitement quelconque (ex : "Multipart to Singlepart"). J'ai retenté d'importer la couche de données et ça a fonctionné nickel!

Maintenant j'ai donc une seconde question : Comment effectuer la même opération depuis QGIS (supprimer les Z-values et les M-values d'une couche de données)?

Cordialement

M.L.

Hors ligne

 

Pied de page des forums

Powered by FluxBB