Disponible con una licencia de Spatial Analyst.
Resumen
Crea una tabla y un gráfico de histograma que muestran la distribución de frecuencia de los valores de celda en la entrada de Valor para cada zona única.
Ilustración
Uso
Un histograma zonal le permite investigar la distribución de frecuencia de los valores en un dataset dentro de las clases de otro dataset. Los ejemplos incluyen distribución de pendiente dentro de clases de uso de suelo, distribución de precipitaciones dentro de clases de elevación o distribución de delitos por zonas de patrullaje.
Una zona se define como todas las áreas de la entrada que tienen el mismo valor. No es necesario que las áreas sean contiguas. Puede usar tanto rásteres como entidades para la entrada de zona.
Si el Tamaño de celda de los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) y el Ráster de valores de entrada (in_value_raster en Python) son distintos, el tamaño de celda de salida será el Máximo de entradas y el Ráster de valores de entrada se utilizará internamente como el Ráster de alineación. Si el tamaño de celda es el mismo, pero las celdas no están alineadas, el Ráster de valores de entrada se utilizará internamente como el ráster de alineación. En ambos casos, se desencadenará un remuestreo interno antes de realizar la operación zonal.
Cuando las entradas de zona y de valor son rásteres del mismo tamaño de celda y las celdas están alineadas, se utilizarán directamente en la herramienta y no se remuestrearán internamente durante la ejecución de la herramienta.
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) son un ráster, debe ser un ráster entero.
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) son una entidad, se convertirá internamente a un ráster utilizando el tamaño de celda y la alineación de celda del Ráster de valores de entrada (in_value_raster en Python).
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) son una entidad de puntos, puede haber más de un punto contenido dentro de una celda concreta del ráster de valores de entrada. Para dichas celdas, el valor de zona se determina mediante el punto con el campo ObjectID más bajo (por ejemplo, OID o FID).
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) tienen polígonos que se superponen, el análisis zonal no se realizará para cada polígono individual. Debido a que la entrada de entidades se convierte a ráster, cada ubicación puede tener sólo un valor.
Un método alternativo es procesar la operación zonal con iteración para cada una de las zonas poligonales e intercalar los resultados.
El Campo de zona (zone_field en Python) debe ser de tipo entero o de texto.
Al especificar los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python), el campo de zona predeterminado será el primer campo entero o de texto disponible. Si no existen otros campos válidos, el campo ObjectID (por ejemplo, OID o FID) será el valor predeterminado.
En el gráfico de histograma, la cantidad de clases (bins) para cada zona está determinada por el Ráster de valor de entrada.
- Si se especifica una capa, entonces la simbología de la capa define la cantidad de clases.
- Si se especifica un dataset, de forma predeterminada habrá 256 clases, a menos que la entrada sea un entero con menos de 26 valores exclusivos, en cuyo caso este será el recuento total de valores exclusivos.
Un gráfico de histograma de zona no se genera de manera predeterminada. Para que se cree cuando la herramienta está en ejecución, especifique el Nombre de gráfico de salida.
El gráfico es solo temporal (en la memoria). Para hacer una versión permanente, utilice la herramienta Guardar gráfico para crear un archivo de gráfico .grf o uno de los demás formatos de salida disponibles en esa herramienta.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.
Sintaxis
ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph})
Parámetro | Explicación | Tipo de datos |
in_zone_data | El dataset que define las zonas. Las zonas pueden definirse mediante un ráster entero o una capa de entidades. | Raster Layer; Feature Layer |
zone_field | El campo que mantiene los valores que definen cada zona. Puede ser un campo de enteros o de cadenas de caracteres del dataset zonal. | Field |
in_value_raster | Los valores de ráster para crear los histogramas. | Raster Layer |
out_table | El archivo de la tabla de salida. El formato de la tabla está determinado por la ubicación y la ruta de salida. De forma predeterminada, la salida será una tabla de geodatabase. Si la ruta no está en una geodatabase, el formato lo determinará la extensión. Si la extensión es .dbf, tendrá el formato de dBASE. Si no se especifica una extensión, la salida será una tabla INFO. La salida de gráfico opcional se crea a partir de la información en la tabla. | Table |
out_graph (Opcional) | El nombre del gráfico de salida para mostrar. El gráfico es temporal. Para guardarlo, utilice la herramienta Guardar gráfico. | Graph |
Muestra de código
Ejemplo 1 de ZonalHistogram (ventana de Python)
En este ejemplo se crea una tabla .dbf de histograma de zona.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonHisto = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf")
Ejemplo 2 de ZonalHistogram (secuencia de comandos independiente)
En este ejemplo se crea una tabla .dbf de histograma de zona y un archivo de gráfico.
# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table and
# a graph showing the amount of value cells
# for each unique input zone.
# 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
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras"
outTable = "C:/sapyexamples/output/zonehist_tbl.dbf"
outGraph = "zonehist_gra"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable, outGraph)
Entornos
- Auto ejecución
- Tamaño de celda
- Método de proyección de tamaño de celda
- Compresión
- Espacio de trabajo actual
- Extensión
- Transformaciones geográficas
- Máscara
- Palabra clave CONFIG de salida
- Sistema de coordenadas de salida
- Nombres de campos calificados
- Espacio de trabajo temporal
- Alinear ráster
- Tamaño de tesela
- Transferir descripciones de dominio de campo
Información sobre licencias
- Basic: Requiere Spatial Analyst
- Standard: Requiere Spatial Analyst
- Advanced: Requiere Spatial Analyst