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

Rencontres QGIS 2025

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

#1 Wed 03 November 2021 11:04

Hippo
Participant actif
Date d'inscription: 18 Jan 2015
Messages: 57

QGIS: ZT dont le diametre depend de la proximite des autres points

Bonjour,

J'ai une couche avec plusieurs entités ponctuelles (3600) auxquelles j'essaie d'appliquer des zones tampons dont le diamètre serait généré automatiquement en fonction de la proximité des autres ponctuels environnants.

L'idée serait d'avoir des zones tampons qui s'étendraient continuellement jusqu'à rencontrer la zone tampon d'une autre entité.
Pensez vous que ce soit possible ?

Hors ligne

 

#2 Wed 03 November 2021 11:56

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: QGIS: ZT dont le diametre depend de la proximite des autres points

Je pense qu'il faut procéder en 2 temps :

1] calcul en table attributaire de la distance de l'entité la plus proche, pour chaque entité.
cf. les outils de "matrice de distance" : https://docs.qgis.org/3.4/fr/docs/user_ … nce-matrix

2] calcul des ZT en fonction de ce champ (Vecteur -> Outils de géotraitement ->distance tampon variable)


Sylvain M.

Hors ligne

 

#3 Wed 03 November 2021 12:26

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3939

Re: QGIS: ZT dont le diametre depend de la proximite des autres points

Bonjour,

Sylvain M. a écrit:

cf. les outils de "matrice de distance" : https://docs.qgis.org/3.4/fr/docs/user_ … nce-matrix


Sylvain, c'est le moteur de recherche qui renvoie de la doc 3.4 (lequel et quels termes utilisés) ou le lien était dans les favoris/l'historique?

2] calcul des ZT en fonction de ce champ (Vecteur -> Outils de géotraitement ->distance tampon variable)


Peut-être avec la moitié de ce champ calculé plutôt, si Hippo veut que les zones tampons se touchent juste. Par contre, cela veut dire qu'hormis un contexte de grille régulière, les entités seraient réunies deux à deux. Peut-être pas ce que veut Hippo.
Hippo, quelle est la finalité de l'opération au juste?

Hors ligne

 

#4 Wed 03 November 2021 12:43

Hippo
Participant actif
Date d'inscription: 18 Jan 2015
Messages: 57

Re: QGIS: ZT dont le diametre depend de la proximite des autres points

Tout d'abord merci pour vos réponses.
La finalité est de définir l'aire d'influence de points de vente en partant du postulat que les aires d'influence ne doivent pas se recouper et que chaque aire d'influence aura pour limite l'aire d'influence d'un autre point. La grille ne sera pas régulière étant donné que les distances entre les différents points sont différentes.

Merci pour l'idée Sylvain, je vais essayer tout ça !

Hors ligne

 

#5 Wed 03 November 2021 17:33

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 143

Re: QGIS: ZT dont le diametre depend de la proximite des autres points

Bonjour,

Je me suis penché sur ce sujet que je trouve super intéressant, et j'ai trouvé un moyen (avec Qgis natif, un plugin et aucun script ni SQL) de découper un polygone par une couche de points, les lignes de découpe étant équidistantes aux points proches. Voici ma démarche :

disposer au préalable d'une couche de points (appelée par la suite 'couche_points_ini') et d'une couche de polygone(s) ('couche_polygone_ini')

1- "Matrice des distances" de 'couche_points_ini' vers elle-même (la couche doit avoir un ID unique) => le résultat est une couche multipoints composées des noeuds de départ et d'arrivée pour chaque distance
2- "De morceaux multiples à morceaux uniques" avec le résultat précédent, puis donner un ID unique à chaque point
3- "Points vers lignes" (champ de tri sans importance, champ de regroupement : id_unique précédent)
4- "Supprimer les géométries dupliquées" car le traitement précédent va relier chaque points aux autres dans un sens et dans l'autre
5- "Centroïdes" des lignes précédentes
6- installer le plugin "Water Network Tools" et utiliser le traitement "Split lines at points" avec les centroïdes pour les points et les lignes nettoyées de ses doublons pour les lignes
7- sélectionner et supprimer un demi-chemin sur deux (par exemple ceux qui partent d'un noeud initial) :
    aggregate(
    'id_de_la_couche_points_ini',
    'count',
    "champ_quelconque",
    intersects(buffer($geometry,0.01),start_point(geometry(@parent)))
    )>0

7- "Transect" (500m, les deux côtés) : ce traitement crée des perpendiculaires aux extrémités des lignes
8- sélectionner et supprimer les transect qui intersectent pile (avec un buffer de 0.01 pour que l'intersection fonctionne) les points de couche_points_ini :
    aggregate(
    'id_de_la_couche_points_ini',
    'count',
    "champ_quelconque",
    intersects($geometry,buffer(geometry(@parent),0.01))
    )
    >0

7- "Couper avec des lignes" : découper 'couche_polygone_ini' avec les lignes transect restantes
8- sélectionner et supprimer les polygones découpés ayant une aire < 0.1 ou nulle :
     $area is null or $area<0.1
9- "Accrocher les géométries à la couche" : de la couche résultat précédente vers elle-même, tolérance : 0.1m
10- créer un ID unique pour chaque polygone
11- "Distance au plus proche centre (points)" avec en couche source la couche de polygones obtenue précédemment et en destination 'couche_points_ini' (attribut nom de la couche des centres l'id unique créé précédemment)
12- "Joindre les attributs par valeur de champ" : en entrée la couche de polygones et en entrée 2 la couche de centres créée précédemment. Indiquer l'id unique pour les deux et choisir uniquement l'atttribut "HubName" à ajouter à la couche source
13- "Regrouper" en utilisant le champ "HubName" comme champ de regroupement
14- "Géométrie d'emprise minimale" :  choisir "HubName" comme champ de regroupement et enveloppe convexe comme type de géométrie. ça permet de supprimer les artéfacts liés au regroupement de plein de petits polygones

Résultat : voir le fichier png en PJ wink

Dernière modification par aheurion (Thu 04 November 2021 08:47)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#6 Thu 18 November 2021 14:46

Hippo
Participant actif
Date d'inscription: 18 Jan 2015
Messages: 57

Re: QGIS: ZT dont le diametre depend de la proximite des autres points

Super !! Merci aheurion pour ce travail !!

Hors ligne

 

Pied de page des forums

Powered by FluxBB