Sélectionner une couche par date et heure (Analyse criminelle et sécurité)

Synthèse

Sélectionne les registres en fonction des plages de date et heure ou des propriétés de date, par exemple, date unique, plage de temps, période, jours de la semaine, mois, ou année.

Utilisation

  • L’entrée doit être une couche d’entités ou vue tabulaire.

  • L’entrée doit contenir un champ de date. Si l’entrée ne comprend pas de champ de date, utilisez l’outil Convertir un champ temporel pour générer un champ de date à partir de dates au format texte dans un champ de texte.

  • Cet outil utilise l’ensemble des critères pour effectuer une sélection. Si une partie quelconque de la date en entrée ne correspond pas aux critères de sélection, l’entité ou l’enregistrement n’est pas sélectionné(e).

    Toutes les sélections de date reposent sur le fuseau horaire de votre ordinateur.

  • Pour utiliser cet outil dans un modèle ou script, utilisez l’outil Générer une vue tabulaire ou Générer une couche pour convertir une classe d’entités en entrée en vue tabulaire ou couche d’entités, respectivement, avant d’exécuter cet outil.

Paramètres

ÉtiquetteExplicationType de données
Enregistrements en entrée

Les données contenant un champ de date sur lesquelles la sélection est appliquée.

Table View; Feature Layer
Type de sélection

Détermine la manière dont la sélection doit être appliquée et ce qui se produit lorsqu’une sélection existe déjà.

  • Nouvelle sélectionLa sélection obtenue remplace la sélection courante. Il s’agit de l’option par défaut.
  • Ajouter à la sélection actuelleLa sélection obtenue est ajoutée à la sélection courante si celle-ci existe. S’il n’existe aucune sélection, elle est identique à la nouvelle sélection.
  • Supprimer de la sélection actuelleLa sélection obtenue est supprimée de la sélection courante. S’il n’existe aucune sélection, cette option ne produit aucun effet.
  • Sélectionner un sous-ensemble à partir de la sélection actuelleLa sélection obtenue est associée à la sélection courante. Seuls les enregistrements communs aux deux restent sélectionnés.
String
Type de temps

Spécifie de quelle façon les champs de date et heure sont utilisés pour sélectionner les registres.

  • Champ temporel uniqueLes registres sont sélectionnés en fonction d’un seul champ temporel dans l’entité en entrée.
  • Champs Plage temporelleLes registres sont sélectionnés en fonction des champs d’heure de début et de fin dans l’entité en entrée.
String
Date Field
(Facultatif)

Champ Date de la couche en entrée sur lequel sera basée la sélection. Ce paramètre est actif uniquement si le paramètre Time Type (Type de date/heure) est défini sur Single Time Field (Champ temporel unique).

Field
Champ Date de début
(Facultatif)

Champ Date de début issu de plage de temps sur laquelle sera basée la sélection. Ce paramètre est seulement actif si Time Type (Type de temps) n’est pas défini sur Time Range Fields (Champs Plage temporelle).

Field
Champ Date de fin
(Facultatif)

Champ Date de fin issu de plage temporelle sur laquelle sera basée la sélection. Ce paramètre est seulement actif si Time Type (Type de temps) n’est pas défini sur Time Range Fields (Champs Plage temporelle).

Field
Options de sélection
(Facultatif)

Spécifie comment seront effectuées les sélections de date et heure.

  • DateLa sélection sera effectuée par date.
  • DuréeLa sélection sera effectuée par heure de la journée.
  • Jour de la semaineLa sélection sera effectuée par jour de la semaine.
  • MoisLa sélection sera effectuée par mois.
  • AnnéeLa sélection sera effectuée par année.
String
Type de sélection Date
(Facultatif)

Détermine si les enregistrements seront sélectionnés en fonction d’une plage de dates, d’une date unique, d’une période de récence ou d’une période comparative.

Ce paramètre n’est actif que si le paramètre Selection Options (Options de sélection) a la valeur Date.

  • Par plage de datesLes registres seront sélectionnés en fonction d’une plage de dates de début et de fin.
  • Par date uniqueLes enregistrements seront sélectionnés en fonction de la date unique spécifiée.
  • Par récenceLa sélection des registres s’effectuera en fonction d’une période donnée par rapport à la date actuelle (date et heure système), par exemple, au cours des 14 derniers jours.
  • Par période comparativeLa sélection des registres s’effectuera en fonction de la période précédant immédiatement une période récente par rapport à la date actuelle (date et heure système). Si, par exemple, la date actuelle est le 29 janvier et que la période considérée est 14 jours, les registres compris entre le 1er janvier et le 14 janvier seront sélectionnés. Cette option peut être combinée à une sélection By Recency (Par récence) (RECENCY dans Python) afin de comparer le nombre d’enregistrements entre deux périodes adjacentes (par exemple, les deux périodes de 14 jours allant du 1er au 14 janvier et du 15 au 28 janvier).
