Seleccionar capa por fecha y hora (Análisis de criminalidad y seguridad)

Resumen

Selecciona registros basados en rangos de fecha y hora o propiedades de fecha, por ejemplo, fecha única, rango de tiempo, periodo de tiempo, días de la semana, mes o año.

Uso

  • La entrada debe ser una capa de entidades o una vista de tabla.

  • La entrada debe contener un campo de fecha. Si su entrada no contiene ningún campo de fecha, use la herramienta Convertir campo de tiempo para generar un campo de fecha derivado de fechas con formato de texto en un campo de texto.

  • Esta herramienta realiza una selección con todos los criterios de selección, en caso de que alguna parte de la fecha de entrada no coincida con dichos criterios, la entidad no se seleccionará.

  • Para usar esta herramienta en un modelo o script, use las herramientas Crear vista de tabla o Crear capa de entidades para convertir una clase de entidad de entrada en una vista de tabla o capa de entidades, respectivamente, antes de ejecutar esta herramienta.

Parámetros

EtiquetaExplicaciónTipo de datos
Filas de entrada

Los datos con un campo de fecha a los que se aplicará la selección.

Table View; Feature Layer
Tipo de selección

Especifica cómo se aplicará la selección y qué pasará si ya existe alguna.

  • Nueva selecciónLa selección resultante reemplazará a la selección actual. Esta es la opción predeterminada.
  • Añadir a selección actualLa selección resultante se agregará a la selección actual, si la hay. Si no existe ninguna selección, coincide con la opción de nueva selección.
  • Eliminar de la selección actualLa selección resultante se quitará de la selección actual. Si no existe ninguna selección, esta opción no tendrá efecto.
  • Seleccionar subconjunto de la selección actualLa selección resultante se combinará con la selección actual. Solo permanecen seleccionados los registros comunes a ambas selecciones.
String
Tipo de hora

Especifica cómo se usarán los campos de fecha y hora para seleccionar registros.

  • Campo de hora únicaLos registros se seleccionarán en función de un campo de hora única en la entidad de entrada.
  • Campos de rango de horaLos registros se seleccionarán en función de los campos de hora de inicio y finalización en la entidad de entrada.
String
Campo de fecha
(Opcional)

El campo de fecha de la capa de entrada en la que se basará la selección. Este parámetro solo está activo si el parámetro Tipo de hora está definido como Campo de hora única.

Field
Campo de fecha de inicio
(Opcional)

El campo de fecha de inicio del rango de hora en el que se basará la selección. Este parámetro solo está activo si el parámetro Tipo de hora está definido como Campos de rango de hora.

Field
Campo de fecha de finalización
(Opcional)

El campo de fecha de finalización del rango de hora en el que se basará la selección. Este parámetro solo está activo si el parámetro Tipo de hora está definido como Campos de rango de hora.

Field
Opciones de selección
(Opcional)

Especifica cómo se realizarán las selecciones de fecha y hora.

  • FechaLa selección será por fecha.
  • HoraLa selección será por hora del día.
  • Día de la semanaLa selección será por día de la semana.
  • MesLa selección será por mes.
  • AñoLa selección será por año.
String
Tipo de selección de fecha
(Opcional)

Especifica si los registros se seleccionarán en función de un rango de fecha, fecha única, periodo reciente o periodo de tiempo comparativo.

Este parámetro solo está activo si el parámetro Opciones de selección está definido como Fecha.

  • Por rango de fechasLos registros se seleccionarán en función del rango de fecha de inicio y finalización.
  • Por fecha únicaLos registros se seleccionarán en función de la fecha especificada.
  • Por recienteLos registros se seleccionarán en función de un periodo de tiempo relacionado con la fecha actual (fecha y hora del sistema), por ejemplo, en los últimos 14 días.
  • Por periodo de tiempo comparativoLos registros se seleccionarán en función del periodo de tiempo inmediatamente anterior a un periodo de tiempo reciente en relación con la fecha actual (fecha y hora del sistema). Por ejemplo, si la fecha actual es 29 de enero y el periodo de tiempo es 14 días, se seleccionarán los registros desde el 1 de enero hasta el 14 de enero. Esta opción se puede usar junto con una selección Por reciente (RECENCY en Python) subsiguiente para comparar recuentos de registros entre dos periodos de tiempo adyacentes (por ejemplo, los dos periodos de tiempo de 14 días del 1 al 14 de enero y del 15 al 28 de enero).
