¿Encontrar el radio máximo del círculo que cabe dentro de un polígono irregular?

9

Tengo un problema que creo que podría manejarse utilizando la herramienta Geometría zonal en la caja de herramientas ArcGIS Spatial Analyst. Sin embargo, no tengo una licencia para Spatial Analyst, por lo que estoy buscando una alternativa; posiblemente usando QGIS.

¿Cómo encuentro el radio máximo de un círculo que cabe dentro de un polígono irregular?

Tenga en cuenta que el polígono podría ser un casco convexo o cóncavo (como se muestra a continuación) y la solución debe abordar ambos.


Probé solución de José , pero por desgracia, el resultado no es lo que estaba buscando.

Primero, tengo polígonos muy irregulares como este:

mi polígono

Si sigo la descripción de Joseph, el resultado se ve así:

resultado

Este es seguramente el resultado que sigue a esa solución, pero no es la respuesta de mi pregunta.

Es importante para mí responder a la pregunta de qué tan grande puede ser el radio de un círculo para que el círculo aún esté completamente dentro del polígono, independientemente de dónde esté el centro del círculo.

Por ejemplo, hay mucho más espacio en el norte del polígono, por lo que se puede colocar un círculo mucho más grande que en el sur del polígono. Pero, ¿qué tan grande puede ser este círculo?

cristiano
fuente
1
Bienvenido a GIS: SE! ¿Estás buscando algo como las estadísticas zonales ?
Joseph
2
Tal vez soy un poco ciego, pero no puedo encontrar una respuesta ya existente a mi pregunta. El enlace en la parte superior de esta página "cómo calcular estadísticas ráster para polígonos", en mi opinión, no se ajusta a mi pregunta. Entonces, ¿algunas ideas más tal vez?
Cristiano

Respuestas:

6

Si desea conocer el radio mínimo para un círculo dentro de un polígono como lo mencionó (y no usar rásteres, que es lo que probablemente pueda hacer con las estadísticas zonales ), requerirá algunos pasos:

  • Tome su capa de polígono (se muestra en un ejemplo muy simple) y use Vector > Herramientas de geometría > Centroides de polígono . Usaremos esta salida de "punto central" para esto más adelante.

Polígono simple

  • A continuación, use la función SAGA Convertir polígonos en líneas desde la Caja de herramientas de procesamiento
  • Tome la capa de línea de salida y use Convertir líneas a puntos , nuevamente desde SAGA (disminuya la distancia de puntos para generar más puntos, esto puede ayudarlo a obtener un resultado más preciso al final).

Polígono analizado

  • Ahora podemos usar la función Distancia al centro más cercano desde la Caja de herramientas. Seleccione la capa que convirtió de líneas a puntos como una capa de puntos de origen ; y seleccione la capa Punto central como la Capa de Hubs de Destinos . Una vez que ejecute esto, debería recibir una capa de salida que contiene las distancias desde cada punto perimetral hasta el punto central:

Distancia hacia y desde puntos

Atributos de distancia

La distancia mínima debe ser el radio mínimo de su círculo dentro de ese polígono. Podemos probar esto creando un búfer ( Vector > Herramientas de geoprocesamiento > Búfer ) en la capa de punto central y copiando / pegando la distancia mínima de la tabla de atributos en la opción Distancia de búfer :

Buffer

José
fuente
2
¡Muy bien hecho!
WhiteboxDev
2
Encontré esto mientras investigaba una pregunta reciente que buscaba básicamente hacer lo mismo. Si bien al principio pensé que podría resolver su problema, al leer sus pasos parece haber una falla importante en la que el proceso solo funcionará para polígonos que son cascos convexos y no cascos cóncavos. Esto se demuestra en la aparente edición de preguntas. El centroide de tal forma no necesariamente caerá dentro de él, e incluso si lo hiciera, puede ver que un círculo más grande se ajustará en cualquier extremo que el centro (donde estaría la distancia mínima del centro) de la forma de ejemplo.
Chris W
@ChrisW - Gracias amigo por mencionar eso y tienes razón, esta publicación no responde la pregunta por completo. ¡Esperemos que haya un método para abordar los cascos convexos y cóncavos o al menos uno en preparación!
Joseph
2
Si aún no los ha visto, parece que ET Geowizards tiene una herramienta solo para esto y otro usuario escribió un script que lo hará. Se pueden encontrar en la pregunta vinculada gis.stackexchange.com/questions/147790
Chris W
@ChrisW - ¡Impresionante, no he visto esa publicación tantas gracias por mencionarla!
Joseph
3

Un poco tarde, pero estaba tratando de encontrar lo mismo, así que lo encontré, ahora en QGIS 3x, (no sé si las versiones anteriores pueden manejarlo) en la herramienta de proceso, hay una herramienta que en español se llama polo de inaccesibilidad "polo de inaccesibilidad".

ingrese la descripción de la imagen aquí

Úselo para crear una capa de puntos que se colocan a la mayor distancia dentro del polígono. Esta distancia máxima se ha agregado como un atributo ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Luego, solo use la herramienta de búfer para dibujar círculos usando esta distancia sobre la capa de puntos y obtendrá el círculo más grande dentro de un polígono

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Jona Beat
fuente
2
  1. Encuentra círculos de puntos centrales
  2. Conectar puntos centrales
  3. Encuentra el punto medio entre círculos conectados
  4. Construir hipérboles, utilizando centros como puntos de enfoque y puntos medios como punto en hipérbole
  5. Encontrar puntos de intersección de hiperboles
  6. Conecte la hipérbole de intersección con el círculo del punto central
  7. Encuentra la intersección en el círculo perimetral.
  8. Construir círculo.

ingrese la descripción de la imagen aquí

Fedde Países Bajos
fuente