String
Date
(Facultatif)

Date et heure unique à sélectionner.

Ce paramètre n’est actif que si le paramètre Date Selection Type (Type de sélection Date) a la valeur By Single Date (Par date unique).

Date
Date de début
(Facultatif)

Date de début de la plage de dates.

Ce paramètre n’est actif que si le paramètre Date Selection Type (Type de sélection Date) a la valeur By Date Range (Par plage de dates).

Date
Date de fin
(Facultatif)

Date de fin de la plage de dates.

Ce paramètre n’est actif que si le paramètre Date Selection Type (Type de sélection Date) a la valeur By Date Range (Par plage de dates).

Date
Utiliser l’heure système actuelle comme Heure de fin
(Facultatif)

Spécifie si les registres de la journée en cours (heure système locale) seront inclus dans la sélection s’ils existent dans la période récente.

  • Activé : les registres de la journée en cours seront inclus dans la sélection.
  • Désactivé : les registres de la journée en cours ne seront pas inclus dans la sélection.

Par exemple, si la tranche temporelle spécifiée est de 14 jours, que l’outil est exécuté le 15 janvier à 17 h 00 (heure système locale), la période de récence inclut tous les enregistrements compris dans la période commençant 14 jours auparavant à 17 h 00 et le jour d’exécution de l’outil à 17 h 00 ; ce paramètre est activé. Dans cet exemple, la sélection sera comprise entre le 1er janvier 2017, 17 h 00 et le 15 janvier 2017 à 17 h 00 pour l’intervalle de 14 jours. Si l’on considère le même exemple, sans sélectionner ce paramètre, la période récente utilise le début de la journée actuelle comme heure de fin (selon l’heure système locale). Dans notre exemple, cela signifie que la sélection sera comprise entre le 1er janvier 2017 à minuit et le 15 janvier 2017 à minuit pour l’intervalle de 14 jours.

Ce paramètre est actif uniquement lorsque le paramètre Date Selection Type (Type de sélection Date) est défini sur By Comparative Time Period (Par période comparative) ou By Recency (Par récence).

Boolean
Intervalle
(Facultatif)

Nombre d’unité de temps (minutes, heures, jours, semaines, mois, ou années) définissant la période récente sur laquelle est basée la sélection, par exemple, les événements ayant eu lieu dans les 14 derniers jours.

Ce paramètre est actif uniquement lorsque le paramètre Date Selection Type (Type de sélection Date) est défini sur By Comparative Time Period (Par période comparative) ou By Recency (Par récence).

Time Unit
Heure de début
(Facultatif)

Heure de début de la plage temporelle.

Ce paramètre n’est actif que si le paramètre Selection Options (Options de sélection) a la valeur Time (Heure).

Date
Heure de fin
(Facultatif)

Heure de fin de la plage temporelle.

Ce paramètre n’est actif que si le paramètre Selection Options (Options de sélection) a la valeur Time (Heure).

Date
Jours de la semaine
(Facultatif)

Détermine le ou les jours de la semaine qui seront utilisés pour sélectionner les enregistrements.

Ce paramètre n’est actif que si le paramètre Selection Options (Options de sélection) a la valeur Day of week (Jour de la semaine).

  • LundiLes registres enregistrés le lundi seront sélectionnés.
  • MardiLes registres enregistrés le mardi seront sélectionnés.
  • MercrediLes registres enregistrés le mercredi seront sélectionnés.
  • JeudiLes registres enregistrés le jeudi seront sélectionnés.
  • VendrediLes registres enregistrés le vendredi seront sélectionnés.
  • SamediLes registres enregistrés le samedi seront sélectionnés.
  • DimancheLes registres enregistrés le dimanche seront sélectionnés.
String
Mois
(Facultatif)

Détermine le ou les mois qui seront utilisés pour sélectionner les enregistrements.

Ce paramètre n’est actif que si le paramètre Selection Options (Options de sélection) a la valeur Month (Mois).

  • JanvierLes registres enregistrés en janvier seront sélectionnés.
  • FévrierLes registres enregistrés en février seront sélectionnés.
  • MarsLes registres enregistrés en mars seront sélectionnés.
  • AvrilLes registres enregistrés en avril seront sélectionnés.
  • MaiLes registres enregistrés en mai seront sélectionnés.
  • JuinLes registres enregistrés en juin seront sélectionnés.
  • JuilletLes registres enregistrés en juillet seront sélectionnés.
  • AoûtLes registres enregistrés en août seront sélectionnés.
  • SeptembreLes registres enregistrés en septembre seront sélectionnés.
  • OctobreLes registres enregistrés en octobre seront sélectionnés.
  • NovembreLes registres enregistrés en novembre seront sélectionnés.
  • December (Décembre)Les registres enregistrés en décembre seront sélectionnés.
