Suavizado de bordes de zona con Refinado de límites

La función Refinado de límites se utiliza para generalizar a lo largo de los bordes de las zonas de un ráster. Los bordes se suavizan al expandir y reducir los límites entre las zonas.

Generalizar bordes

La función Refinado de límites generaliza o simplifica rásteres al suavizar los límites entre zonas. Aplica un método de expansión y contracción para evaluar cada celda utilizando sus vecinos inmediatos. Hay varias opciones disponibles para controlar cómo influyen las celdas de las zonas en el suavizado. También se puede controlar el grado de suavizado.

Ordenar por prioridad

El proceso comienza al ordenar las zonas en el ráster de entrada por una prioridad en particular. Para cada celda de la entrada, se utiliza la prioridad para determinar qué valor de zona de la vecindad circundante puede reemplazar el valor de la celda de procesamiento.

La prioridad de ordenación puede basarse en los valores o en el tamaño de las zonas. El parámetro Tipo de ordenación especifica la prioridad de ordenamiento que se debe utilizar. Con la configuración predeterminada No ordenar, las celdas de zonas con valores más grandes tendrán mayor prioridad para expandirse en zonas con valores más pequeños. Con la configuración Descendente, las zonas con áreas más grandes tendrán prioridad para expandirse en zonas con áreas más pequeñas. Con la configuración Ascendente, las zonas con áreas más pequeñas tendrán prioridad para expandirse en zonas con áreas más grandes.

Cantidad de suavizado

La cantidad de suavizado se controla con el número de veces que se realiza el proceso de expansión y contracción: una o dos veces. El valor predeterminado es dos veces, lo que da como resultado una mayor cantidad de suavizado.

Proceso de expansión y contracción

El proceso de expansión y contracción evalúa los vecinos inmediatos de cada celda de procesamiento según el tipo de prioridad de ordenación establecido en el parámetro Tipo de ordenación.

En el proceso, una expansión va seguida de una contracción. Este proceso ocurrirá una vez si el parámetro Ejecutar expansión y contracción dos veces no está activado. Si el parámetro está activado, el proceso de expansión y contracción se realizará dos veces.

A continuación, se indican los detalles adicionales de los algoritmos utilizados en el proceso.

Expansión y contracción unidireccionales

Con la configuración unidireccional, el proceso de expansión y contracción se realiza una vez.

En el paso de la expansión, ocurre lo siguiente:

  • Para cada celda de procesamiento en el ráster de entrada, evalúe cada celda vecina.
  • Para cada celda vecina, evalúe si el valor de prioridad de esa celda vecina es menor que el valor de prioridad de la celda de procesamiento. Si es así, asigne la prioridad de vecina interna para que sea la de la celda de procesamiento de entrada. Actualice el ráster expandido interno con el nuevo valor de prioridad y continúe con la siguiente celda vecina.

En el paso de la contracción, ocurre lo siguiente:

  • Para cada celda de procesamiento en el ráster de entrada, evalúe cada celda vecina con el valor del ráster expandido interno que se crea en la primera pasada.
  • Si la prioridad de una celda vecina es igual a la prioridad de la celda de procesamiento, copie el valor de celda del ráster de entrada original en la salida. Si no se cumple la condición en ninguna de las celdas vecinas, copie el valor de celda del ráster expandido en la salida.

Expansión y contracción bidireccionales

Si el parámetro Ejecutar expansión y contracción dos veces está activado (el parámetro number_of_runs está establecido en TWO_WAY en Python), se realiza un segundo proceso de expansión y contracción, pero esta vez se invertirán las prioridades. La salida de la primera pasada de la operación se utiliza como entrada para la segunda pasada.

En el primer paso de la expansión, se utiliza la misma lógica que se utilizó en el paso de expansión unidireccional.

En el primer paso de la contracción, se utiliza la misma lógica que se utilizó en el paso de contracción unidireccional.

En la segunda pasada de la expansión, ocurre lo siguiente:

  • Para cada celda de procesamiento en el ráster interno generado desde el primer proceso de expansión y contracción, evalúe cada celda vecina.
  • Para cada celda vecina, evalúe si el valor de prioridad de esa celda vecina es mayor que el valor de prioridad de la celda de procesamiento. Si es así, asigne la prioridad de vecina interna para que sea la de la celda de procesamiento de entrada. Actualice el ráster expandido interno con el nuevo valor de prioridad y continúe con la siguiente celda vecina.

En la segunda pasada de la contracción, ocurre lo siguiente:

  • Para cada celda de procesamiento en el ráster interno expandido desde el paso anterior, evalúe cada celda vecina.
  • Para cada celda vecina, si el valor de prioridad de la celda vecina es menor o mayor que el valor de la celda de procesamiento en el ráster expandido, copie el valor de la celda de procesamiento del ráster original en la salida.
  • Si el valor de prioridad de la celda vecina es igual al valor de celda de procesamiento en el ráster expandido, copie el valor de la celda de procesamiento desde el ráster expandido en la salida.

Manejo de NoData

Las celdas de entrada de NoData tienen la prioridad más baja cuando el proceso de expansión y contracción se ejecuta una vez o en la segunda pasada si el proceso de expansión y contracción se ejecuta dos veces. En la segunda pasada de la ordenación bidireccional, las celdas de NoData tienen la prioridad más alta.

Ejemplo

Para mostrar los efectos de varios parámetros en la salida, considere el siguiente ráster de entrada.

Ejemplo de ráster de entrada para Refinado de límites

Se muestra el ráster de entrada de ejemplo para Refinado de límites. Las celdas de NoData son grises.

Se mostrarán las salidas de todas las configuraciones del parámetro Tipo de ordenación, tanto para la configuración del parámetro Ejecutar expansión y contracción dos veces (desactivado o activado).

Cuando el parámetro Tipo de ordenación es No ordenar, los rásteres de salida son los siguientes:

Ejemplo de salida para la configuración No ordenar y Unidireccional (desactivada)
Unidireccional (desactivada)
Ejemplo de salida para la configuración No ordenar y Bidireccional (activada)
Bidireccional (activada)

Cuando el parámetro Tipo de ordenación es Descendente, los rásteres de salida son los siguientes:

Ejemplo de salida para la configuración Descendente y Unidireccional (desactivada)
Unidireccional (desactivada)
Ejemplo de salida para la configuración Descendente y Bidireccional (activada)
Bidireccional (activada)

Cuando el parámetro Tipo de ordenación es Ascendente, los rásteres de salida son los siguientes:

Ejemplo de salida para la configuración Ascendente y Unidireccional (desactivada)
Unidireccional (desactivada)
Ejemplo de salida para la configuración Ascendente y Bidireccional (activada)
Bidireccional (activada)

En este tema
  1. Generalizar bordes