String
Fecha
(Opcional)

La fecha y hora únicas que se van a seleccionar.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está definido como Por fecha única.

Date
Fecha de inicio
(Opcional)

La fecha de inicio del rango de fecha.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está definido como Por rango de fechas.

Date
Fecha de fin
(Opcional)

La fecha de finalización del rango de fecha.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está definido como Por rango de fechas.

Date
Usar la hora del sistema actual como hora de finalización
(Opcional)

Especifica si los registros del día actual (hora local del sistema) se incluirán en la selección si existen en el periodo de tiempo reciente.

  • Activado: los registros del día actual se incluirán en la selección.
  • Desactivado: los registros del día actual no se incluirán en la selección.

Por ejemplo, el periodo de tiempo especificado son 14 días, la hora local del sistema son las 5:00 p.m. del 15 de enero cuando se ejecuta la herramienta, el periodo de tiempo actual incluye todos los registros entre las 5:00 p.m. de hace 14 días y las 5:00 p.m. del día en que se ejecuta la herramienta, y este parámetro está activado. En este ejemplo, la selección será desde el 1 de enero de 2017 a las 5:00:00 PM hasta el 15 de enero de 2017 a las 5:00:00 PM para el periodo de tiempo de 14 días. Con este mismo ejemplo y el parámetro desactivado, el periodo reciente utiliza el comienzo del día actual como la hora de finalización (en función de la hora local del sistema). En este caso, la selección será desde el 1 de enero de 2017 a las 12:00:00 AM hasta el 15 de enero a las 12:00:00 AM para el periodo de tiempo de 14 días.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está definido como Por periodo de tiempo comparativo o Por reciente.

Boolean
Periodo de tiempo
(Opcional)

El número de unidades de tiempo (minutos, horas, días, semanas, meses o años) que definen el periodo de tiempo reciente en el que estará basada la selección, por ejemplo, en eventos de los últimos 14 días.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está definido como Por periodo de tiempo comparativo o Por reciente.

Time Unit
Hora de inicio
(Opcional)

La hora de inicio del rango de hora.

Este parámetro solo está activo si el parámetro Opciones de selección está definido como Hora.

Date
Hora de finalización
(Opcional)

La hora de finalización del rango de hora.

Este parámetro solo está activo si el parámetro Opciones de selección está definido como Hora.

Date
Días de la semana
(Opcional)

Especifica los días de la semana que se usarán para seleccionar registros.

Este parámetro solo está activo si el parámetro Opciones de selección está definido como Día de la semana.

  • LunesSe seleccionarán los registros que se produzcan los lunes.
  • MartesSe seleccionarán los registros que se produzcan los martes.
  • MiércolesSe seleccionarán los registros que se produzcan los miércoles.
  • JuevesSe seleccionarán los registros que se produzcan los jueves.
  • ViernesSe seleccionarán los registros que se produzcan los viernes.
  • SábadoSe seleccionarán los registros que se produzcan los sábados.
  • DomingoSe seleccionarán los registros que se produzcan los domingos.
String
Meses
(Opcional)

Especifica los meses que se usarán para seleccionar registros.

Este parámetro solo está activo si el parámetro Opciones de selección está definido como Mes.

  • EneroSe seleccionarán los registros que se produzcan en enero.
  • FebreroSe seleccionarán los registros que se produzcan en febrero.
  • MarzoSe seleccionarán los registros que se produzcan en marzo.
  • AbrilSe seleccionarán los registros que se produzcan en abril.
  • MayoSe seleccionarán los registros que se produzcan en mayo.
  • JunioSe seleccionarán los registros que se produzcan en junio.
  • JulioSe seleccionarán los registros que se produzcan en julio.
  • AgostoSe seleccionarán los registros que se produzcan en agosto.
  • SeptiembreSe seleccionarán los registros que se produzcan en septiembre.
  • OctubreSe seleccionarán los registros que se produzcan en octubre.
  • NoviembreSe seleccionarán los registros que se produzcan en noviembre.
  • DiciembreSe seleccionarán los registros que se produzcan en diciembre.
String
Años
(Opcional)

Especifica los años que se usarán para seleccionar registros.

Este parámetro solo está activo si el parámetro Opciones de selección está definido como Años.

Long

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa o vista de tabla actualizadas

Las entradas actualizadas con selecciones aplicadas.

