Pages: 1
- Sujet précédent - [POSTGIS] : insertion de données dans une table impossible - Sujet suivant
#1 Tue 21 June 2016 11:35
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
[POSTGIS] : insertion de données dans une table impossible
Bonjour,
Je vous explique mon problème. J'ai créé une table spatiale vide (Multipolygone) dans laquelle, je compte insérer le résultat d'une vue.
La création de la table = ok
Création de la vue = Ok
Le problème est d'insérer la vue dans la table, et là j'ai un message me disant qu'il ne peut pas intégrer des Polygones dans une Multipolygone. Sauf que lorsque j’interroge ma vue c'est bien du multipolygone??
J'ai également essayé de créer une table via ma vue en mode direct, mais j'ai un problème, car il me dit que je n'ai pas d'entrée dans la table geometry_column.
Comment faire, si quelqu'un a une idée?
D'avance merci
Ted
Hors ligne
#2 Tue 21 June 2016 12:06
Re: [POSTGIS] : insertion de données dans une table impossible
Bonjour,
Par rapport à ton erreur d'insertion de polygones dans une table en multipolygone, tu peux essayer de convertir tes polygones en multi dans ta vue. Cela ce fait avec la fonction st_multi(geom).
Vis à vis de ton erreur de création de table et d'absence d'entrée, je ne vois pas .. Est-ce que tu pourrais transmettre ta requête et le message d'erreur ?
Christophe
Hors ligne
#3 Tue 21 June 2016 12:31
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: [POSTGIS] : insertion de données dans une table impossible
Bonjour et merci de prendre de ton temps.
Première requête :
create or replace View
depare_Test_1 as select distinct T.id_triangle, T.id_ss_triangle, D.drval1,D.Id as id,
st_multi(st_intersection(D.geom, T.geometry)) as geom
From "DEPARE_7100_Polygon_simple" D inner join "7100_SOUS_TRIANGLE_sansZ" T on st_intersects(D.geom, T.geometry);
Seconde requête :
insert into depare_test (id_triangle,id_ss_triangle,drval1,id_0,geom) select id_triangle, id_ss_triangle, drval1, id, geom from depare_Test_1;
Message d'erreur
Geoemtry Type (GeometryCollection) does not match column type (MultiPolygon)
D'avance merci
Ted
Hors ligne
#4 Tue 21 June 2016 14:10
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: [POSTGIS] : insertion de données dans une table impossible
Bonjour.
Essayes : st_multi(st_intersection(D.geom, T.geometry))::geometry(MultiPolygon,num_srid)
JP
Hors ligne
#5 Tue 21 June 2016 14:24
Re: [POSTGIS] : insertion de données dans une table impossible
A priori, je dirais que dans tes données tu as des géometries complexes ( les geometryCollection) du coup, les traitements ne sont pas aussi simples.
Elles sont soit dans tes tables de bases soit c'est dans le résultat de ton intersection (où le résultat de l'intersection pourrait être par exemple un polygone et une ligne).
Pour vérifier, fait une requête de type
select st_geometrytype(geom) from ta_table group by st_geometrytype(geom)
et regarde si tu des collections de géométries.
Dans ce cas, il faudra surement que tu traites les types de géométrie dont tu as besoin via la fonction st_collectionExtract (http://postgis.net/docs/ST_CollectionExtract.html) ou alors exploser tes géométries via un st_dump.
Hors ligne
#6 Tue 21 June 2016 16:42
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: [POSTGIS] : insertion de données dans une table impossible
Merci à vous
Hors ligne
Pages: 1
- Sujet précédent - [POSTGIS] : insertion de données dans une table impossible - Sujet suivant