Polígonos Voronoi que se agotan hasta el infinito?

18

He estado trabajando en la implementación del script voronoi.py (la traducción de Bill Simon del código de Steve Fortune). Según el enlace QGIS , es básicamente el mismo código con el que estoy trabajando, pero la forma de generar los polígonos que pueden extenderse hasta el infinito difiere entre los dos. En el caso de QGIS, supongo que se genera algún rectángulo delimitador en cierta medida más allá de la extensión del punto del sitio. En mi caso, genero puntos de sitio falsos como un círculo que rodea los puntos de interés del sitio. Los puntos circulares tienen un radio dos veces el diámetro de la extensión de los puntos del sitio. Los resultados entre los dos se muestran en la figura adjunta, la implementación de QGIS a la izquierda y mi implementación a la derecha. Ejemplos de voronoi.

Como se puede ver, la implementación de QGIS produce polígonos extraños que no tienen puntos de sitio (vea el sitio 473 como ejemplo en ambas implementaciones). Esto es obviamente incorrecto, pero tampoco estoy seguro de si mi implementación es correcta. Como no tengo acceso a una licencia de ArcInfo para ArcMap, no puedo compararlo con lo que ArcMap genera de forma nativa y no puedo ver una forma de adjuntar el archivo de forma del punto del sitio para que alguien lo pruebe. Entonces, si alguien tiene algún comentario sobre mi uso de un "círculo infinito" para ayudar a forzar polígonos de borde frente a un "rectángulo infinito", lo agradecería. Mejor aún, si alguien está interesado en probar el resultado en alguna otra plataforma SIG, puedo proporcionar el archivo de forma de los puntos del sitio que utilicé.


Parece que parte del problema es que los polígonos más allá de los puntos del sitio se superponen, por lo que cuando se simbolizan sin relleno, aparecen como polígonos distintos. La siguiente figura muestra lo que sucede cuando se selecciona el polígono sobre el sitio 473 y 415. Entonces las preguntas originales permanecen, pero hay una nueva arruga.


Es un error (o un "estado incompleto"), los resultados correctos en QGIS si se utiliza un búfer del 0%. Lo que aún debe resolverse es si un patrón denso de "puntos infinitos" circulares producirá el mismo resultado que los "bordes infinitos" rectangulares.

ingrese la descripción de la imagen aquí

PolyGeo
fuente
Me encantaría probar sus datos de puntos. Mis pruebas no muestran tal comportamiento.
oscuro
Tengo un archivo zip listo para usar, contácteme por correo electrónico a [email protected] y puedo enviárselo. Creo que agregué un búfer del 10% al ejecutar el voronoi en QGIS.
Tal vez podría reformular cuál es su pregunta actual (después de la Actualización 2).
oscuro
Buen trabajo. Espero que comparta su código con la comunidad de alguna manera.
Michalis Avraam
vea el enlace a continuación en la Respuesta, tuve que actualizar desde que ESRI eliminó los hilos originales

Respuestas:

10

Pude confirmar que mi implementación al menos se compara con ArcGIS (pero requiere una licencia de ArcInfo). La implementación de QGIS tiene un error si se usa una distancia de búfer. Para aquellos que usan ArcGIS con una licencia ArcView, el conjunto de herramientas para Voronoi y / o Delaunay se puede encontrar como las Herramientas de Triangulación .

PolyGeo
fuente
Hubo varios errores en el código QGIS Voronoi. Se han aplicado muchas correcciones en QGIS 3.2.2. Sería interesante saber si eso ha ayudado.
Håvard Tveite