Ich habe eine Ebene mit polygonalen Merkmalen. Jedes Feature hat Attribute und Werte. Ich habe auch eine Liste von Koordinaten und möchte wissen, in welchem Merkmal (oder Polygon) die Koordinaten liegen.
Könnte mich bitte jemand anleiten, wie ich das anstellen soll? Gibt es eine Funktion in der API, die mir helfen kann, mein Ziel zu erreichen, oder sollte ich einen Algorithmus für die rechnerische Geometrie verwenden, um dies selbst zu tun? Ich weiß, wie man Letzteres macht, aber es würde mir einige Zeit sparen, wenn es bereits eine eingebaute Funktion gäbe.
Vielen Dank.
Zunächst müssen Sie die Koordinatenliste in Ihr Projekt importieren. In diesem Tutorial wird gut erklärt, wie das geht: http : //qgis.spatial Thoughts.com/2012/01/importing-spreadsheets-or-csv-files-to.html
Wenn Ihr Projekt beide Ebenen (Polygone und Punkte) enthält, gehen Sie zu Vektor> Datenverwaltungstools> Attribute nach Standort verknüpfen
Sie erhalten ein Fenster, in dem Sie definieren können, welche Ebenen Sie kombinieren möchten:
OK klicken'. Das neue Shapefile wird erstellt und Sie werden gefragt, ob Sie die neue Ebene zum Inhaltsverzeichnis hinzufügen möchten. Klicken Sie erneut auf OK.
Öffnen Sie die Attribut-Tabelle des neu hinzugefügten Shapefiles, und Sie werden sehen, dass alle Features des entsprechenden Polygons zu dem Punkt hinzugefügt werden, der in diesem Polygon liegt.
quelle
Eine einfachere Möglichkeit, dies mit PyQGIS zu tun. Ich dachte mir, dass Sie ein
QgsRectangle
Objekt mit einem einzelnen Punkt konstruieren und damitQgsFeatureRequest
Features aus der Ebene filtern können, die es schneidet.quelle
In QuantumGIS können Sie die Liste der Koordinaten mit der Funktion 'Begrenzte Textebene hinzufügen' hinzufügen (wenn es sich um eine CSV-Datei handelt). Fügen Sie auch die Polygone hinzu. Dann können Sie einen 'Schnittpunkt' oder 'Punkte im Polygon' erstellen.
quelle