J'ai deux couches avec des points, appelez-les A et B, chacune avec des attributs différents.
Pour chaque point de l'IA, vous voulez joindre tous les attributs du point le plus proche en B.
Idéalement, cela comprendrait également un champ mesurant la distance entre les deux points.
Je sais comment cela dans ArcGIS: cliquez avec le bouton droit sur la couche A> joint et relie> joint, puis joignez les données en fonction de l'emplacement spatial et choisissez de joindre les attributs à partir du point le plus proche.
Je n'ai pas pu trouver de fonctionnalités similaires dans QGIS. Des pointeurs?
Le plugin NNJoin devrait faire le travail. Pour chaque entité de la couche en entrée, elle ajoute tous les attributs de l'entité la plus proche dans la couche de jointure et ajoute également un attribut de distance avec la distance à cette entité.
la source
Si vous pouvez vivre en joignant simplement un seul attribut de votre couche "B", jetez un œil à l'outil "Hub Distance" du plugin mmqgis .
Si vous avez besoin du reste des attributs "B", vous devriez alors être en mesure de joindre le reste de vos attributs "B" à cette couche.
Vous pouvez également éventuellement générer des lignes de A à B si vous le souhaitez. Cela est utile pour visualiser les distances et les directions entre les entités associées.
la source
Une autre approche utilisant le plugin refFunctions .
(1) Exemple de jeu de données
(2) Ouvrez une table attributaire de la couche qui a plus de fonctionnalités (
points_b
couche dans cet exemple) afin qu'aucune paire ne soit manquée. Créez de nouveaux champs.geomnearest('points_a', 'id_a')
geomnearest('points_a', '$distance')
la source
Utilisation de QGIS 1.7 Vector> Gestion des données> Join Attributes by Location
la source