Ich habe an der Implementierung des Skripts voronoi.py gearbeitet (Bill Simons Übersetzung von Steve Fortunes Code). Laut dem QGIS-Link ist es im Grunde derselbe Code, mit dem ich arbeite, aber die Art und Weise, wie die Polygone erzeugt werden, die sich bis ins Unendliche erstrecken können, unterscheidet sich zwischen den beiden. Im QGIS-Fall gehe ich davon aus, dass ein begrenzendes Rechteck zu einem gewissen Grad außerhalb der Ausdehnung der Standortpunkte generiert wird. In meinem Fall generiere ich falsche Standortpunkte als Kreis, der die interessierenden Standortpunkte umgibt. Die Kreispunkte haben einen Radius, der doppelt so groß ist wie die Ausdehnung der Standortpunkte. Die Ergebnisse zwischen den beiden sind in der beigefügten Abbildung dargestellt. Die QGIS-Implementierung befindet sich links und meine Implementierung rechts. .
Wie man sieht, erzeugt die QGIS-Implementierung seltsame Polygone, die keine Standortpunkte haben (siehe Standort 473 als Beispiel in beiden Implementierungen). Das ist offensichtlich falsch, aber ich bin mir auch nicht sicher, ob meine Implementierung korrekt ist. Da ich keinen Zugriff auf eine ArcInfo-Lizenz für ArcMap habe, kann ich nicht vergleichen, was ArcMap nativ generiert, und ich kann keine Möglichkeit finden, das Site-Point-Shapefile an eine Testperson anzuhängen. Wenn also jemand einen Kommentar zu meiner Verwendung eines "Unendlichkeitskreises" hat, um Kantenpolygone gegen ein "Unendlichkeitsrechteck" zu erzwingen, wäre ich dankbar. Besser noch, wenn jemand daran interessiert ist, die Ausgabe auf einer anderen GIS-Plattform zu testen, kann ich das Shapefile der von mir verwendeten Standortpunkte bereitstellen.
Es scheint ein Teil des Problems zu sein, dass sich die Polygone jenseits der Standortpunkte überlappen. Wenn sie also ohne Füllung symbolisiert werden, erscheinen sie als unterschiedliche Polygone. Die folgende Abbildung zeigt, was passiert, wenn das Polygon zu den Standorten 473 und 415 ausgewählt wird. So bleiben die ursprünglichen Fragen, aber es gibt eine neue Falte.
Es ist ein Fehler (oder eine "Unvollständigkeit"), der in QGIS zu korrekten Ergebnissen führt, wenn ein Puffer von 0% verwendet wird. Was noch geklärt werden muss, ist, ob ein dichtes Muster kreisförmiger "Unendlichkeitspunkte" das gleiche Ergebnis liefert wie rechteckige "Unendlichkeitskanten".
quelle
Antworten:
Ich konnte bestätigen, dass meine Implementierung mindestens mit ArcGIS vergleichbar ist (erfordert jedoch eine ArcInfo-Lizenz). Die QGIS-Implementierung ist fehlerhaft, wenn ein Pufferabstand verwendet wird. Für Benutzer von ArcGIS mit einer ArcView-Lizenz finden Sie das Toolset für Voronoi und / oder Delaunay als Triangulationstools .
quelle