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 08 February 2019 17:18

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1615

QGIS: Point le plus proche

Bonjour,

Je dois spécifier pour chaque adresse pour mon intercommunalité, le point d'apport volontaire le plus proche.
Comment y parvenir?

Hors ligne

 

#2 Fri 08 February 2019 17:43

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

Re: QGIS: Point le plus proche

En SQL, via le DB Manager, ça devrait ressembler à

Code:

Select A.ID, min(St_distance(A.geometry, B.geometry)) as Dist from  intercomm as A, pt_app_vol as B GROUP BY A.ID

Vous pouvez remplacer ID par le champ qui contient l'identifiant ou le nom de l'intercommunauté

Dernière modification par carteq (Fri 08 February 2019 17:45)

Hors ligne

 

#3 Sun 10 February 2019 12:39

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1615

Re: QGIS: Point le plus proche

je suis novice avec DB Manager. Il est bien installé mais je ne sais comment le faire fonctionner...

Hors ligne

 

#4 Mon 11 February 2019 10:12

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

Re: QGIS: Point le plus proche

Bonjour,
Voir aussi l'extension NNjoin

Hors ligne

 

#5 Mon 11 February 2019 10:15

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

Re: QGIS: Point le plus proche

Bonjour,

La solution de carteq peut être reportée dans les couches virtuelles : Couche > Ajouter une couche virtuelle.

Autrement, voici une solution qgis sans SQL, à utiliser dans le calculateur d'expression

Suppose d'avoir une couche pav avec champ libelle

Expression à insérer au niveau de la couche point (et pas pav)

Code:

with_variable('mindistance', 
aggregate('pav', 'min', distance($geometry, geometry(@parent))), 
aggregate('pav', 'concatenate',"libelle", 
filter:=distance($geometry, geometry(@parent)) = @mindistance))

geodata au cerema et petits billets en géomatique

Hors ligne

 

#6 Mon 11 February 2019 10:58

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3168
Site web

Re: QGIS: Point le plus proche

Bonjour,

La solution SQL est différente de celle proposée plus haut :

Il faut utiliser la notion de plus proche voisin, ou KNN (K nearest neighbor). Voir ici :
https://postgis.net/docs/geometry_distance_knn.html


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

Pied de page des forums

Powered by FluxBB