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 votre 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 effectue utilise l’ensemble des critères de sélection pour effectuer une sélection. Lorsqu’une partie quelconque de la date en entrée ne correspond pas aux critères de sélection, l’entité n’est pas sélectionnée.

  • 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 d’heure

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)

Le champ Date de la couche en entrée sur lequel sera basée la sélection. Ce paramètre est seulement actif si le paramètre Type de temps est défini sur Champ temporel unique.

Field
Champ Date de début
(Facultatif)

Le 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)

Le 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 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)

Spécifie si les registres 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 de comparaison.

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 registres seront sélectionnés en fonction de la date 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). Par exemple, si 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 de registres 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)

La date et l’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)

La 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)

La 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.

  • Sélectionné : les registres de la journée en cours seront inclus dans la sélection.
  • Non sélectionné : les registres de la journée en cours ne seront pas inclus dans la sélection.

Par exemple, si l’intervalle de temps spécifié 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 registres compris dans la période commençant 14 jours auparavant à 17 h et le jour d’exécution de l’outil 17 heures ; 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 utilise 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 seulement actif si le paramètre Type de sélection Date a la valeur Par période comparative ou 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 seulement actif si le paramètre Type de sélection Date a la valeur Par période comparative ou Par récence.

Time Unit
Heure de début
(Facultatif)

L’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)

L’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)

Spécifie les jours de la semaine utilisés pour sélectionner les registres.

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)

Spécifie les mois utilisés pour sélectionner les registres.

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.
  • DécembreLes registres enregistrés en décembre seront sélectionnés.
String
Années
(Facultatif)

Spécifie les années utilisées pour sélectionner les registres.

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)

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

Field
start_date_field
(Facultatif)

Le 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 le paramètre time_type est défini sur TIME_RANGE_FIELDS.

Field
end_date_field
(Facultatif)

Le champ Date de fin issu de plage temporelle sur laquelle sera basée la sélection. Ce paramètre est seulement actif 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 la semaine.
  • MONTHLa sélection sera effectuée par mois.
  • YEARLa sélection sera effectuée par année.
String
date_selection_type
(Facultatif)

Spécifie si les registres 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 de comparaison.

Ce paramètre est seulement actif si 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 registres seront sélectionnés en fonction de la date 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). Par exemple, si 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 de registres 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)

La date et l’heure unique à sélectionner.

Ce paramètre est seulement actif si le paramètre date_selection_type est défini sur SINGLE_DATE.

Date
start_date
(Facultatif)

La date de début de la plage de dates.

Ce paramètre est seulement actif si le paramètre date_selection_type est défini sur DATE_RANGE.

Date
end_date
(Facultatif)

La date de fin de la plage de dates.

Ce paramètre est seulement actif si 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 l’intervalle de temps spécifié 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 registres compris dans la période commençant 14 jours auparavant à 17 h et le jour d’exécution de l’outil 17 heures ; SYSTEM_TIME 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. Si l’on utilise 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 seulement actif si 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 seulement actif si le paramètre date_selection_type est défini sur COMPARATIVE ou RECENCY.

Time Unit
start_time
(Facultatif)

L’heure de début de la plage temporelle.

Ce paramètre est seulement actif si le paramètre selection_options est défini sur TIME.

Date
end_time
(Facultatif)

L’heure de fin de la plage temporelle.

Ce paramètre est seulement actif si le paramètre selection_options est défini sur TIME.

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

Spécifie les jours de la semaine utilisés pour sélectionner les registres.

  • 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 seulement actif si le paramètre selection_options est défini sur DAY_OF_WEEK.

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

Spécifie les mois utilisés pour sélectionner les registres.

  • 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 seulement actif si le paramètre selection_options est défini sur MONTH.

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

Spécifie les années utilisées pour sélectionner les registres.

Ce paramètre est seulement actif si 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