Pages: 1
- Sujet précédent - [PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire - Sujet suivant
#1 Tue 05 December 2017 12:07
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
[PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire
Bonjour à tous,
Je sollicite votre aide pour construire une requête d'intersection imbriquée avec une sélection attributaire.
Je travaille avec la BD Carthage de l'IGN dans PostGIS.
Je souhaite créer une vue reprenant tous les affluents du Rhône. Voilà ma méthode :
1) Faire une requête attributaire pour sélectionner le Rhône (via son gid)
2) Imbriquer une requête spatiale d’intersection entre cette même couche et la sélection précédente
Voilà ma requête, qui ne me renvoit pas de résultat :
Code:
CREATE view public.affluents_rhone AS SELECT st_intersects (c.geom, rhone.geom) as the_geom, toponyme, classe FROM public.cours_d_eau as c,( SELECT geom FROM public.cours_d_eau as c WHERE c.gid='73546') as rhone ;
Merci par avance pour votre aide !
X.
Hors ligne
#2 Tue 05 December 2017 12:20
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3197
- Site web
Re: [PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire
Bonjour
st_intersects (c.geom, rhone.geom) as the_geom
st_intersects() : BOOLEAN pas GEOMETRY
La fonction précitée renvoie vrai ou faux pas une géométrie !
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#3 Tue 05 December 2017 13:10
Re: [PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire
Comme indiqué par Christophe, il faut utiliser st_intersection
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
#4 Tue 05 December 2017 16:44
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
Re: [PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire
Merci Yves et ChristopheV,
Effectivement ça marche mieux avec la bonne fonction ^^
La requête fonctionne, par contre je n'arrive pas à l'afficher dans QGIS.
J'ai le message suivant quand je me connecte à la base : balayage de la colonne public.affluents_rhone.the_geom et un état d'avancement bloqué à 0%.
J'arrive pourtant à me connecter normalement à mes autres bdd : une idée ?
Hors ligne
#5 Tue 05 December 2017 17:08
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: [PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire
Oui,
si vous calculez l'intersection du Rhône avec tout les autres cours d'eau,
et que vous avez dans votre table les cours d'eau du monde entier,
ça risque de piquer au niveau temps d'exécution de la requête.
Un petit test d'intersection dans la clause WHERE de votre requête principale
, avec une création d'index spatial si nécessaire.
Code:
CREATE view public.affluents_rhone AS SELECT st_intersects (c.geom, rhone.geom) as the_geom, toponyme, classe FROM public.cours_d_eau as c,( SELECT geom FROM public.cours_d_eau as c WHERE c.gid='73546') as rhone WHERE st_intersects(rhone.geom, c.geom);
Dernière modification par tumasgiu (Tue 05 December 2017 17:08)
Hors ligne
Pages: 1
- Sujet précédent - [PostGIS] Aide requête INTERSECTS imbriquée avec SELECT attributaire - Sujet suivant