Resumen
Resume un conjunto de puntos en una estructura de datos de netCDF agregándola en bins de espacio-tiempo. Dentro de cada bin, se cuentan los puntos y se agregan los atributos especificados. Para todas las ubicaciones de bin, se evalúan la tendencia de los recuentos y los valores de los campos de resumen.
Más información sobre cómo funciona Crear cubo de espacio-tiempo agregando puntos
Ilustración
Uso
Esta herramienta agrega las Entidades de entrada de puntos en bins de espacio-tiempo. La estructura de datos que crea se puede interpretar como un cubo tridimensional compuesto de bins de espacio tiempo donde las dimensiones x e y representan el espacio y la dimensión t representa el tiempo.
Cada bin tiene una posición fija en el espacio (x,y) y en el tiempo (t). Los bins que abarcan la misma área (x, y) comparten el mismo Id. de ubicación. Los bins que abarcan la misma duración comparten el mismo Id. de período de tiempo. Dado que el cubo siempre es rectangular, aunque los datos de puntos no lo sean, algunas ubicaciones tendrán un recuento de puntos de cero para todos los períodos de tiempo. En muchos análisis solo se incluirán las ubicaciones con datos que tengan al menos un recuento de puntos superior a 1.
Cada bin del cubo de espacio-tiempo tiene un LOCATION_ID, un time_step_ID, un valor COUNT y valores para cualquier Campo de resumen que se haya agregado a la hora de crear el cubo. Los bins que estén asociados a la misma ubicación física compartirán el mismo Id. de ubicación y, conjuntamente, representarán una serie temporal. Los bins que estén asociados al mismo período de tiempo compartirán el mismo Id. de período de tiempo y, conjuntamente, formarán un intervalo de tiempo. El valor del recuento de cada bin refleja la cantidad de puntos que se han generado en la ubicación asociada junto con el intervalo de tiempo asociado.
Las Entidades de entrada deben ser puntos que representen datos de eventos, tales como actos delictivos o incendios, incidentes de enfermedades, datos de ventas a clientes o accidentes de tráfico. Cada punto debe tener una fecha asociada al mismo. El campo que contiene la marca de hora del evento debe ser del tipo Fecha. La herramienta requiere 60 puntos como mínimo y una variedad de marcas de hora. La herramienta fallará si los parámetros especificados dan lugar a un cubo con más de dos mil millones de bins.
Esta herramienta requiere los datos proyectados para medir distancias con precisión.
La salida de esta herramienta es una representación netCDF de los puntos de entrada, así como mensajes en los que se resumen las características del cubo y que se escriben en la ventana de Resultados. El archivo netCDF creado se puede utilizar como entrada para las herramientas Análisis de puntos calientes emergentes o Análisis de valores atípicos locales. Consulte Visualización del cubo de espacio-tiempo para obtener estrategias con las que podrá consultar el contenido del cubo.
Seleccione un campo de tipo Fecha para el parámetro Campo de tiempo. Este campo debe incluir la marca de hora asociada a cada entidad de puntos.
El Intervalo de período de tiempo define cómo desea realizar la partición de los puntos agregados a lo largo del tiempo. Puede decidir consolidar puntos utilizando intervalos de un día, una semana o un año, por ejemplo. Los intervalos de períodos de tiempo son siempre duraciones fijas y la herramienta requiere diez períodos de tiempo como mínimo. Si no proporciona un valor de Intervalo de período de tiempo, la herramienta calculará uno automáticamente. Consulte Más información sobre cómo funciona la herramienta Crear cubo de espacio-tiempo agregando puntos para obtener información sobre cómo se calculan los intervalos de períodos de tiempo predeterminados. Las unidades válidas para los intervalos de períodos de tiempo son: años, meses, días, horas, minutos y segundos.
Escriba el Intervalo de período de tiempo como un valor entero y un valor de unidad. Estos son algunos ejemplos de entradas de intervalos de períodos de tiempo: 1 semana, 2 semanas, 13 días o 1 mes.
Si no es posible crear el cubo de espacio-tiempo, puede que la herramienta no sea capaz de estructurar los datos que ha proporcionado en diez intervalos de tiempo. Si recibe un mensaje de error mientras ejecuta esta herramienta, examine las marcas de hora de los puntos de entrada para asegurarse de que incluye un rango de valores. El rango de valores debe abarcar al menos diez segundos, pues este es el incremento de tiempo más pequeño que utilizará la herramienta. La estadística de Mann-Kendall necesita diez intervalos de tiempo.
Al crear un cubo de espacio-tiempo con datos de incidentes, en función del Intervalo de período de tiempo seleccionado, se puede crear un bin al principio o al final del cubo que no contenga datos en ningún momento de todo el intervalo de tiempo. Por ejemplo, si se selecciona 1 mes como Intervalo de periodo de tiempo y los datos no están distribuidos uniformemente a intervalos de 1 mes, entonces habrá un paso de tiempo al principio o al final del periodo que no contendrá datos en su duración. Esto puede sesgar los resultados porque parecerá que el período de tiempo sesgado temporalmente tiene menos puntos de forma significativa que el resto de períodos, lo cual es, realmente, un resultado artificial debido a la forma de agregación. Los mensajes indican si hay un sesgo temporal en el primer o el último paso. Una solución es crear un conjunto de selección de los datos que quede repartido uniformemente dentro del Intervalo de periodo de tiempo deseado.
No es raro que el dataset tenga una distribución temporal con un espaciado regular. Por ejemplo, puede tener datos anuales que caigan siempre en el 1 de enero de cada año, o datos mensuales que tengan todos una marca de tiempo correspondiente al primer día de cada mes. Este tipo de datos recibe con frecuencia el nombre de datos de panel. Con los datos de panel, los cálculos de sesgo temporal mostrarán con frecuencia porcentajes muy altos. Este es el comportamiento esperado, pues cada bin cubrirá únicamente una unidad de tiempo concreta en el período de tiempo dado. Por ejemplo, si eligiera un Período de tiempo de 1 año y sus datos cayeran en el 1 de enero de cada año, cada bin cubriría solo un día del año. Esto es perfectamente aceptable, pues se aplica a cada bin. El sesgo temporal se convierte en un problema cuando solo está presente para ciertos bins debido a los parámetros de creación de bins en lugar de a la distribución real de datos. Resulta importante evaluar el sesgo temporal a efectos de la cobertura esperada en cada bin, basándose en la distribución de sus datos.
El sesgo temporal del informe de salida se calcula en forma de porcentaje del intervalo de tiempo que no contiene datos. Por ejemplo, un bin vacío tendría un 100 % de sesgo temporal. Un bin con un intervalo de período de tiempo de 1 mes y una Alineación de períodos de tiempo final que solo contenga datos en las segundas dos semanas del primer intervalo de tiempo tendría un sesgo temporal del 50 % en el primer intervalo de tiempo. Un bin con un intervalo de período de tiempo de 1 mes y una Alineación de períodos de tiempo inicial que solo contenga datos en las primeras dos semanas del último intervalo de tiempo tendría un sesgo temporal del 50 % en el último intervalo de tiempo.
Una vez que crea un cubo de espacio-tiempo, la extensión espacial del cubo no puede ampliarse nunca. Si un análisis posterior del cubo de espacio-tiempo implica el uso de un área de estudio (como la Máscara de análisis de polígonos en la herramienta Análisis de puntos calientes emergentes), tendrá que asegurarse de que la Máscara de análisis de polígonos no se extiende más allá del alcance de las entidades de entrada a la hora de crear el cubo. Si configura el polígono o polígonos del área de estudio que utilizará en los análisis futuros como la configuración del Entorno de extensión a la hora de crear el cubo, se asegurará de que la extensión del cubo tiene el tamaño que necesita al comenzar el análisis.
Es posible crear un Cubo de plantilla que se puede usar cada vez que se desee ejecutar el análisis, en especial si se desea comparar datos de una serie de periodos de tiempo. Con un mismo cubo de plantilla se asegura de que la extensión del análisis, el tamaño de bin, el intervalo de período de tiempo, el tiempo de referencia y la alineación del período de tiempo sean siempre coherentes.
Si proporciona un Cubo de plantilla, los puntos de entrada que queden fuera de la extensión de cubo de plantilla se excluirán del análisis. Además, si la referencia espacial asociada a las entidades de punto de entrada es distinta de la referencia espacial asociada al cubo de plantilla, la herramienta proyectará las Entidades de entrada para que coincidan con el cubo de plantilla antes de comenzar el proceso de agregación. La referencia espacial asociada al cubo de plantilla invalidará también la configuración del Sistema de coordenadas de salida. De hecho, el Cubo de plantilla, cuando se especifica, determinará la extensión de procesamiento utilizada, incluso si especifica una extensión de procesamiento distinta. Consulte Cómo funciona Crear cubo de espacio-tiempo agregando puntos para obtener más información.
El Tiempo de referencia puede ser un valor de fecha y hora o simplemente un valor de fecha; no debe ser solo un valor de hora. El formato esperado está determinado por la configuración de tiempo regional del equipo.
Puede elegir un Tipo de forma de agregación de red o hexagonal. Aunque las cuadrículas de red son la forma de agregación de uso más común, los hexágonos pueden resultar una opción mejor para determinados análisis.
El Intervalo de distancia indica el tamaño que deben tener los bins de espacio-tiempo. Los bins se utilizan para agregar los datos de puntos. Por ejemplo, puede decidir que cada bin de red sea de 50 x 50 metros. Si va a agregar a hexágonos, el Intervalo de distancia será la altura de cada hexágono y el ancho de los hexágonos resultantes será el doble de la altura dividido entre la raíz cuadrada de 3. Salvo que especifique un Cubo de plantilla, el bin de la esquina superior izquierda del cubo se centrará en la esquina superior izquierda de la extensión espacial de las Entidades de entrada.
- Puede seleccionar un Intervalo de distancia adecuado para su análisis. Debe buscar el equilibrio entre hacer que el intervalo de la distancia sea demasiado grande y perder los patrones subyacentes en los datos de puntos o bien hacer que el intervalo de la distancia sea demasiado pequeño y acabar con un cubo con recuentos de cero. Si no indica un valor de Intervalo de distancia, la herramienta calculará uno automáticamente. Consulte Cómo funciona Crear cubo de espacio-tiempo agregando puntos para obtener información sobre cómo se calculan los intervalos de distancia predeterminados. Las unidades para los intervalos de distancia admitidas son: kilómetros, metros, millas y pies.
El análisis de tendencias realizado en los datos de recuento agregados y los valores de los campos de resumen se basan en la estadística de Mann-Kendall.
Las operaciones estadísticas siguientes están disponibles para agregar atributos con esta herramienta: Suma. Media, Mínimo, Máximo, Desviación estándar y Mediana.
Al rellenar bins vacíos con SPATIAL_NEIGHBORS, se utiliza la contigüidad de tipo Caso de la reina (basada en bordes y esquinas) de los vecinos de 2.º orden (incluye los vecinos y los vecinos de los vecinos). Con esta opción, se necesitan por lo menos 4 vecinos espaciales para rellenar el bin vacío.
Al rellenar bins vacíos con SPACE_TIME_NEIGHBORS, se utiliza la contigüidad de tipo Caso de la reina (basada en bordes y esquinas) de los vecinos de 2.º orden (incluye los vecinos y los vecinos de los vecinos). Además, se utilizan los vecinos temporales para cada uno de los bins que se determine que son vecinos espaciales hacia delante o hacia atrás 2 pasos en el tiempo. Con esta opción, se necesitan por lo menos 13 vecinos en el espacio-tiempo para rellenar el bin vacío.
Al rellenar bins vacíos con una tendencia temporal TEMPORAL_TREND, los dos primeros períodos de tiempo y los dos últimos períodos de tiempo de una ubicación determinada deben tener valores en sus bins para poder interpolar valores en otros períodos de tiempo para esa ubicación.
El tipo de relleno TEMPORAL_TREND utiliza el método de spline univariante interpolada en el paquete de interpolación de SciPy.
Los valores nulos presentes en cualquiera de los registros de los campos de resumen darán lugar a que esas entidades se excluyan de los análisis. Si el recuento de puntos de cada bin forma parte de su estrategia de análisis, tal vez deba pensar en crear cubos separados, uno para el recuento (sin campos de resumen) y otro para campos de resumen. Si el conjunto de valores nulos es distinto para cada campo de resumen, también puede pensar en crear un cubo separado para cada campo de resumen.
Sintaxis
arcpy.stpm.CreateSpaceTimeCube(in_features, output_cube, time_field, {template_cube}, {time_step_interval}, {time_step_alignment}, {reference_time}, {distance_interval}, summary_fields, {aggregation_shape_type})
Parámetro | Explicación | Tipo de datos |
in_features | La clase de entidad de punto de entrada que agregar en bins de espacio-tiempo. | Feature Layer |
output_cube | El cubo de datos de netCDF de salida que se creará para contener recuentos y resúmenes de los datos de puntos de entidades de entrada. | File |
time_field | El campo que contiene la fecha y hora (marca de hora) de cada punto. Este campo de tiempo debe ser de tipo Fecha. | Field |
template_cube (Opcional) | Un cubo de espacio-tiempo de referencia utilizado para definir la extensión del análisis, las dimensiones de bin y la alineación de bin del output_cube. Los valores de time_step_interval, distance_interval y reference_time también se obtienen a partir del cubo de plantilla. Este cubo de plantilla debe ser un archivo netCDF (.nc) creado utilizando esta herramienta. | File |
time_step_interval (Opcional) | El número de segundos, minutos, horas, días, semanas o años que representará un período de tiempo único. Se agregarán todos los puntos dentro del mismo Intervalo de período de tiempo e Intervalo de distancia. (Si se indica un Cubo de plantilla, este parámetro se ignora y el valor de Intervalo de período de tiempo se obtiene del cubo de plantilla). Estos serían algunos ejemplos de entradas válidas para este parámetro: 1 semana, 13 días o 1 año. | Time unit |
time_step_alignment (Opcional) | Define cómo se debe realizar la agregación sobre la base de un time_step_interval determinado. Si se proporciona un template_cube, el time_step_alignment asociado con el template_cube sobrescribe el ajuste de este parámetro y se utiliza el time_step_alignment del template_cube.
| String |
reference_time (Opcional) | La fecha/hora que se va a utilizar para alinear los intervalos de períodos de tiempo. Si desea colocar en el bin los datos semanalmente de lunes a domingo, por ejemplo, puede establecer un tiempo de referencia el domingo a medianoche para garantizar que los bins cortan entre domingo y lunes a medianoche. (Cuando se indica un template_cube, este parámetro se ignora y el reference_time se basa en el template_cube). | Date |
distance_interval (Opcional) | El tamaño de los bins utilizado para agregar las in_features. Se agregarán todos los puntos que queden dentro del mismo distance_interval e time_step_interval. Al agregar a una cuadrícula hexagonal, esta distancia se utiliza como la altura para construir los polígonos hexagonales. (Cuando se indica un template_cube, este parámetro se ignora y el valor del intervalo de distancia se basará en el template_cube). | Linear Unit |
summary_fields [[Field, Statistic, Fill Empty Bins with],...] | Campo numérico que contiene valores de atributos que se utilizan para calcular la estadística especificada al agregar dentro de un cubo de espacio-tiempo. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos estadísticos. Los tipos de estadística disponibles son:
Los tipos de relleno disponibles son:
Nota: Los valores nulos presentes en cualquiera de los campos de resumen darán lugar a que esas entidades se excluyan de los análisis. Si el recuento de puntos de cada bin forma parte de su estrategia de análisis, tal vez deba pensar en crear cubos separados, uno para el recuento (sin campos de resumen) y otro para los campos de resumen. Si el conjunto de valores nulos es distinto para cada campo de resumen, también puede pensar en crear un cubo separado para cada campo de resumen. | Value Table |
aggregation_shape_type (Opcional) | La forma de la malla del polígono a la que se agregarán los datos de puntos de la entidad de entrada.
| String |
Muestra de código
Ejemplo 1 de CreateSpaceTimeCube (ventana de Python)
En el siguiente script de la ventana de Python se muestra cómo utilizar la herramienta CreateSpaceTimeCube.
arcpy.env.workspace = r"C:\STPM"
arcpy.CreateSpaceTimeCube_stpm("Homicides.shp", "Homicides.nc", "OccDate", "#", "3 Months",
"End time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS")
Ejemplo 2 de CreateSpaceTimeCube (script de Python independiente)
En el siguiente script de Python independiente se muestra cómo utilizar la herramienta CreateSpaceTimeCube.
# Create Space Time Cube of homicide incidents in a metropolitan area
# Import system modules
import arcpy
# Set geoprocessor object property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\STPM"
try:
# Set the current workspace (to avoid having to specify the full path to the feature
# classes each time)
arcpy.env.workspace = workspace
# Create Space Time Cube of homicide incident data with 3 months and 3 miles settings
# Also aggregate the median of property loss, no date predicted by space-time neighbors
# Also aggregate the standard deviation of the victim's age, fill the no-data with zeros
# Process: Create Space Time Cube By Aggregating Points
cube = arcpy.CreateSpaceTimeCube_stpm("Homicides.shp", "Homicides.nc", "MyDate", "#",
"3 Months", "End_time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS",
"HEXAGON_GRID")
# Create a polygon that defines where incidents are possible
# Process: Minimum Bounding Geometry of homicide incident data
arcpy.MinimumBoundingGeometry_management("Homicides.shp", "bounding.shp", "CONVEX_HULL",
"ALL", "#", "NO_MBG_FIELDS")
# Emerging Hot Spot Analysis of homicide incident cube using 5 Miles neighborhood
# distance and 2 neighborhood time step to detect hot spots
# Process: Emerging Hot Spot Analysis
cube = arcpy.EmergingHotSpotAnalysis_stpm("Homicides.nc", "COUNT", "EHS_Homicides.shp",
"5 Miles", 2, "bounding.shp")
except arcpy.ExecuteError:
# If any error occurred when running the tool, print the messages
print(arcpy.GetMessages())
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí