Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#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

cbredel
Participant actif
Lieu: Agape Lorraine Nord
Date d'inscription: 20 Feb 2006
Messages: 99
Site web

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

cbredel
Participant actif
Lieu: Agape Lorraine Nord
Date d'inscription: 20 Feb 2006
Messages: 99
Site web

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

 

Pied de page des forums

Powered by FluxBB