String
Années
(Facultatif)

La ou les années qui seront utilisées pour sélectionner les enregistrements.

Ce paramètre n’est actif que si le paramètre Selection Options (Options de sélection) a la valeur Years (Années).

Long

Sortie obtenue

ÉtiquetteExplicationType de données
Couche ou vue tabulaire mise à jour

Entrées mises à jour avec sélections appliquées.

Table View; Feature Layer
Nombre de lignes

Nombre d’enregistrements sélectionnés.

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})
NomExplicationType de données
in_layer_or_view

Les données contenant un champ de date sur lesquelles la sélection est appliquée.

Table View; Feature Layer
selection_type

Détermine la manière dont la sélection doit être appliquée et ce qui se produit lorsqu’une sélection existe déjà.

  • NEW_SELECTIONLa sélection obtenue remplace la sélection courante. Il s’agit de l’option par défaut.
  • ADD_TO_SELECTIONLa sélection obtenue est ajoutée à la sélection courante si celle-ci existe. S’il n’existe aucune sélection, elle est identique à la nouvelle sélection.
  • REMOVE_FROM_SELECTIONLa sélection obtenue est supprimée de la sélection courante. S’il n’existe aucune sélection, cette option ne produit aucun effet.
  • SUBSET_SELECTIONLa sélection obtenue est associée à la sélection courante. Seuls les enregistrements communs aux deux restent sélectionnés.
String
time_type

Spécifie de quelle façon les champs de date et heure sont utilisés pour sélectionner les registres.

  • SINGLE_TIME_FIELDLes registres sont sélectionnés en fonction d’un seul champ temporel dans l’entité en entrée.
  • TIME_RANGE_FIELDSLes registres sont sélectionnés en fonction des champs d’heure de début et de fin dans l’entité en entrée.
String
date_field
(Facultatif)

Champ Date de la couche en entrée sur lequel sera basée la sélection. Ce paramètre est actif uniquement si le paramètre time_type est défini sur SINGLE_TIME_FIELD.

Field
start_date_field
(Facultatif)

Champ Date de début issu de plage de temps sur laquelle sera basée la sélection. Ce paramètre est actif uniquement si le paramètre time_type est défini sur TIME_RANGE_FIELDS.

Field
end_date_field
(Facultatif)

Champ Date de fin issu de plage temporelle sur laquelle sera basée la sélection. Ce paramètre est actif uniquement si le paramètre time_type est défini sur TIME_RANGE_FIELDS.

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

Spécifie comment seront effectuées les sélections de date et heure.

  • DATELa sélection sera effectuée par date.
  • TIMELa sélection sera effectuée par heure de la journée.
  • DAY_OF_WEEKLa sélection sera effectuée par jour de la semaine.
  • MONTHLa sélection sera effectuée par mois.
  • YEARLa sélection sera effectuée par année.
String
date_selection_type
(Facultatif)

Détermine si les enregistrements seront sélectionnés en fonction d’une plage de dates, d’une date unique, d’une période de récence ou d’une période comparative.

Ce paramètre est actif uniquement lorsque le paramètre selection_options est défini sur DATE.

  • DATE_RANGELes registres seront sélectionnés en fonction d’une plage de dates de début et de fin.
  • SINGLE_DATELes enregistrements seront sélectionnés en fonction de la date unique spécifiée.
  • RECENCYLa sélection des registres s’effectuera en fonction d’une période donnée par rapport à la date actuelle (date et heure système), par exemple, au cours des 14 derniers jours.
  • COMPARATIVELa sélection des registres s’effectuera en fonction de la période précédant immédiatement une période récente par rapport à la date actuelle (date et heure système). Si, par exemple, la date actuelle est le 29 janvier et que la période considérée est 14 jours, les registres compris entre le 1er janvier et le 14 janvier seront sélectionnés. Cette option peut être combinée à une sélection By Recency (Par récence) (RECENCY dans Python) afin de comparer le nombre d’enregistrements entre deux périodes adjacentes (par exemple, les deux périodes de 14 jours allant du 1er au 14 janvier et du 15 au 28 janvier).
String
single_date
(Facultatif)

Date et heure unique à sélectionner.

Ce paramètre est actif uniquement lorsque le paramètre date_selection_type est défini sur SINGLE_DATE.

Date
start_date
(Facultatif)

Date de début de la plage de dates.

Ce paramètre est actif uniquement lorsque le paramètre date_selection_type est défini sur DATE_RANGE.

Date
end_date
(Facultatif)

Date de fin de la plage de dates.

Ce paramètre est actif uniquement lorsque le paramètre date_selection_type est défini sur DATE_RANGE.

Date
use_system_time
(Facultatif)

