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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GeoRezo vous rend service, faites un don!

Merci à tous pour votre fidélité.

L'équipe GeoRezo

#1 mar. 05 décembre 2017 12:07

Xavier Julian
Membre
Lieu: Orange
Date d'inscription: 19 janv. 2015
Messages: 216

[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 mar. 05 décembre 2017 12:20

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2438
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 mar. 05 décembre 2017 13:10

Yves
Moderateur
Lieu: Aix-les-Bains
Date d'inscription: 22 mars 2006
Messages: 8848
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 mar. 05 décembre 2017 16:44

Xavier Julian
Membre
Lieu: Orange
Date d'inscription: 19 janv. 2015
Messages: 216

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 mar. 05 décembre 2017 17:08

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 juil. 2010
Messages: 529

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 (mar. 05 décembre 2017 17:08)

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |