Resumen
Superpone una capa de polígono con otra capa para resumir el número de puntos, la longitud de las líneas o el área de los polígonos dentro de cada polígono, así como para calcular estadísticas de campos de atributos sobre dichas entidades dentro de los polígonos.
Escenarios de ejemplo en los que se utiliza la opción Resumir dentro de:
- Dada una capa de límites de cuencas hidrográficas y una capa de límites de uso del suelo, calcule la superficie total del tipo de uso del suelo para cada cuenca hidrográfica.
- Dada una capa de parcelas de un condado y una capa de límites de ciudades, resuma el valor medio de las parcelas vacías en cada límite de ciudad.
- Dada una capa de condados y una capa de carreteras, resume el kilometraje total de las carreteras por tipo de carretera dentro de cada condado.
Ilustración
Uso
Con la opción Resumir dentro de es como si tomara dos capas (los polígonos de entrada y las entidades de resumen de entrada) y las apilara una encima de la otra. Después de pegar estas capas, va contando la cantidad de entidades de resumen de entrada que están incluidas en los polígonos de entrada. No solo puede contar el número de entidades, sino que también puede calcular estadísticas simples sobre los atributos de las entidades de resumen, como la suma, el valor medio, el mínimo, el máximo, etcétera.
Desde el punto de vista conceptual, las herramientas Resumir dentro de y Resumir cerca de son idénticas. No obstante, con la herramienta Resumir dentro de puede resumir entidades dentro de polígonos existentes, mientras que con la herramienta Resumir cerca de puede generar áreas alrededor de puntos, líneas o polígonos, y resumir entidades dentro de dichas áreas derivadas.
Puede crear grupos especificando un nombre de grupo en los puntos de entrada. Por ejemplo, si está haciendo un resumen de los actos delictivos dentro de los límites de un vecindario, puede que tenga un atributo Crime_type con cinco tipos distintos de actos delictivos. Cada tipo de delito único constituye un grupo y las estadísticas que elijas se calcularán para cada valor único de Crime_type.
Sintaxis
arcpy.analysis.SummarizeWithin(in_polygons, in_sum_features, out_feature_class, {keep_all_polygons}, {sum_fields}, {sum_shape}, {shape_unit}, {group_field}, {add_min_maj}, {add_group_percent}, {out_group_table})
Parámetro | Explicación | Tipo de datos |
in_polygons | Los polígonos que se utilizan para resumir las entidades, o porciones de las entidades, en la capa de resumen de entrada. | Feature Layer |
in_sum_features | Las entidades de punto, línea o poligonales que se van a resumir para cada polígono de entrada. | Feature Layer |
out_feature_class | La clase de entidad poligonal de salida que contiene las mismas geometrías y atributos que los polígonos de entrada, con atributos nuevos sobre el número de puntos, la longitud de las líneas, el área de los polígonos dentro de cada polígono de entrada y estadísticas sobre dichas entidades. | Feature Class |
keep_all_polygons (Opcional) | Determina si en la clase de entidad de salida se copiarán todos los polígonos de entrada o solo aquellos que contengan al menos un punto de entrada.
| Boolean |
sum_fields [[summary_field, statistic_type],...] (Opcional) | Una lista de los nombres de campo de atributo provenientes de las entidades de resumen de entrada y los tipos de resumen de estadísticas que desea calcular para dichos campos de atributos en todos los puntos dentro de cada polígono. Los campos de resumen deben ser numéricos. No se admiten campos de texto ni otros tipos de campos de atributos. Entre los tipos de estadísticas se incluyen los siguientes:
| Value Table |
sum_shape (Opcional) | Determina si la clase de entidad de salida incluirá atributos para el número de puntos, la longitud de las líneas y el área de las entidades poligonales que se resumen en cada polígono entrada.
| Boolean |
shape_unit (Opcional) | La unidad en la que se van a calcular los atributos de resumen de forma. Si las entidades de resumen de entrada son puntos, no es necesaria ninguna unidad de forma, dado que solo se agrega el recuento de puntos de cada polígono de entrada. Si las entidades de resumen de entrada son líneas, debe especificar una unidad lineal. Si las entidades de resumen de entrada son polígonos, debe especificar una unidad de área.
| String |
group_field (Opcional) | Campo de atributo de las entidades de resumen de entrada que se utiliza para la agrupación. Las entidades que tengan el mismo valor de campo de grupo se combinarán y resumirán con otras entidades que tengan el mismo valor de campo de grupo. Si elige un campo de grupo, se creará una tabla agrupada de salida adicional y deberá especificar la ubicación en el parámetro out_grouped_table. | Field |
add_min_maj (Opcional) | Esta opción solo está habilitada si seleccionó un campo de grupo. Le permite determinar qué valor de campo de grupo corresponde a la minoría (menos dominante) y a la mayoría (más dominante) en cada polígono de entrada.
| Boolean |
add_group_percent (Opcional) | Esta opción solo está habilitada si seleccionó un campo de grupo. Le permite determinar el porcentaje de cada valor de atributo en cada grupo.
| Boolean |
out_group_table (Opcional) | Si se ha especificado un campo de grupo, la tabla agrupada de salida es necesaria. Se trata de una tabla de salida que incluye campos de resumen para cada grupo de entidades de cada polígono de entrada. La tabla contendrá los siguientes campos de atributos:
| Table |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la función SummarizeWithin.
import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.SummarizeWithin_analysis('neighborhoods', 'crimes', 'neighborhood_crimes')
La siguiente secuencia de comandos independiente es un ejemplo de cómo utilizar la función SummarizeWithin en un entorno de secuencias de comandos.
# Description: Use SummarizeWithin to summarize the crimes in each city neighborhood
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data/city.gdb'
# Set local variables
polys = 'neighborhoods'
points = 'crimes'
outFeatureClass = 'crimes_aggregated'
keepAll = 'KEEP_ALL'
sumFields = [['Damages', 'SUM'], ['VICTIM_AGE', 'MEAN']]
addShapeSum = 'ADD_SHAPE_SUM'
groupField = 'Crime_type'
addMinMaj = 'ADD_MIN_MAJ'
addPercents = 'ADD_PERCENT'
outTable = 'crimes_aggregated_groups'
arcpy.SummarizeWithin_analysis(polys, points, outFeatureClass, keepAll,
sumFields, addShapeSum, '', groupField,
addMinMaj, addPercents, outTable)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí