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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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: 3163
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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9853
Site web

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: 1129

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

 

Pied de page des forums

Powered by FluxBB