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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 03 September 2018 21:02

tdeleye
Participant occasionnel
Date d'inscription: 3 Sep 2018
Messages: 16

QGIS: Intersection ligne-polygone avec tolérance

Mon problème est le suivant, j'ai une couche qui représente des parcelles (polygone) et une couche qui représente le passage de la FO (ligne).

Je recherche la liste des parcelles traversées par la fibre. Juste là c'est relativement simple : fonction d'intersection.

Cela dit, le tracé de la fibre n'étant pas parfait, je voudrais exclure les parcelles pour lesquelles la fibre ne fait que toucher le contour du polygone ou ne rentre pas plus d'1m dans le polygone.

Une solution ?

Hors ligne

 

#2 Tue 04 September 2018 09:37

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: QGIS: Intersection ligne-polygone avec tolérance

Bonjour,
Une astuce possible est d'appliquer un tampon négatif (-1m) sur vos parcelles, puis d'utiliser la fonction intersection entre le tracé de votre fibre et celui des tampons.
Nicolas.


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#3 Wed 05 September 2018 10:40

tdeleye
Participant occasionnel
Date d'inscription: 3 Sep 2018
Messages: 16

Re: QGIS: Intersection ligne-polygone avec tolérance

nicoboud a écrit:

Bonjour,
Une astuce possible est d'appliquer un tampon négatif (-1m) sur vos parcelles, puis d'utiliser la fonction intersection entre le tracé de votre fibre et celui des tampons.
Nicolas.


Solution simple et efficace. Merci.

Sur un autre forum, on m'a conseillé d'utiliser le gestionnaire de données et de lancer la requête suivante, qui n'a malheureusement par fonctionné, j'arrive avec le même résultat sans la tolérance ??

SELECT a.<id>,
       group_concat(b.<id>) AS its_lines,
       a.geometry
FROM <polygon_layer> AS a
JOIN <line_layer> AS b
  ON ST_Relate(ST_Buffer(a.geometry, -1), b.geometry, 'T********')
GROUP BY a.id;

Hors ligne

 

Pied de page des forums

Powered by FluxBB