Vous n'êtes pas identifié(e).

#1 19/12/2012 22:00:15

lea
Membre

comparaison spatiale de 2 tables et insertion de données

Bonjour à tous,

J’ai 2 tables a et b (des polygones dans les 2)… je voudrais  faire une comparaison spatiale des 2 tables et si les polygones sont identiques (st_hausdorffdistance=0), ne rien faire, s’ils ne sont pas identiques injecter les polygones de la table b dans la table a avec les attributs(les 2 tables ont exactement les mêmes champs et dans le même ordre) …
J'ai fait ces 2 requêtes ci-dessous mais elles ne fonctionnent pas (pourtant si je lance insert seul il fonctionne):

select a.champs1, a. champs2, a.champs3 ,a.the_geom,a. champs4,
case when st_intersects(a.the_geom, b.the_geom) is false
then INSERT into a SELECT * from b
else null
end as "case"
from schema.table1 as a, schema.table2 as b;

ou

select a.champs1, a. champs2, a.champs3 ,a.the_geom,a. champs4,
case when st_hausdorffdistance(a.the_geom, b.the_geom) >0
then INSERT into a SELECT * from b
else null
end as "case"
from schema.table1 as a, schema.table2 as b;

Sauriez-vous m'aider,

merci,
lea

Hors ligne

Pied de page des forums