Table View; Feature Layer
Recuento de filas

El número de registros seleccionados.

Long

arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view, selection_type, time_type, {date_field}, {start_date_field}, {end_date_field}, {selection_options}, {date_selection_type}, {single_date}, {start_date}, {end_date}, {use_system_time}, {time_slice}, {start_time}, {end_time}, {days_of_week}, {months}, {years})
NombreExplicaciónTipo de datos
in_layer_or_view

Los datos con un campo de fecha a los que se aplicará la selección.

Table View; Feature Layer
selection_type

Especifica cómo se aplicará la selección y qué pasará si ya existe alguna.

  • NEW_SELECTIONLa selección resultante reemplazará a la selección actual. Esta es la opción predeterminada.
  • ADD_TO_SELECTIONLa selección resultante se agregará a la selección actual, si la hay. Si no existe ninguna selección, coincide con la opción de nueva selección.
  • REMOVE_FROM_SELECTIONLa selección resultante se quitará de la selección actual. Si no existe ninguna selección, esta opción no tendrá efecto.
  • SUBSET_SELECTIONLa selección resultante se combinará con la selección actual. Solo permanecen seleccionados los registros comunes a ambas selecciones.
String
time_type

Especifica cómo se usarán los campos de fecha y hora para seleccionar registros.

  • SINGLE_TIME_FIELDLos registros se seleccionarán en función de un campo de hora única en la entidad de entrada.
  • TIME_RANGE_FIELDSLos registros se seleccionarán en función de los campos de hora de inicio y finalización en la entidad de entrada.
String
date_field
(Opcional)

El campo de fecha de la capa de entrada en la que se basará la selección. Este parámetro solo está activo si el parámetro time_type está establecido como SINGLE_TIME_FIELD.

Field
start_date_field
(Opcional)

El campo de fecha de inicio del rango de hora en el que se basará la selección. Este parámetro solo está activo si el parámetro time_type está establecido como TIME_RANGE_FIELDS.

Field
end_date_field
(Opcional)

El campo de fecha de finalización del rango de hora en el que se basará la selección. Este parámetro solo está activo si el parámetro time_type está establecido como TIME_RANGE_FIELDS.

Field
selection_options
[selection_options,...]
(Opcional)

Especifica cómo se realizarán las selecciones de fecha y hora.

  • DATELa selección será por fecha.
  • TIMELa selección será por hora del día.
  • DAY_OF_WEEKLa selección será por día de la semana.
  • MONTHLa selección será por mes.
  • YEARLa selección será por año.
String
date_selection_type
(Opcional)

Especifica si los registros se seleccionarán en función de un rango de fecha, fecha única, periodo reciente o periodo de tiempo comparativo.

Este parámetro solo está activo si el parámetro selection_options está establecido como DATE.

  • DATE_RANGELos registros se seleccionarán en función del rango de fecha de inicio y finalización.
  • SINGLE_DATELos registros se seleccionarán en función de la fecha especificada.
  • RECENCYLos registros se seleccionarán en función de un periodo de tiempo relacionado con la fecha actual (fecha y hora del sistema), por ejemplo, en los últimos 14 días.
  • COMPARATIVELos registros se seleccionarán en función del periodo de tiempo inmediatamente anterior a un periodo de tiempo reciente en relación con la fecha actual (fecha y hora del sistema). Por ejemplo, si la fecha actual es 29 de enero y el periodo de tiempo es 14 días, se seleccionarán los registros desde el 1 de enero hasta el 14 de enero. Esta opción se puede usar junto con una selección Por reciente (RECENCY en Python) subsiguiente para comparar recuentos de registros entre dos periodos de tiempo adyacentes (por ejemplo, los dos periodos de tiempo de 14 días del 1 al 14 de enero y del 15 al 28 de enero).
String
single_date
(Opcional)

La fecha y hora únicas que se van a seleccionar.

Este parámetro solo está activo si el parámetro date_selection_type está establecido como SINGLE_DATE.

Date
start_date
(Opcional)

La fecha de inicio del rango de fecha.

Este parámetro solo está activo si el parámetro date_selection_type está establecido como DATE_RANGE.

Date
end_date
(Opcional)

La fecha de finalización del rango de fecha.

Este parámetro solo está activo si el parámetro date_selection_type está establecido como DATE_RANGE.

Date
use_system_time
(Opcional)

