Filtro mayoritario (Spatial Analyst)

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.

Más información sobre cómo funciona Filtro mayoritario

Ilustración

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

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 Mitad 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 Mitad permite un filtro más extensivo que la opción Majoría.

  • Aunque el criterio de contigüidad es el mismo para las celdas de ráster de borde y de esquina, obedecen a reglas de Majoría y Mitad 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 que se aplican a esta herramienta.

Sintaxis

MajorityFilter(in_raster, {number_neighbors}, {majority_definition})
ParámetroExplicaciónTipo 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.

  • FOUR El kernel del filtro serán los cuatro vecinos directos (ortogonales) a la celda actual. Esta es la opción predeterminada.
  • EIGHT El kernel del filtro serán los ocho vecinos más próximos (una ventana de tres por tres) a la celda actual.
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.

  • MAJORITY La mayoría de las celdas deben tener el mismo valor y ser contiguas. Tres de cuatro o cinco de ocho celdas conectadas deben tener el mismo valor.
  • HALF La mitad de las celdas deben tener el mismo valor y ser contiguas. Dos de cuatro o cuatro de ocho celdas conectadas deben tener el mismo valor. Esta opción tendrá un efecto de suavizado mayor que la otra.
String

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

El ráster filtrado de salida.

La salida es siempre de tipo entero.

Raster

Muestra 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"

# Execute MajorityFilter
outMajFilt = MajorityFilter(inRaster, "EIGHT", "HALF")

# Save the output 
outMajFilt.save("c:/sapyexamples/output/majfilter")

Información de licenciamiento

  • Basic: Requiere Spatial Analyst
  • Standard: Requiere Spatial Analyst
  • Advanced: Requiere Spatial Analyst

Temas relacionados