Preparar clasificador de k-vecinos más cercanos (Spatial Analyst)

Disponible con licencia de Image Analyst.

Disponible con una licencia de Spatial Analyst.

Resumen

Genera un archivo de definición de clasificador de Esri (.ecd) utilizando el método de clasificación de los K vecinos más cercanos.

El clasificador de K vecino más cercano es un método de clasificación no paramétrico que clasifica un píxel o segmento por medio de una pluralidad de votos de sus vecinos. K es el número de vecinos que votan.

Uso

  • La herramienta asigna ejemplos de entrenamiento a sus respectivas clases. La clase del píxel de entrada viene determinada por una pluralidad de votos de K vecinos más cercanos.

  • Se acepta como entrada cualquier ráster compatible con Esri, incluidos productos de ráster, rásteres segmentados, mosaicos, servicios de imágenes y datasets ráster genéricos. Los rásteres segmentados deben tener 8 bits y tres bandas.

  • El formato de salida de esta herramienta es un archivo .ecd que se utiliza para clasificar nuevos rásteres en la herramienta Clasificar ráster. A continuación, se utiliza la herramienta Clasificar ráster para calcular la distancia desde cada píxel o segmento de entrada a todas las muestras del entrenamiento.

    Los datos de muestra de entrenamiento se deben haber recopilado en varios momentos mediante el Administrador de muestras de entrenamiento. El valor de dimensión de cada muestra aparece en un campo de la clase de entidad de muestra de entrenamiento, que se especifica en el parámetro Campo de valor de dimensión.

  • Para crear el archivo de ejemplo de formación, utilice el panel Administrador de muestras de entrenamiento del menú desplegable Herramientas de clasificación.

  • Para los rásteres segmentados, que tienen establecida la propiedad clave en Segmentada, la herramienta calcula la imagen de índice y los atributos de segmento asociados del ráster segmentado RGB. Se calculan los atributos para generar el archivo de definición de clasificador que se va a utilizar en una herramienta de clasificación aparte. Los atributos de cada segmento se pueden calcular desde cualquier imagen compatible con Esri.

  • El parámetro Atributos de segmento solo está activo si una de las entradas de capa ráster es una imagen segmentada.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

El dataset ráster a clasificar.

El ráster de una sola banda o ráster segmentado, ráster multibanda o un ráster multidimensional que se va a clasificar.

Mosaic Layer; Raster Layer; Image Service; String
Archivo de muestra de entrenamiento de entrada

La capa o archivo de muestra de entrenamiento que delinea los sitios de entrenamiento.

Estos pueden ser shapefiles o clases de entidad que contengan las muestras de entrenamiento. Los siguientes nombres de campo son obligatorios en el archivo de muestra de entrenamiento:

  • classname- un campo de texto que indique el nombre de la categoría de clase
  • classvalue- un campo de tipo entero largo que contenga el valor entero para cada categoría de clase

Feature Layer
Archivo de definición de clasificadores de salida

Un archivo .ecd con formato JSON que contiene información de atributos, estadísticas u otra información para el clasificador.

File
Ráster de entrada adicional
(Opcional)

Se incorporan datasets ráster secundarios, como una imagen multiespectral o un DEM, para generar atributos y otra información requerida por la clasificación. Este parámetro es opcional.

Raster Layer; Mosaic Layer; Image Service; String
K vecinos más cercanos
(Opcional)

La cantidad de vecinos que se utilizará para buscar cada píxel o segmento de entrada. Aumentar la cantidad de vecinos disminuirá la influencia de vecinos individuales en el resultado de la clasificación. El valor predeterminado es 1.

Long
Número máximo de muestras por clase
(Opcional)

El número máximo de muestras del entrenamiento que se utilizarán para definir cada clase. Se recomienda el valor predeterminado de 1000 cuando las entradas son rásteres no segmentados. Un valor igual o menor que 0 significa que el sistema siempre utilizará todas las muestras de los sitios de entrenamiento para preparar el clasificador.

Long
Atributos de segmento
(Opcional)

Especifica los atributos que se incluirán en la tabla de atributos asociada con el ráster de salida.

Este parámetro solo está activo si la propiedad clave Segmentado se establece en verdadero en el ráster de entrada. Si la única entrada de la herramienta es una imagen segmentada, los atributos predeterminados son Color convergido, Recuento de píxeles, Compactación y Rectangularidad. Si se incluye un valor Ráster de entrada adicional como entrada junto a la imagen segmentada, también están disponibles los atributos Número de dígito medio y Desviación estándar.

  • Color convergidoLos valores de color RGB se derivarán del ráster de entrada segmento por segmento. Esto también se conoce como color de cromaticidad promedio.
  • Número de dígito medioEl número digital (DN) medio se derivará de la imagen de píxeles opcional, por segmento.
  • Desviación estándarLa desviación estándar se derivará de la imagen de píxeles opcional, por segmento.
  • Recuento de píxelesEl número de píxeles que componen el segmento, por segmento.
  • CompactaciónEl grado de compactibilidad o circularidad de un segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un círculo.
  • RectangularidadEl grado de rectangularidad del segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un rectángulo.
