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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 ven. 08 février 2019 17:18

conejo
Membre
Lieu: Lunel
Date d'inscription: 2 déc. 2005
Messages: 606

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 ven. 08 février 2019 17:43

carteq
Membre
Lieu: Côte-Nord, Québec
Date d'inscription: 8 mars 2008
Messages: 467

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 (ven. 08 février 2019 17:45)


Vincent Fréchette
Responsable de la géomatique
Boisaco inc.

Hors ligne

 

#3 dim. 10 février 2019 12:39

conejo
Membre
Lieu: Lunel
Date d'inscription: 2 déc. 2005
Messages: 606

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 lun. 11 février 2019 10:12

SANTANNA
Membre
Lieu: Angers
Date d'inscription: 18 janv. 2008
Messages: 2156

Re: QGIS: Point le plus proche

Bonjour,
Voir aussi l'extension NNjoin

Hors ligne

 

#5 lun. 11 février 2019 10:15

MathieuR
Moderateur
Lieu: aix-en-provence
Date d'inscription: 16 févr. 2009
Messages: 1532

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))

Blogueur géomatique et agent du Cerema Med

Hors ligne

 

#6 lun. 11 février 2019 10:58

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2853
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

Partagez  |