Berechnung des Mindestabstands zwischen Punkten und Polygonen in QGIS?

9

Ich habe zwei Vektorebenen: einen Punkt und ein Polygon und ich möchte den Mindestabstand jedes Punkts von den Polygonen berechnen (dh den Abstand vom nächsten Punkt des nächsten Polygons).

Gibt es dafür ein verfügbares Plugin in QGIS?

Sylvia
quelle
1
Du meinst Polygonscheitelpunkte, den Schwerpunkt oder etwas anderes?
Lynxlynxlynx
Diese Aufgabe würde besser von Postgis erledigt.
Pablo
Ich meine die Entfernung von den Grenzen des Polygons (eigentlich ist es die Entfernung der beobachteten Seevögel im Meer von der Küste, die ich berechnen möchte)
Sylvia
Pablo, leider weiß ich nicht, wie man PostGIS benutzt und ich kann keinen Code schreiben ...
Sylvia

Antworten:

9

Das Konvertieren Ihres Polygons in Punkte ist eine schlechte Idee. Sie berechnen nicht den Abstand zu Ihrem Polygon, sondern den Abstand zum nächsten Knoten Ihrer Polygone (nicht zu den Kanten, die möglicherweise näher liegen). Sie können das NNJoin-Plugin verwenden , um genaue Messungen für Ihr Polygon zu erhalten. Stellen Sie sicher, dass sich Ihre Ebenen in derselben Projektion befinden, bevor Sie eine Analyse durchführen.

Gistutor
quelle
1
Das QGIS NNJoin Plugin kümmert sich um die Koordinatensystemtransformation. Sie sollten jedoch sicherstellen, dass Sie ein projiziertes Koordinatensystem für den Verknüpfungsdatensatz verwenden (der Eingabedatensatz wird in das Koordinatensystem des Verknüpfungsdatensatzes transformiert, wenn sich die Koordinatensysteme unterscheiden).
Håvard Tveite
6

Wenn Sie QGIS verwenden möchten, sollte die Funktion GRASS v.distance im GRASS-Plugin die Aufgabe übernehmen. Das NNJoin- Plugin sollte für kleine Datensätze funktionieren und ist weniger umständlich zu verwenden.

Das NNJoin- Plugin verwendet die Funktion QgsGeometry.distance () (die GEOSdistance verwendet), um die Entfernungen zu berechnen.

Håvard Tveite
quelle
3

Konvertieren Sie zuerst das Polygon in Punkte:

Vektor -> Geometrie-Werkzeuge -> Knoten extrahieren

Fügen Sie diese neue Ebene hinzu und berechnen Sie dann eine Abstandsmatrix zwischen Ihrer Punktebene und der neuen Polygonpunktebene, die Sie gerade erstellt haben

Vektor -> Analysewerkzeuge -> Distanzmatrix

Stellen Sie sicher, dass Sie "Nur die nächsten (k) Zielpunkte verwenden" als 1 auswählen

Brendan Nee
quelle
Dies ist eine gute Antwort auf die ursprüngliche Frage, aber die Frage wurde seitdem in einem Kommentar geändert. Knoten extrahieren und Entfernungsmatrix finden möglicherweise nicht die nächstgelegene Stelle an der Grenze (die nächstgelegene Stelle befindet sich möglicherweise zwischen den Punkten der Grenzpolylinie). GRASS v.distance oder das NNJoin Plugin wird.
Håvard Tveite
2

Versuchen Sie Hub Distance im MMQGIS-Plugin.

http://michaelminn.com/linux/mmqgis/


Verweise:

Willy
quelle
2
Die Hubentfernung hat den Job erledigt, aber für die Aufzeichnung habe ich zuerst das Polygon in eine Punktebene konvertiert und die minimalen Punkt-zu-Punkt-Entfernungen berechnet. Mit den Polygonen berechnete es den Mindestabstand von den Zentroiden oder der Mitte der Küstengrenze
Sylvia