Disponible con una licencia de Spatial Analyst.
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. El número 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 cuatro en el número de vecinos retendrá las esquinas de las regiones rectangulares. El uso de ocho vecinos suavizará las esquinas de las regiones rectangulares.
Si el número de vecinos se establece en ocho, contiguo se define como compartir un borde. Si el número de vecinos se establece en cuatro, contiguo se define como compartir una esquina.
Si el Umbral de reemplazo se establece en HALF y se producen dos valores como porciones iguales, no se producirá ningún reemplazo si el valor de la celda de procesamiento es igual a una de las mitades. La opción HALF permite un filtro más extensivo que la opción MAJORITY.
Aunque el criterio de contigüidad es el mismo para las celdas de ráster de borde y de esquina, obedecen a reglas de MAJORITY y HALF diferentes. Cuando el número de vecinos que se va a utilizar es cuatro, una celda de borde o de esquina siempre requiere dos vecinos coincidentes antes de que se produzca el reemplazo. Si los vecinos son ocho, 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, incluidos 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.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.
Sintaxis
MajorityFilter (in_raster, {number_neighbors}, {majority_definition})
Parámetro | Explicación | Tipo de datos |
in_raster | 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. La salida es siempre de tipo entero. | Raster |
Ejemplo de código
Ejemplo 1 de MajorityFilter (ventana de Python)
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 estos 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")
Ejemplo 2 de MajorityFilter (secuencia de comandos independiente)
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 estos 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")
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere Spatial Analyst
- ArcGIS for Desktop Standard: Requiere Spatial Analyst
- ArcGIS for Desktop Advanced: Requiere Spatial Analyst