#1 Thu 11 October 2012 18:25
- bernez
- Participant occasionnel
- Date d'inscription: 4 Mar 2010
- Messages: 19
POSTGIS, intersection de couches
Bonjour,
J'essaie d'intersecter 2 couches dans postgis mais j'obtiens une message d'erreur :
"ERREUR: entrée manquante de la clause FROM pour la table « matable1 »
LINE 9: ...matable2"."BVACTION_U", area2d(intersection(matable1...
^
********** Erreur **********
ERREUR: entrée manquante de la clause FROM pour la table « matable1 »
État SQL :42P01
Caractère : 360"
Je n'arrive pas à trouver le pb.
voici le sql :
Code:
- View: ma_vue -- DROP VIEW ma_vue; CREATE OR REPLACE VIEW ma_vue AS SELECT "matable1".gid,"matable1"."PACAGE", "matable1"."NUM_ILOT", "matable1"."SURF_ILOT","matable1".the_geom, "matable2".gid as gid2,"matable2"."BVACTION_U", area2d(intersection(matable1.the_geom, "matable2".the_geom)) / 10000::double precision AS i2 FROM "matable1", "matable2" WHERE intersects("matable1".the_geom, matable2.the_geom); ALTER TABLE ma_vue OWNER TO postgres;
Pouvez vous m'éclairer ?
Hors ligne
#2 Thu 11 October 2012 18:42
Re: POSTGIS, intersection de couches
Bonsoir,
vous appelez parfois "matable1" d'autre fois matable1 (sans les guillemets).
Faites le test en supprimant tous les guillemets doubles de votre requête ou en en mettant là ou ils ne sont pas (dans la fonction area2d(intersection(matable1...).
Les guillemets ont pour objectif de rendre PostgreSQL sensible à la casse sur les noms des objets.
Un exemple : si votre table s'appelle Matable1, avec un M majuscule
Alors la requête
Code:
select * from "Matable1"
fonctionnera
et la requête
Code:
select * from "matable1"
ne fonctionnera pas
Dernière modification par Mathieu BOSSAERT (Mon 15 October 2012 16:13)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#3 Fri 12 October 2012 11:05
- bernez
- Participant occasionnel
- Date d'inscription: 4 Mar 2010
- Messages: 19
Re: POSTGIS, intersection de couches
C'était bien cela le problème.
Merci beaucoup
Hors ligne
#4 Mon 15 October 2012 15:45
Re: POSTGIS, intersection de couches
Mathieu,
Si le nom de la table a une majuscule seule select * from "Matable1" fonctionnera car tes deux exemples donnent une table entièrement en majuscule
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
#5 Mon 15 October 2012 16:14
Re: POSTGIS, intersection de couches
Mathieu,
Si le nom de la table a une majuscule seule select * from "Matable1" fonctionnera car tes deux exemples donnent une table entièrement en majuscule
Y.
Merci Yves, j'ai corrigé.
Mathieu BOSSAERT
Association GeoRezo
Hors ligne