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 la entrada no contiene un campo de fecha, utilice la herramienta Convertir campo de tiempo para generar un campo de fecha derivado de fechas formateadas como texto en un campo de texto.

  • Esta herramienta realiza una selección utilizando todos los criterios de selección. Si alguna parte de la fecha introducida no coincide con los criterios de selección, no se seleccionará la entidad o el registro.

    Todas las selecciones de fecha se basan en la zona horaria de su ordenador.

  • Para utilizar esta herramienta en un modelo o en una secuencia de comandos, utilice la herramienta Crear vista de tabla o Crear capa de entidades para convertir una clase de entidad de entrada en una vista de tabla o en una capa de entidades, respectivamente, antes de ejecutar esta herramienta.

Parámetros

EtiquetaExplicaciónTipo de datos
Filas de entrada

Datos que contienen un campo de fecha al que se aplicará la selección.

Table View; Feature Layer
Tipo de selección

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

  • Nueva selecciónLa selección resultante reemplazará 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 utilizarán los campos de fecha y hora para seleccionar los registros.

  • Campo Hora únicaLos registros se seleccionarán en función de un único campo de hora en la entidad de entrada.
  • Campos de rango de tiempoLos registros se seleccionarán en función de los campos de hora inicial y final de la entidad de entrada.
String
Campo de fecha
(Opcional)

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

Field
Campo Fecha de inicio
(Opcional)

Campo de fecha de inicio del rango de tiempo en el que se basará la selección. Este parámetro solo está activo si el parámetro Tipo de hora está establecido en Campos de rango de tiempo.

Field
Campo Fecha de finalización
(Opcional)

Campo de fecha de finalización del rango de tiempo en el que se basará la selección. Este parámetro solo está activo si el parámetro Tipo de hora está establecido en Campos de rango de tiempo.

Field
Opciones de selección
(Opcional)

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

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

Especifica si los registros se seleccionarán en función de un intervalo de fechas, una fecha única, un período de recurrencia o un período de tiempo comparativo.

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

  • Por rango de fechasLos registros se seleccionarán en función de un rango de fechas de inicio y fin.
  • Por fecha únicaLos registros se seleccionarán en función de una única fecha especificada.
  • Por recienteLos registros se seleccionarán en función de un periodo de tiempo en relación con la fecha actual (fecha y hora del sistema), por ejemplo, en los últimos 14 días.
  • Por período de tiempo de comparaciónLos 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 el 29 de enero y el intervalo de tiempo es de 14 días, se seleccionarán los registros que se produzcan entre el 1 y el 14 de enero. Esta opción puede utilizarse en combinación con una selección posterior Por reciente (RECENCY en Python) para comparar los 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)

Fecha y hora únicas que deben seleccionarse.

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

Date
Fecha de inicio
(Opcional)

Fecha inicial del rango de fechas.

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

Date
Fecha de fin
(Opcional)

Fecha final del rango de fechas.

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

Date
Utilizar la hora actual del sistema 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 intervalo de tiempo especificado es de 14 días, la hora del sistema local es las 17:00 del 15 de enero cuando se ejecuta la herramienta, el periodo de tiempo reciente incluye todos los registros entre las 17:00 de la fecha de hace 14 días y las 17:00 del día en que se ejecuta la herramienta, y este parámetro está activado. En este ejemplo, la selección será del 1 de enero de 2017 a las 17:00 al 15 de enero de 2017 a las 17:00 para el intervalo de tiempo de 14 días. Utilizando este mismo ejemplo con este parámetro desactivado, el periodo reciente utiliza el principio del día actual como hora de finalización (basado en la hora local del sistema). En este caso, la selección será del 1 de enero de 2017 a las 12:00:00 al 15 de enero a las 12:00:00 para el intervalo de tiempo de 14 días.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está establecido en Por período de tiempo de comparación o Por reciente.

Boolean
Intervalo de tiempo
(Opcional)

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 se basará la selección, por ejemplo, eventos de los últimos 14 días.

Este parámetro solo está activo si el parámetro Tipo de selección de fecha está establecido en Por período de tiempo de comparación o Por reciente.

Time Unit
Hora de inicio
(Opcional)

Hora de inicio del rango de tiempo.

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

Date
Hora de finalización
(Opcional)

Hora de finalización del rango de horas.

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

Date
Días de la semana
(Opcional)

Especifica el día o días de la semana que se utilizarán para seleccionar los registros.

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

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

Especifica el mes o meses que se utilizarán para seleccionar los registros.

Este parámetro solo está activo si el parámetro Opciones de selección está establecido en 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)

Año o años que se utilizarán para seleccionar los registros.

Este parámetro solo está activo si el parámetro Opciones de selección está establecido en 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

Datos que contienen un campo de fecha al que se aplicará la selección.

Table View; Feature Layer
selection_type

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

  • NEW_SELECTIONLa selección resultante reemplazará 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 utilizarán los campos de fecha y hora para seleccionar los registros.

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

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

Field
start_date_field
(Opcional)

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

Field
end_date_field
(Opcional)

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

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

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

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

Especifica si los registros se seleccionarán en función de un rango de fechas, una fecha única, un período reciente o un período de tiempo comparativo.

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

  • DATE_RANGELos registros se seleccionarán en función de un rango de fechas de inicio y fin.
  • SINGLE_DATELos registros se seleccionarán en función de una única fecha especificada.
  • RECENCYLos registros se seleccionarán en función de un periodo de tiempo en relación 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 el 29 de enero y el intervalo de tiempo es de 14 días, se seleccionarán los registros que se produzcan entre el 1 y el 14 de enero. Esta opción puede utilizarse en combinación con una selección posterior Por reciente (RECENCY en Python) para comparar los 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)

Fecha y hora únicas que deben seleccionarse.

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

Date
start_date
(Opcional)

Fecha inicial del rango de fechas.

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

Date
end_date
(Opcional)

Fecha final del rango de fechas.

Este parámetro solo está activo si el parámetro date_selection_type está establecido en 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 intervalo de tiempo especificado es de 14 días, la hora del sistema local es las 17:00 del 15 de enero cuando se ejecuta la herramienta, el periodo de tiempo reciente incluye todos los registros entre las 17:00 de la fecha de hace 14 días y las 17:00 del día en que se ejecuta la herramienta, y SYSTEM_TIME está seleccionado. En este ejemplo, la selección será del 1 de enero de 2017 a las 17:00:00 al 15 de enero de 2017 a las 17:00:00. Utilizando este mismo ejemplo con NO_SYSTEM_TIME seleccionado, el periodo reciente utiliza el comienzo del día actual como hora de finalización (basado en la hora del sistema local). En este caso, la selección será del 1 de enero de 2017 a las 12:00:00 al 15 de enero a las 12:00:00 para el intervalo de tiempo de 14 días.

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

Boolean
time_slice
(Opcional)

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 se basará la selección, por ejemplo, eventos de los últimos 14 días.

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

Time Unit
start_time
(Opcional)

Hora de inicio del rango de tiempo.

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

Date
end_time
(Opcional)

Hora de finalización del rango de horas.

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

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

Especifica el día o días de la semana que se utilizarán para seleccionar los registros.

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

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

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

Especifica el mes o meses que se utilizarán para seleccionar los 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 en MONTH.

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

Año o años que se utilizarán para seleccionar los registros.

Este parámetro solo está activo si el parámetro selection_options está establecido en 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)

La siguiente secuencia de comandos 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 de secuencia de comando sindependiente)

La siguiente ventana de comandos independiente es un ejemplo de cómo utilizar la función SelectLayerByDateAndTime en una secuencia de comandos:

# 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