Spécifie si les registres de la journée en cours (heure système locale) seront inclus dans la sélection s’ils existent dans la période récente.

  • SYSTEM_TIMELes registres de la journée en cours seront inclus dans la sélection.
  • NO_SYSTEM_TIMELes registres de la journée en cours ne seront pas inclus dans la sélection. Il s’agit de l’option par défaut.

Par exemple, si la tranche temporelle spécifiée est de 14 jours, que l’outil est exécuté le 15 janvier à 17 h 00 (heure système locale), la période de récence inclut tous les enregistrements compris dans la période commençant 14 jours auparavant à 17 h 00 et le jour d’exécution de l’outil à 17 h 00 ; SYSTEM_TIME est sélectionné. Dans cet exemple, la sélection sera comprise entre le 1er janvier 2017 à 17 h 00 et le 15 janvier 2017 à 17 h 00. Si l’on considère le même exemple, en sélectionnant NO_SYSTEM_TIME, la période récente utilise le début de la journée actuelle comme heure de fin (selon l’heure système locale). Dans notre exemple, cela signifie que la sélection sera comprise entre le 1er janvier 2017 à minuit et le 15 janvier 2017 à minuit pour l’intervalle de 14 jours.

Ce paramètre est actif uniquement lorsque le paramètre date_selection_type est défini sur COMPARATIVE ou RECENCY.

Boolean
time_slice
(Facultatif)

Nombre d’unité de temps (minutes, heures, jours, semaines, mois, ou années) définissant la période récente sur laquelle est basée la sélection, par exemple, les événements ayant eu lieu dans les 14 derniers jours.

Ce paramètre est actif uniquement lorsque le paramètre date_selection_type est défini sur COMPARATIVE ou RECENCY.

Time Unit
start_time
(Facultatif)

Heure de début de la plage temporelle.

Ce paramètre est actif uniquement lorsque le paramètre selection_options est défini sur TIME.

Date
end_time
(Facultatif)

Heure de fin de la plage temporelle.

Ce paramètre est actif uniquement lorsque le paramètre selection_options est défini sur TIME.

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

Détermine le ou les jours de la semaine qui seront utilisés pour sélectionner les enregistrements.

  • MONDAYLes registres enregistrés le lundi seront sélectionnés.
  • TUESDAYLes registres enregistrés le mardi seront sélectionnés.
  • WEDNESDAYLes registres enregistrés le mercredi seront sélectionnés.
  • THURSDAYLes registres enregistrés le jeudi seront sélectionnés.
  • FRIDAYLes registres enregistrés le vendredi seront sélectionnés.
  • SATURDAYLes registres enregistrés le samedi seront sélectionnés.
  • SUNDAYLes registres enregistrés le dimanche seront sélectionnés.

Ce paramètre est actif uniquement lorsque le paramètre selection_options est défini sur DAY_OF_WEEK.

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

Détermine le ou les mois qui seront utilisés pour sélectionner les enregistrements.

  • JANUARYLes registres enregistrés en janvier seront sélectionnés.
  • FEBRUARYLes registres enregistrés en février seront sélectionnés.
  • MARCHLes registres enregistrés en mars seront sélectionnés.
  • APRILLes registres enregistrés en avril seront sélectionnés.
  • MAYLes registres enregistrés en mai seront sélectionnés.
  • JUNELes registres enregistrés en juin seront sélectionnés.
  • JULYLes registres enregistrés en juillet seront sélectionnés.
  • AUGUSTLes registres enregistrés en août seront sélectionnés.
  • SEPTEMBERLes registres enregistrés en septembre seront sélectionnés.
  • OCTOBERLes registres enregistrés en octobre seront sélectionnés.
  • NOVEMBERLes registres enregistrés en novembre seront sélectionnés.
  • DECEMBERLes registres enregistrés en décembre seront sélectionnés.

Ce paramètre est actif uniquement lorsque le paramètre selection_options est défini sur MONTH.

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

La ou les années qui seront utilisées pour sélectionner les enregistrements.

Ce paramètre est actif uniquement lorsque le paramètre selection_options est défini sur YEAR.

Long

Sortie obtenue

NomExplicationType de données
out_layer_or_view

Entrées mises à jour avec sélections appliquées.

Table View; Feature Layer
count

Nombre d’enregistrements sélectionnés.

Long

Exemple de code

Exemple 1 d’utilisation de la fonction SelectLayerByDateAndTime (fenêtre Python)

Le script ci-dessous illustre l’utilisation de la fonction SelectLayerByDateAndTime en mode immédiat.

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")
Exemple 2 d’utilisation de la fonction SelectLayerByDateAndTime (fenêtre autonome)

Le script autonome suivant est un exemple d’utilisation de la fonction SelectLayerByDateAndTime dans 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")

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes