Mein Problem ist das folgende: Ich habe eine Linie shp (Zielebene) und eine Punkt-shp (Verbindungsebene). Die zweite (Punktebene) enthält ein Attribut, das ich mit einer Linienebene verbinden möchte, basierend auf dem nächsten Abstand zur Linie. Punkte und Linien schneiden sich nicht
Ich kann dies mit ArcGIS und räumlichem Join tun (Übereinstimmungsoption: am nächsten), aber ich weiß nicht, wie ich dies in QGIS erreichen kann.
qgis
attribute-joins
attribute-table
Miha Požauko
quelle
quelle
Antworten:
Ich glaube nicht, dass es dafür eine 'Kern'-QGIS-Funktion gibt. Installieren Sie jedoch das MMQGIS-Plugin und verwenden Sie das Tool "Hub-Abstand". Wählen Sie Ihre Punkte als Ebene "Quellpunkte" und Ihre Linien als Ebene "Ziel-Hubs" und setzen Sie "Ausgabeformtyp" auf "Linie zu Hub". Dadurch erhalten Sie ein Shapefile von Linien (mit Länge), die die nächstgelegenen Features verbinden. Praktischerweise wird der Attributtabelle auch die ID des nächstgelegenen Features hinzugefügt.
Bearbeiten / Kommentieren: Dieser Ansatz funktioniert gut, wenn weniger Punkte als Linien vorhanden sind oder wenn eine Eins-zu-Eins-Situation von Linie zu Punkt vorliegt. Mehr Punkte als Linien zu haben, erschwert die Sache. Das Tool "Hub-Abstand" fügt der Punktattributtabelle die ID des Linien-Features als "HubName" sowie den Abstand zwischen dem Punkt und dem Mittelpunkt der Linie als "HubDist" hinzu. Wenn es mehr Punkte als Linien gibt, ist zusätzliche Arbeit erforderlich, um innerhalb jeder Teilmenge von Punkten (diese mehreren Datensätze, die mit jedem Linienknoten verknüpft sind) zu bestimmen, welcher dieser Punkte jeder Linie am nächsten liegt und / oder welcher mit der gewünschten Menge von Attribute, die mit der Linie verbunden werden sollen.
quelle
Hierfür kann die Funktion GRASS v.distance verwendet werden. In QGIS können Sie über das GRASS-Plugin auf die Funktion zugreifen (die Verarbeitungsversion funktioniert derzeit nicht). Das NNJoin QGIS-Plugin ist möglicherweise eine einfachere Alternative.
quelle
Das NNJoin Plugin hat mich nie im Stich gelassen und funktioniert gut mit großen Datenmengen .
Plugins> Installieren: NNJoin> NNJoin> Eingabeebene auswählen und Ebene verbinden> Klicken Sie dann auf Verbinden.
Untersuchen Sie die Ergebnisse der neuen Ausgabeebene mit der Attributtabelle. Warnung: Stellen Sie sicher, dass beide Ebenen dieselbe räumliche Projektion verwenden, da sonst die Ergebnisse leer sind.
quelle
Im Jahr 2019 ist dies möglicherweise mit dem QGIS 3 Zanzibar-Tool 'Attribute nach nächstem verbinden' möglich. Mit diesem Tool können Sie das nächstgelegene Feature finden und ausgewählte Attribute verbinden. Es ist auch möglich, einen Eins-zu-Viele-Join durchzuführen, wenn Sie die maximale Entfernung und die maximale Anzahl der nächsten Nachbarn angeben.
quelle