Punktmengen in Polygongrenzen konvertieren?

27

Ich versuche Punktmengen in ihre jeweiligen Polygongrenzen umzuwandeln. Ich denke, das ist so etwas wie ein Voronoi-Diagramm oder eine konvexe Hülle, aber nicht ganz. Ich bin mir sicher, dass es einen Fachbegriff dafür gibt, aber ich bin ein Anfänger in GIS.

Es ist wahrscheinlich am besten mit dem folgenden Bild dargestellt:

Bildbeschreibung hier eingeben

Welche vier Polygone umgeben bei 4 Punktmengen (jede in ihrer eigenen Farbe) die jeweiligen Punktmengen, sodass der Abstand zwischen den Polygonen die Ränder maximiert und alle Polygone zusammenpassen?

Hier ist ein vereinfachtes Beispiel mit 3 Punkten:

  • A, 43,656943, -79,393928, blau
  • B, 43,66663, -79,402682, grün
  • C, 43.656447, -79.408004, grün

Sie müssen die folgende Grafik anzeigen, damit dies sinnvoll ist: Bildbeschreibung hier eingeben

Im Wesentlichen hat jeder Punkt eine Farbe, und Sie erweitern einen Puffer mit einem bestimmten Abstand, um zu beginnen.

Der schwierige Teil ist, wenn es eine Kollision mit anderen Punkten (deren Grenzen) gibt und wo diese Grenze berechnet werden soll. Das Ergebnis ist eine Menge von Polygonen (eines für jede Farbe / Menge).

DFx
quelle
1
Können Sie einige Beispieldaten posten? Auf diese Weise konnten wir Lösungen testen :)
RK
Ich habe oben ein Beispiel hinzugefügt. Ich hoffe das hilft.
DFx
Mögliches Duplikat von Thiessen-Polygonen in QGIS
blah238
1
Okay, ich denke, was ich tun muss, ist, alle Punkte aller Farben zu nehmen und Voronoi auf ihnen auszuführen. Anschließend fügen Sie die resultierenden Polygone mit den gleichen Farben zusammen. Am Ende sollte ich meinen Satz Polygone haben (eines für jede Farbe). Ich bin mir nicht sicher, wie ich das in QGIS genau machen soll ...
DFx
2
Was genau meinen Sie mit "Abstand maximiert die Ränder"? Die Antwort darauf bestimmt die Lösung.
Whuber

Antworten:

24

Aus deiner Punktebene

Bildbeschreibung hier eingeben

Sie können Voronoi-Plogyonen erstellen

Bildbeschreibung hier eingeben

Was dazu führen würde

Bildbeschreibung hier eingeben

Erstellen Sie dann eine Maske aus dem Delauney-Triangulationsprozess

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Und dann schneide die Voronoi-Polygon-Ebene damit ab.

Bildbeschreibung hier eingeben

Wäre das gut genug?

Sie können auch versuchen, Ihre Delauney-Triangulationsmaske mit einem Puffer Ihrer Punktebene zu kombinieren

Bildbeschreibung hier eingeben

und verwenden Sie das, um stattdessen Ihre Voronoi-Polygone zu schneiden

Bildbeschreibung hier eingeben

RK
quelle
5
Sie können auch einfach DISSOLVE (über das Menü Vektor-> Geoverarbeitung) für Ihre Delauney- oder Voronoi-Polygone ausführen, um die zusammengeführten Polygone zu erhalten, die Sie darstellen möchten.
RyanDalton
+1 - schlagen Sie mich drauf ein ... nettes Nachdenken über den zusammengeführten Puffer, und mit dem Auflösungsvorschlag von @ RyanDalton sollte dies die ursprüngliche Frage beantworten!
Simbamangu
21

Voronoi-Polygone mit einer Überblendung geben Ihnen den ersten Teil. Beginnend mit Ihren Punkten sollte jeder Satz eine eigene eindeutige Kennung haben (in diesem Beispiel 'col'). Drei Spaltenwerte mit einer Reihe von Punkten: Bildbeschreibung hier eingeben

Vektor | Geometriewerkzeuge | Voronoi-Polygone mit einem Puffer von 20% geben Ihnen die 'Grenze zwischen Punkten': Bildbeschreibung hier eingeben

Wenn Sie 'col' als Überblendungsvariable mit den Werkzeugen | Geoverarbeitung | Überblendung verwenden, erhalten Sie zusammengeführte Polygone um jede Punktmenge: Bildbeschreibung hier eingeben

Vektor | Geoverarbeitungswerkzeuge | Konvexe Hüllen können Ihnen eine konvexe Grenze um Ihre Punkte geben, mit der Sie die aufgelösten Grenzen abschneiden können: Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Ab Ihrem ersten Beispiel müssten Sie jedoch mit einer konkaven Hülle (plus etwas Pufferabstand?) Schneiden. Konkaver Rumpf ist eine Funktion, die ich nicht finden konnte. PostGIS hat die Funktion .

Simbamangu
quelle
Super - danke, das ist eine großartige Antwort. Ich gebe es nur RK wegen der ausführlicheren Anweisungen, aber ich weiß es wirklich zu schätzen!
DFx
@DFx - keine Sorge, wäre gespannt, mit welcher Methode Sie am Ende fertig sind (vielleicht bearbeiten Sie Ihre ursprüngliche Frage irgendwann mit der vollständigen Lösung).
Simbamangu
@ Simbamangu Ich kann Ihre Antwort verstehen, aber ich habe einen kleinen Zweifel. Wenn ich versuche, die Polygone basierend auf der Farbe zu konvertieren, wird sie konvertiert, aber nur als ein einziges Farbpolygon. Was ist der Fehler dabei?
Arun
Arun - Sie haben sich wahrscheinlich dafür entschieden, sich nur über die Geometrie aufzulösen, nicht über ein bestimmtes Feld. Oder Sie haben die resultierende Ebene einfach nicht formatiert. (Ich weiß, dass die Frage 2+ Jahre alt ist, aber vielleicht haben es auch andere)
til_b