Especifica si los registros del día actual (hora local del sistema) se incluirán en la selección si existen en el periodo de tiempo reciente.

  • SYSTEM_TIMELos registros del día actual se incluirán en la selección.
  • NO_SYSTEM_TIMELos registros del día actual no se incluirán en la selección. Esta es la opción predeterminada.

Por ejemplo, el periodo de tiempo especificado son 14 días, la hora local del sistema son las 5:00 p.m. del 15 de enero cuando se ejecuta la herramienta, el periodo de tiempo actual incluye todos los registros entre las 5:00 p.m. de hace 14 días y las 5:00 p.m. del día en que se ejecuta la herramienta, y SYSTEM_TIME está seleccionado. En este ejemplo, la selección será desde el 1 de enero de 2017 a las 5:00:00 PM hasta el 15 de enero de 2017 a las 5:00:00 PM. Con este mismo ejemplo con NO_SYSTEM_TIME seleccionado, el periodo reciente utiliza el comienzo del día actual como la hora de finalización (en función de la hora local del sistema). En este caso, la selección será desde el 1 de enero de 2017 a las 12:00:00 AM hasta el 15 de enero a las 12:00:00 AM para el periodo de tiempo de 14 días.

Este parámetro solo está activo si el parámetro date_selection_type está establecido como COMPARATIVE o RECENCY.

Boolean
time_slice
(Opcional)

El número de unidades de tiempo (minutos, horas, días, semanas, meses o años) que definen el periodo de tiempo reciente en el que estará basada la selección, por ejemplo, en eventos de los últimos 14 días.

Este parámetro solo está activo si el parámetro date_selection_type está establecido como COMPARATIVE o RECENCY.

Time Unit
start_time
(Opcional)

La hora de inicio del rango de hora.

Este parámetro solo está activo si el parámetro selection_options está establecido como TIME.

Date
end_time
(Opcional)

La hora de finalización del rango de hora.

Este parámetro solo está activo si el parámetro selection_options está establecido como TIME.

Date
days_of_week
[days_of_week,...]
(Opcional)

Especifica los días de la semana que se usarán para seleccionar registros.

  • MONDAYSe seleccionarán los registros que se produzcan los lunes.
  • TUESDAYSe seleccionarán los registros que se produzcan los martes.
  • WEDNESDAYSe seleccionarán los registros que se produzcan los miércoles.
  • THURSDAYSe seleccionarán los registros que se produzcan los jueves.
  • FRIDAYSe seleccionarán los registros que se produzcan los viernes.
  • SATURDAYSe seleccionarán los registros que se produzcan los sábados.
  • SUNDAYSe seleccionarán los registros que se produzcan los domingos.

Este parámetro solo está activo si el parámetro selection_options está establecido como DAY_OF_WEEK.

String
months
[months,...]
(Opcional)

Especifica los meses que se usarán para seleccionar registros.

  • JANUARYSe seleccionarán los registros que se produzcan en enero.
  • FEBRUARYSe seleccionarán los registros que se produzcan en febrero.
  • MARCHSe seleccionarán los registros que se produzcan en marzo.
  • APRILSe seleccionarán los registros que se produzcan en abril.
  • MAYSe seleccionarán los registros que se produzcan en mayo.
  • JUNESe seleccionarán los registros que se produzcan en junio.
  • JULYSe seleccionarán los registros que se produzcan en julio.
  • AUGUSTSe seleccionarán los registros que se produzcan en agosto.
  • SEPTEMBERSe seleccionarán los registros que se produzcan en septiembre.
  • OCTOBERSe seleccionarán los registros que se produzcan en octubre.
  • NOVEMBERSe seleccionarán los registros que se produzcan en noviembre.
  • DECEMBERSe seleccionarán los registros que se produzcan en diciembre.

Este parámetro solo está activo si el parámetro selection_options está establecido como MONTH.

String
years
[years,...]
(Opcional)

Especifica los años que se usarán para seleccionar registros.

Este parámetro solo está activo si el parámetro selection_options está establecido como YEAR.

Long

Salida derivada

NombreExplicaciónTipo de datos
out_layer_or_view

Las entradas actualizadas con selecciones aplicadas.

Table View; Feature Layer
count

El número de registros seleccionados.

Long

Muestra de código

Ejemplo 1 de SelectLayerByDateAndTime (ventana de Python)

El siguiente script muestra cómo utilizar la función SelectLayerByDateAndTime en el modo inmediato.

