Ho lavorato all'implementazione della sceneggiatura voronoi.py (traduzione di Bill Simon del codice di Steve Fortune). Secondo il collegamento QGIS è sostanzialmente lo stesso codice con cui sto lavorando, ma il modo di generare i poligoni che possono estendersi all'infinito differisce tra i due. Nel caso di QGIS, presumo che un rettangolo di delimitazione sia generato in una certa misura oltre le estensioni del punto del sito. Nel mio caso, generi punti falsi del sito come un cerchio che circonda i punti di interesse del sito. I punti del cerchio hanno un raggio doppio del diametro dell'estensione dei punti del sito. I risultati tra i due sono mostrati nella figura allegata, l'implementazione di QGIS a sinistra e la mia implementazione a destra. .
Come si può vedere, l'implementazione di QGIS produce strani poligoni che non hanno punti del sito (vedere il sito 473 come esempio in entrambe le implementazioni). Questo è evidentemente sbagliato, ma non sono sicuro che la mia implementazione sia corretta. Dal momento che non ho accesso a una licenza ArcInfo per ArcMap, non posso confrontare ciò che ArcMap genera in modo nativo e non riesco a vedere un modo per collegare il file di forma del punto del sito per qualcuno da testare. Quindi, se qualcuno ha qualche commento sul mio uso di un "cerchio infinito" per aiutare a forzare i poligoni del bordo rispetto a un "rettangolo infinito", lo apprezzerei. Meglio ancora, se qualcuno è interessato a testare l'output su un'altra piattaforma GIS, posso fornire lo shapefile dei punti del sito che ho usato.
Sembra che parte del problema sia che i poligoni oltre i punti del sito si sovrappongano, quindi quando simbolizzati senza riempimento, appaiono come poligoni distinti. La figura seguente mostra cosa succede quando si seleziona il poligono attorno ai siti 473 e 415. Quindi rimangono le domande originali, ma c'è una nuova ruga.
È un bug (o "incompletezza"), i risultati corretti in QGIS se viene utilizzato un buffer dello 0%. Ciò che deve ancora essere risolto è se un modello denso di "punti infinito" circolari produrrà lo stesso risultato dei "bordi infiniti" rettangolari.