Filtro mayoritario (Análisis espacial)
Resumen
Reemplaza las celdas en un ráster según la mayoría de sus celdas vecinas contiguas.
Ilustración
Uso
La herramienta Filtro mayoritario debe satisfacer dos criterios antes de que se pueda producir un reemplazo: la cantidad de celdas vecinas de un valor similar debe ser suficientemente grande (ya sea la mayoría o la mitad de todas las celdas) y esas celdas deben ser contiguas en relación al centro del kernel del filtro. El segundo criterio que concierne a la conectividad espacial de las celdas minimiza la corrupción de patrones espaciales celulares.
-
El uso de FOUR para la cantidad de vecinos retendrá las esquinas de las regiones rectangulares. El uso de EIGHT suavizará las esquinas de las regiones rectangulares.
-
Contiguo se define como compartir un borde para un kernel de EIGHT y compartir la esquina para un kernel de FOUR.
-
Si se especifica HALF como umbral de reemplazo y se producen dos valores como mitades iguales, no se producirá un reemplazo si el valor de la celda de procesamiento es el mismo que una de las mitades. HALF permite un filtro más extensivo que MAJORITY.
-
Aunque el criterio de contigüidad es el mismo para las celdas de ráster de borde y esquina, obedecen a reglas de MAJORITY y HALF diferentes. Con un kernel de FOUR, una celda de borde o esquina siempre requiere dos vecinos coincidentes antes de que se produzca el reemplazo. Con un kernel de EIGHT, una celda de esquina debe tener todos los vecinos del mismo valor antes de que se cambie, mientras que una celda de borde requiere tres vecinos contiguos, que incluye uno a lo largo del borde, antes de que se produzca cualquier cambio.
-
El ráster de salida se estabilizará (ya no cambiará) después de algunas ejecuciones de Filtro mayoritario.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_raster |
El ráster de entrada que se filtrará según la mayoría de las celdas vecinas contiguas. Debe ser de tipo entero. | Raster Layer |
number_neighbors (Opcional) |
Determina la cantidad de celdas vecinas a utilizarse en el kernel del filtro.
| String |
majority_definition (Opcional) |
Especifica la cantidad de celdas contiguas (conectadas espacialmente) que deben tener el mismo valor antes de que se produzca el reemplazo.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster |
El ráster filtrado de salida. | Raster |
Ejemplo de código
En este ejemplo se filtra el ráster de entrada utilizando los ocho vecinos con un mayor efecto de suavizado al requerir que la mitad de éstos tengan el mismo valor de sustitución.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMajFilt = MajorityFilter("land", "EIGHT", "HALF")
outMajFilt.save("c:/sapyexamples/output/outmajfilt")
En este ejemplo se filtra el ráster de entrada utilizando los ocho vecinos con un mayor efecto de suavizado al requerir que la mitad de éstos tengan el mismo valor de sustitución.
# Name: MajorityFilter_Ex_02.py
# Description: Replaces cells in a raster based on the
# majority of their contiguous neighboring cells.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "land"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute MajorityFilter
outMajFilt = MajorityFilter(inRaster, "EIGHT", "HALF")
# Save the output
outMajFilt.save("c:/sapyexamples/output/majfilter")