Alisar bordes de zona con Refinado de límites y Filtro mayoritario

Disponible con una licencia de Spatial Analyst.

Las herramientas Refinado de límites y Filtro mayoritario se utilizan 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 o al reemplazar las celdas por el valor mayoritario dentro de su vecindad inmediata.

Refinado de límites

La herramienta 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 se realizará una vez si el parámetro Ejecutar expansión y contracción dos veces está desactivado (el parámetro number_of_runs está establecido en ONE_WAY en Python). Si el parámetro está activado (el parámetro number_of_runs está establecido en TWO_WAY en Python), 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)

Filtro mayoritario

La herramienta Filtro mayoritario reemplaza las celdas según el valor mayoritario de sus vecindades contiguas. La herramienta tiene dos criterios que satisfacer antes de que se pueda producir un reemplazo. Primero, el número de celdas vecinas con el mismo valor debe ser lo suficientemente grande para ser el valor mayoritario, o al menos la mitad de las celdas deben tener el mismo valor (según el parámetro especificado). Es decir, tres de cuatro o cinco de ocho celdas conectadas deben tener el mismo valor con el parámetro mayoritario y se necesitan dos de cuatro o cuatro de ocho para el parámetro medio. En segundo lugar, esas celdas deben ser contiguas con el centro del filtro especificado (por ejemplo, tres de cada cuatro celdas deben ser iguales). El segundo criterio que concierne a la conectividad espacial de las celdas minimiza la corrupción de patrones espaciales celulares. Si no se cumple con estos criterios, el reemplazo no ocurre y la celda mantiene su valor.

En la siguiente imagen, se aplica Filtro mayoritario al ráster de entrada con un filtro de las cuatro celdas más cercanas, que son las cuatro celdas vecinas ortogonales, lo que requiere que la mayoría (tres celdas de cuatro) sea la misma antes de que una celda cambie su valor. Sólo se cambian aquellas celdas rodeadas por tres o más celdas (ortogonales) con el mismo valor.

Ilustración 1 de Filtro mayoritario
OutRas = MajorityFilter(InRas1)

En la siguiente imagen, la herramienta Filtro mayoritario se aplica con las ocho celdas más cercanas como filtro y se requiere que al menos la mitad de los valores (cuatro celdas de ocho) tengan el mismo valor antes de cambiar el valor de la celda. Tenga en cuenta que hay un mayor efecto de suavizado.

Ilustración 2 de Filtro mayoritario
OutRas = MajorityFilter(InRas1, eight, half)

Temas relacionados