Punktattribut aus der Polygonebene mit QGIS abrufen?

9

Ich habe zwei Ebenen, eine (A) hat Punktmerkmale und die andere (B) hat Polygone.

Wie erstelle ich eine neue Tabelle mit einigen (der ID) oder allen Feldern aus der A-Tabelle und einigen (der Vorwahl) oder allen aus der B-Tabelle, in der das B-Polygon den A-Punkt enthält?

Ich benutze QGIS.

Andrea Ballarati
quelle

Antworten:

13

Es ist möglich, eine Verknüpfung vor Ort ("wo das B-Polygon den A-Punkt enthält") mithilfe von "Attribute nach Position verbinden " im Menü "Vektor" durchzuführen. Die resultierende Ebene enthält alle Attribute beider Ebenen.

Eine schnellere Alternative ist SAGA> Vektorpunktwerkzeuge> Hinzufügen von Polygonattributen zu Punkten, die über die Toolbox Verarbeitung in QGIS verfügbar sind.

Unterdunkel
quelle
0

Durch SQL

Sie benötigen Zugriff auf die Daten und Zugriff auf eine SQL-Datenbank. Sie können die Informationen über eine einfache SQL-Abfrage ableiten. Dieses Beispiel wurde für SQL Server in TSQL geschrieben.

In der Abfrage werden die IDs für Hydranten (Schicht A) und Brandbezirk (Schicht B) zusammen mit allgemeinen Bezeichnern und der jeweiligen Geometriedefinition aufgelistet. Da die Geometrie definiert ist, können Sie diese Ergebnisse in Ihre Tabelle einfügen, wenn Sie sie in eine Tabelle einfügen.

SELECT WHYDRANT.OBJECTID AS HYDID,
    WFIREDISTRICT.OBJECTID AS FDID, WHYDRANT.UNID AS UNID,
    WFIREDISTRICT.UNID AS FDUNID, WHYDRANT.SHAPE
FROM WFIREDISTRICT 
    INNER JOIN WHYDRANT ON 
        WFIREDISTRICT.SHAPE.STContains(WHYDRANT.SHAPE()) = 1
Rick Monteiro
quelle