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 Fri 25 January 2019 10:29

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

QGIS: Relier un point à une route

Bonjour à tous,

Je voudrais récupérer les communes qui sont éloignées au maximum de 800m d'un centre commercial, en suivant les routes. Je sais faire la manip' pour créer la distance de 800m sur les routes à partir des centres commerciaux, mais seulement lorsque le point se situe exactement sur la route. Si le point ne touche pas la route, le processus ne s'enclenche pas.

Ma question est donc : Comment relier les points, qui ne touchent pas directement la route, au bout de route qui lui est le plus proche. 

Une fois que j'aurais réussis à obtenir la couche de distance de 800m qui part des centre commerciaux, par quel moyen pourrais-je récupérer les communes qui touchent cette couche ?


Merci à vous.

Dernière modification par preliator (Fri 25 January 2019 12:38)

Hors ligne

 

#2 Fri 25 January 2019 13:33

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Relier un point à une route

Bonjour,

Sous QGIS :
Couche > Ajouter une couche virtuelle et taper :

Code:

select m.rowid as pid, lid, 
closestpoint(l.geometry,p.geometry) as geometry

from 
(
select 
"p"."fid"  pid, 
"l"."fid"  lid, 
min(Distance("p"."geometry","l"."geometry")) as distance
from "point" p, "ligne" l
group by pid
order by pid
) as m, 

ligne l, 
point p

where m.pid=p.fid
and m.lid=l.fid
group by m.rowid;

Code adapté depuis https://gis.stackexchange.com/questions … ar-feature

Pour trouver le point le plus proche via d'autres outils, vous pouvez utiliser :
- st_closestpoint sous PostGIS
- ou v.net sous GRASS (http://www.ing.unitn.it/~grass/docs/tut … node1.html)

Puis par la suite, vous pouvez regarder du côté de l'outil "sélection par localisation"


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Fri 25 January 2019 14:57

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: QGIS: Relier un point à une route

Merci pour votre réponse, cependant l'ajout d'une couche virtuelle est nouveau pour moi. pourriez vous me décrire la démarche à suivre ?

J'ai essayé, un message d'erreur rouge m'affiche " La couche n'est pas valide: La couche ?layer=DB2::df:System&query=create%20table%20closest_point%20as%0D%0Aselect%20m.rowid%20as%20pid,%20lid,%20%0D%0Aclosestpoint(l.geometry,p.geometry)as%20geometry%0D%0Afrom%20mindist%20m,%20lin%20l,%20poi%20p%0D%0Awhere%20m.pid%3Dp.ogc_fid%0D%0Aand%20m.lid%3Dl.ogc_fid%0D%0Agroup%20by%20m.rowid; n'est pas une couche valide et ne peut pas être ajoutée à la carte "

Dernière modification par preliator (Fri 25 January 2019 14:58)

Hors ligne

 

#4 Fri 25 January 2019 15:39

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Relier un point à une route

Assurez-vous :
- de remplacer point et ligne par les noms de vos couches de points et de lignes
- d'avoir une colonne fid dans point et dans ligne, ou bien il peut s'agit d'une colonne id, pk, à savoir un identifiant unique pour chaque objet point et ligne


geodata au cerema et petits billets en géomatique

Hors ligne

 

#5 Fri 25 January 2019 15:52

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Relier un point à une route

Bonjour Mathieu, peux-tu me diriger vers la documentation pour le SQL dans le contexte de QGIS ?

Merci !

Hors ligne

 

#6 Fri 25 January 2019 16:18

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Relier un point à une route


geodata au cerema et petits billets en géomatique

Hors ligne

 

#7 Fri 25 January 2019 20:05

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: QGIS: Relier un point à une route

A ce niveau, dois-je faire importer ou ajouter ?


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

Hors ligne

 

#8 Mon 28 January 2019 10:37

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Relier un point à une route

Bonjour,

Appuyez sur "test". Si ok, alors banco
Sinon, vous avez peut-être mal tapé la requête SQL dans la fenêtre
Une fois que test ok, alors, il suffit de cliquer sur OK pour charger la couche sous nom par défaut, du coup, de virtual_layer


geodata au cerema et petits billets en géomatique

Hors ligne

 

Pied de page des forums

Powered by FluxBB