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é ?

#1 Fri 04 April 2014 10:06

LuSimeon
Juste Inscrit !
Date d'inscription: 1 Apr 2014
Messages: 9

QGIS : Plugin SPIT - Erreur import shapefile Multipolygon

Bonjour,

Après de nombreuses recherches, je n'ai pas réussi à régler mon problème et pourtant c'est apparemment une erreur fréquente qui vient de PostGIS :

J'essaye via le plugin SPIT de QGIS d'importer des shapefiles dans ma base de donnée se trouvant sur PostGIS, quand ces shapefiles sont de types Polygon cela fonctionne très bien mais quand ceux-ci sont de types Multipolygon, une erreur s'affiche et le fichier n'est pas ajouter à la base de donnée.

L'erreur en question :

ERREUR:  Geometry type (Polygon) does not match column type (MultiPolygon)


Je suis débutant sur QGIS/PostGIS, et j'ai donc du mal à comprendre les réponses des autres sujets qui en parlent.
Pouvez-vous expliquer avec des mots simples s'il vous plait.

PS : J'ai déja essayé de changer le type de géométrie du shapefile via la colonne Classe de donnée de SPIT mais cela ne fonctionne pas.

Merci d'avance.

Hors ligne

 

#2 Fri 04 April 2014 11:48

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3929

Re: QGIS : Plugin SPIT - Erreur import shapefile Multipolygon

Bonjour,
mes premières tentatives d'import via SPIT ayant échoué, je me suis depuis rabattu sur d'autres outils notamment, pour rester dans des solutions interfacées:
- dans PGAdmin, menu Plugins > Postgis shapefile and DBF Loader évoqué icipar exemple
- non utilisé, mais dans QGIS, menu Base de Données, DBManager offre la possibilité d'importer des shapefiles dans PostGIS. Il me semble avoir, il y a un moment, vu des discussions qui laissaient penser que DBManager était destiné à unifier/remplacer tous les outils orientés QGIS<--> PostGIS et donc, intégrerait les fonctionnalités de SPIT. Essayez donc aussi DBManager.

Au delà de ce problème, lors de la création de nouvelles données dans une table postgis, cette erreur peut revenir souvent, du fait que la géométrie de la table est définie en polygon ou multipolygon et que ce que l'on veut y mettre n'est pas forcément ça. Pour contourner ça, dans PGAdmin, j'ai décidé, pour le champ géométrique de mes tables postgis de n'utiliser que le type geometry, c'est-à-dire qu'au lieu, par ex, de

Code:

geom geometry ('MULTIPOLYGON',2154)

qui est très souvent généré par l'utilitaire "shapefile loader" de pagAdmin, je remplace la définition de ma table avec

Code:

alter matable 
alter column geom type geometry,
add  CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = ANY (ARRAY['MULTIPOLYGON'::text, 'POLYGON'::text])), --pour n'y accepter que polygone et multipolygone
add  CONSTRAINT enforce_srid CHECK (st_srid(geom) = 2154) -- pour rester en L93

Par contre, il semble que mélanger polygon et multipolygon ne permette pas non plus d'utiliser de façon sereine certaines fonctions de PostGIS mais ça, c'est une autre histoire...

Hors ligne

 

#3 Fri 04 April 2014 14:07

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 257
Site web

Re: QGIS : Plugin SPIT - Erreur import shapefile Multipolygon

Bonjour
SPIT est considéré comme abandonné par les développeurs, puisque DBmanager permet de charger une base postgis ou spatialite par simple glisser - déposer entre le browser et db manager. Cette fonctionnalité est très pratique, mais sous documentée..
Régis

Hors ligne

 

#4 Fri 04 April 2014 15:06

LuSimeon
Juste Inscrit !
Date d'inscription: 1 Apr 2014
Messages: 9

Re: QGIS : Plugin SPIT - Erreur import shapefile Multipolygon

Effectivement cela fonctionne beaucoup mieux avec les bons outils.

DBManager fait très bien ce que je souhaite, je vais donc l'utiliser dorénavant.

Merci pour vos explications et conseils.

Je garde de coté le morceau de code du champ géométrique, si jamais une erreur se présente.

Merci encore, bonne journée.

Hors ligne

 

Pied de page des forums

Powered by FluxBB