import arcpy
arcpy.env.workspace = r"C:/data/city_pd.gdb"

arcpy.ca.SelectLayerByDateAndTime("Crimes",
                                "NEW_SELECTION",
                                "SINGLE_TIME_FIELD",
                                "offendate",
                                None,
                                None,
                                "DATE",
                                "DATE_RANGE",
                                None,
                                "8/1/2018",
                                "8/31/2018")
Ejemplo 2 de SelectLayerByDateAndTime (ventana independiente)

El siguiente script independiente es un ejemplo de cómo utilizar la función SelectLayerByDateAndTime en un script:

# Name: SelectLayerByDateAndTime.py
# Description: Select crimes that occurred in the past 28 days, from 9 PM to 1 PM, on the weekend, from the month of October to December,
#              in the year 2018, and show the selection count. Finally, make a selection based on all the queries above.

# Import script modules
import arcpy

# Set the workspace
arcpy.env.workspace = r"C:\data\city_pd.gdb"

# Convert Feature class to table view
arcpy.management.MakeTableView("Crimes", "Crimes_View")

lyr, count = arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view="Crimes_View",
                                                selection_type="NEW_SELECTION",
                                                time_type="SINGLE_TIME_FIELD",
                                                date_field="offendate",
                                                selection_options="DATE",
                                                date_selection_type="RECENCY",
                                                time_slice="28 Days")

arcpy.AddMessage("Crimes that occurred in past 28 days: {}".format(str(count)))
arcpy.management.SelectLayerByAttribute("Crimes_View","CLEAR_SELECTION")

lyr, count = arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view="Crimes_View",
                                                selection_type="NEW_SELECTION",
                                                time_type="SINGLE_TIME_FIELD",
                                                date_field="offendate",
                                                selection_options="TIME",
                                                start_time="9:00 PM",
                                                end_time="1:00 AM")

arcpy.AddMessage("All crimes that occurred between 9PM and 1AM: {}".format(count))
arcpy.management.SelectLayerByAttribute("Crimes_View","CLEAR_SELECTION")

lyr, count = arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view="Crimes_View",
                                                selection_type="NEW_SELECTION",
                                                time_type="SINGLE_TIME_FIELD",
                                                date_field="offendate",
                                                selection_options="DAY_OF_WEEK",
                                                days_of_week=["SATURDAY", "SUNDAY"])

arcpy.AddMessage("All crimes that occurred on the weekend: {}".format(count))
arcpy.management.SelectLayerByAttribute("Crimes_View","CLEAR_SELECTION")

lyr, count = arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view="Crimes_View",
                                                selection_type="NEW_SELECTION",
                                                time_type="SINGLE_TIME_FIELD",
                                                date_field="offendate",
                                                selection_options="MONTH",
                                                months=["OCTOBER", "NOVEMBER", "DECEMBER"])

arcpy.AddMessage("All crimes that occurred October through December: {}".format(count))
arcpy.management.SelectLayerByAttribute("Crimes_View","CLEAR_SELECTION")


lyr, count = arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view="Crimes_View",
                                                selection_type="NEW_SELECTION",
                                                time_type="SINGLE_TIME_FIELD",
                                                date_field="offendate",
                                                selection_options="YEAR",
                                                years=[2018])

arcpy.AddMessage("All crimes that occurred in the year 2018: {}".format(count))
arcpy.management.SelectLayerByAttribute("Crimes_View","CLEAR_SELECTION")


# Combine selection options for more detailed time queries
lyr, count = arcpy.ca.SelectLayerByDateAndTime(in_layer_or_view="Crimes_View",
                                                selection_type="NEW_SELECTION",
                                                time_type="SINGLE_TIME_FIELD",
                                                date_field="offendate",
                                                selection_options=["TIME", "DAY_OF_WEEK", "MONTH","YEAR"],
                                                start_time="9:00 PM",
                                                end_time="1:00 AM",
                                                days_of_week=["SATURDAY", "SUNDAY"],
                                                months=["OCTOBER", "NOVEMBER", "DECEMBER"],
                                                years=[2018])

message = """All crimes that occurred in the year 2018 during the months
of October through November on the weekends from 9PM to 1AM: {}
""".format(count)

arcpy.AddMessage(message)
arcpy.management.SelectLayerByAttribute("Crimes_View", "CLEAR_SELECTION")

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados