J'ai une couche avec des entités polygonales. Chaque entité a des attributs et des valeurs. J'ai également une liste de coordonnées et je voudrais savoir dans quelle entité (ou polygone) se trouvent les coordonnées.
Quelqu'un pourrait-il me guider sur la façon de procéder? Existe-t-il une fonction dans l'API qui peut m'aider à atteindre mon objectif ou dois-je utiliser un algorithme de géométrie informatique pour le faire moi-même? Je sais comment faire ce dernier mais cela me ferait gagner du temps s'il y avait déjà une fonction intégrée.
Merci.
Vous devez tout d'abord importer la liste des coordonnées dans votre projet. Ce didacticiel explique bien comment procéder: http://qgis.spatialoughtts.com/2012/01/importing-spreadsheets-or-csv-files-to.html
Lorsque vous avez les deux couches (polygones et points) dans votre projet, accédez à vecteur> outils de gestion des données> joindre les attributs par emplacement
Vous obtenez une fenêtre où vous pouvez définir les couches que vous souhaitez combiner:
Cliquez sur OK'. Le nouveau fichier de formes est créé et il vous sera demandé "Voulez-vous ajouter la nouvelle couche à la table des matières?" Cliquez à nouveau sur OK.
Ouvrez la table attributaire du nouveau fichier de formes ajouté et vous verrez que toutes les entités du polygone correspondant sont ajoutées au point qui se trouve dans ce polygone.
la source
Une façon plus simple de le faire en utilisant PyQGIS. J'ai pensé que vous pouvez construire un
QgsRectangle
objet avec un seul point et l'utiliser avecQgsFeatureRequest
pour filtrer les entités du calque qui l'intersectent.la source
Dans QuantumGIS, vous pouvez ajouter la liste des coordonnées avec la fonction 'ajouter une couche de texte délimitée' (s'il s'agit d'un fichier csv). Ajoutez également les polygones. Ensuite, vous pouvez faire une «intersection» ou des «points dans un polygone».
la source