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

Printemps des cartes 2024

#1 Mon 14 January 2019 11:54

benoit111
Participant actif
Date d'inscription: 20 Jan 2008
Messages: 102

Requête sur ce qui est en dehors d'un géométrie

bonjour,

je cherche à obtenir ce qui intersecte un polygone mais aussi ce qui est complémentent en dehors du polygone..

Pour cette dernière partie , j'ai simplement utilisé " not st_intersects". est ce judicieux? ou existe il d'autres méthodes? merci d'avance

edit :

ok,  autant pour moi >>>>ST_Disjoint

Dernière modification par Bruno (Wed 16 January 2019 08:49)

Hors ligne

 

#2 Mon 14 January 2019 12:24

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: Requête sur ce qui est en dehors d'un géométrie

Bonjour,

Non, pas judicieux.
St_disjoint n'utilise pas les index, utilisable sur un petit dataset donc.

La forme la plus générale est de rechercher les objets qui intersectent, puis de prendre tous les autres wink
Ca ne marche pas en faisant not st_intersects.

Une écriture qui utilise les index, avec l'opérateur EXISTS (not exists ici)

Code:

select t.id 
from matable t 
where not exists (
    select null 
    from autretable t2 
    where st_intersects(t.geom, t2.geom)
)

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB