Ich habe eine Reihe von Punkten, die ich in ein Polygon ändern möchte.
Ich habe versucht, konkaven Rumpf, aber nicht das beabsichtigte Polygon zu bekommen, wie Sie unten sehen können,
Und wenn ich Denaulay Triangulation verwende, muss ich die äußeren Dreiecke löschen.
Gibt es eine effiziente Möglichkeit, dasselbe zu tun?
Ich habe auch Convex Rumpf versucht.
qgis
qgis-processing
polyline-creation
Stephen Jacob
quelle
quelle
Antworten:
Ich gehe davon aus, dass Sie wissen, welche Punkte zu "links" oder "rechts" gehören, da es sonst viele Lösungen gibt. In diesem Fall können Sie die Delaunay-Triangulation verwenden, gefolgt von einer Auswahl der "zentralen" Dreiecke. Bei dieser Methode müssen die Punkte nicht in einer bestimmten Reihenfolge vorliegen. Alles, was Sie berücksichtigen müssen, ist die Tatsache, dass die Dreiecke, die Sie benötigen, mindestens einen Punkt von jeder Seite berühren müssen.
quelle
Ich habe das gleiche Ergebnis wie @radouxju.
Operationen:
Behalten Sie den Auswahlpunkt bei und wählen Sie die Delaunay-Dreiecke aus, die diese ausgewählten Punkte schneiden [räumliches Abfrage-Tool]
Invertieren Sie die Punktauswahl oder wählen Sie die Punkte aus, die die andere Polylinie schneiden [Auswahl durch Ausdruck] oder [Auswahl umkehren].
Entfernen Sie aus der aktuellen Auswahl die Delaunay-Dreiecke, die nicht mit den anderen Punkten verbunden sind [räumliches Abfrage-Tool]
WICHTIG : Sie MÜSSEN die Polylinien haben, um dieses Ergebnis zu erhalten!
quelle
Wenn Sie Erfahrung mit Python haben, können Sie die Shapely-Bibliothek verwenden und aus den Punkten in den beiden Linien ein Polygon erstellen. Sie müssen Python mitteilen, wie die Start- und Endpunkte beider Linien lauten.
Noch besser: Sie können dazu auch Geopandas verwenden. Mit Geopandas können Sie problemlos in mehreren Formaten speichern, einschließlich Shapefiles
Sie können die Liniengeometrien mit der Funktion geopandas gpd.read_file () lesen.
Reihenfolge der Polygonscheitelpunkte im Allgemeinen GIS: im oder gegen den Uhrzeigersinn
https://nbviewer.jupyter.org/gist/rutgerhofste/b01c17aa6851ea577f10c21a4c3717bc
quelle