String
Campo de valor de dimensión
(Opcional)

Contiene valores de dimensión de la clase de entidad de muestra de entrenamiento de entrada.

Este parámetro es necesario para clasificar una serie temporal de datos ráster con la salida ráster de análisis de cambios de la herramienta Analizar cambios usando CCDC de la caja de herramientas de Image Analyst.

Field

TrainKNearestNeighborClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {kNN}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
NombreExplicaciónTipo de datos
in_raster

El dataset ráster a clasificar.

El ráster de una sola banda o ráster segmentado, ráster multibanda o un ráster multidimensional que se va a clasificar.

Mosaic Layer; Raster Layer; Image Service; String
in_training_features

La capa o archivo de muestra de entrenamiento que delinea los sitios de entrenamiento.

Estos pueden ser shapefiles o clases de entidad que contengan las muestras de entrenamiento. Los siguientes nombres de campo son obligatorios en el archivo de muestra de entrenamiento:

  • classname- un campo de texto que indique el nombre de la categoría de clase
  • classvalue- un campo de tipo entero largo que contenga el valor entero para cada categoría de clase

Feature Layer
out_classifier_definition

Un archivo .ecd con formato JSON que contiene información de atributos, estadísticas u otra información para el clasificador.

File
in_additional_raster
(Opcional)

Se incorporan datasets ráster secundarios, como una imagen multiespectral o un DEM, para generar atributos y otra información requerida por la clasificación. Este parámetro es opcional.

Raster Layer; Mosaic Layer; Image Service; String
kNN
(Opcional)

La cantidad de vecinos que se utilizará para buscar cada píxel o segmento de entrada. Aumentar la cantidad de vecinos disminuirá la influencia de vecinos individuales en el resultado de la clasificación. El valor predeterminado es 1.

Long
max_samples_per_class
(Opcional)

El número máximo de muestras del entrenamiento que se utilizarán para definir cada clase. Se recomienda el valor predeterminado de 1000 cuando las entradas son rásteres no segmentados. Un valor igual o menor que 0 significa que el sistema siempre utilizará todas las muestras de los sitios de entrenamiento para preparar el clasificador.

Long
used_attributes
[used_attributes;used_attributes,...]
(Opcional)

Especifica los atributos que se incluirán en la tabla de atributos asociada con el ráster de salida.

  • COLORLos valores de color RGB se derivarán del ráster de entrada segmento por segmento. Esto también se conoce como color de cromaticidad promedio.
  • MEANEl número digital (DN) medio se derivará de la imagen de píxeles opcional, por segmento.
  • STDLa desviación estándar se derivará de la imagen de píxeles opcional, por segmento.
  • COUNTEl número de píxeles que componen el segmento, por segmento.
  • COMPACTNESSEl grado de compactibilidad o circularidad de un segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un círculo.
  • RECTANGULARITYEl grado de rectangularidad del segmento, por segmento. Los valores van de 0 a 1, donde 1 corresponde a un rectángulo.

Este parámetro solo está habilitado si la propiedad clave Segmentado se establece en verdadera en el ráster de entrada. Si la única entrada en la herramienta es una imagen segmentada, los atributos predeterminados son COLOR, COUNT, COMPACTNESS y RECTANGULARITY. Si se incluye un valor in_additional_raster como entrada junto a la imagen segmentada, también están disponibles los atributos MEAN y STD.

String
dimension_value_field
(Opcional)

Contiene valores de dimensión de la clase de entidad de muestra de entrenamiento de entrada.

Este parámetro es necesario para clasificar una serie temporal de datos ráster con la salida ráster de análisis de cambios de la herramienta Analizar cambios usando CCDC de la caja de herramientas de Image Analyst.

Field

Muestra de código

TrainKNearestNeighborClassifier example 1 (Python window)

Esta es una muestra de Python para la función TrainKNearestNeighborClassifier.

# Import system modules 
import arcpy 
from arcpy.sa import * 
 
# Check out the ArcGIS Spatial Analyst extension license 
arcpy.CheckOutExtension("Spatial") 
 
# Execute  
arcpy.sa.TrainKNearestNeighborClassifier("landsat.tif", "training_sample.shp", r"c:\data\trained_knn.ecd", 5, "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainKNearestNeighborClassifier example 2 (stand-alone script)

Esta es una muestra de script de Python para la función TrainKNearestNeighborClassifier.

# Import system modules 
import arcpy 
from arcpy.sa import * 
 
# Check out the ArcGIS Spatial Analyst extension license 
arcpy.CheckOutExtension("Spatial") 
 
# Define input parameters 
in_raster = r"C:/Data/landsat.tif" 
in_training_features = r"C:/Data/training_sample.shp" 
out_classifier_definition = r"C:/Data/trained_knn.ecd" 
number_of_neighbors = 5
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
     
# Execute  - train K-Nearest Neighbor Classifier
arcpy.sa.TrainKNearestNeighborClassifier(in_raster, in_training_features, 
                                         out_classifier_definition, 
                                         number_of_neighbors, attributes)

Información de licenciamiento

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

Temas relacionados