Layer nach Datum und Uhrzeit auswählen (Crime Analysis and Safety)

Zusammenfassung

Wählt Datensätze auf Grundlage von Datums- und Uhrzeitbereichen oder Datumseigenschaften aus, z. B. einzelnes Datum, Zeitbereich, Zeitraum, Wochentage, Monat oder Jahr.

Verwendung

  • Als Eingabe ist ein Feature-Layer oder eine Tabellensicht zulässig.

  • Die Eingabe muss ein Datumsfeld enthalten. Wenn die Eingabe kein Datumsfeld enthält, können Sie mit dem Werkzeug Zeitfeld konvertieren ein Datumsfeld generieren, das aus den als Text formatierten Datumswerten in einem Textfeld abgeleitet wird.

  • Dieses Werkzeug trifft eine Auswahl anhand aller Auswahlkriterien. Wenn ein Teil des Eingabedatums nicht den Auswahlkriterien entspricht, wird das Feature nicht ausgewählt.

  • Um das Werkzeug in einem Modell oder Skript zu verwenden, konvertieren Sie mit dem Werkzeug Tabellensicht erstellen oder Feature-Layer erstellen eine Eingabe-Feature-Class in eine Tabellensicht bzw. einen Feature-Layer, bevor Sie das Werkzeug ausführen.

Syntax

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})
ParameterErklärungDatentyp
in_layer_or_view

Die Daten, die ein Datumsfeld enthalten, auf das die Auswahl angewendet wird.

Table View
selection_type

Gibt an, wie die Auswahl angewendet wird, und welche Aktion ausgeführt wird, wenn bereits eine Auswahl vorhanden ist.

  • NEW_SELECTION Die getätigte Auswahl ersetzt die aktuelle Auswahl. Dies ist die Standardeinstellung.
  • ADD_TO_SELECTION Die getätigte Auswahl wird der aktuellen Auswahl hinzugefügt (wenn eine vorhanden ist). Wenn keine Auswahl vorhanden ist, entspricht diese Option der Option "Neue Auswahl".
  • REMOVE_FROM_SELECTION Die getätigte Auswahl wird aus der aktuellen Auswahl entfernt. Wenn keine Auswahl vorhanden ist, ist diese Option irrelevant.
  • SUBSET_SELECTION Die getätigte Auswahl wird mit der aktuellen Auswahl kombiniert. Nur Datensätze, die in beiden Auswahlen vorhanden sind, werden ausgewählt.
String
time_type

Legt fest, wie Datums- und Uhrzeitfelder für die Auswahl von Datensätzen verwendet werden.

  • SINGLE_TIME_FIELDDie Datensätze werden auf Grundlage eines einzelnen Uhrzeitfeldes im Eingabe-Feature ausgewählt.
  • TIME_RANGE_FIELDSDie Datensätze werden auf Grundlage von Start- und Endzeitfeldern im Eingabe-Feature ausgewählt.
String
date_field
(optional)

Das Datumsfeld im Eingabe-Layer, auf dem die Auswahl basieren soll. Dieser Parameter ist nur aktiv, wenn für den Parameter Zeittyp die Option Einzelnes Uhrzeitfeld festgelegt wurde.

Field
start_date_field
(optional)

Das Feld für das Startdatum aus dem Zeitbereich, auf dem die Auswahl basiert. Dieser Parameter ist nur aktiv, wenn für den Parameter Zeittyp die Option Zeitbereichsfelder festgelegt wurde.

Field
end_date_field
(optional)

Das Feld für das Enddatum aus dem Zeitbereich, auf dem die Auswahl basiert. Dieser Parameter ist nur aktiv, wenn für den Parameter Zeittyp die Option Zeitbereichsfelder festgelegt wurde.

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

Legt fest, wie die Auswahl von Datum und Uhrzeit erfolgt.

  • DATEDie Auswahl erfolgt nach Datum.
  • TIMEDie Auswahl erfolgt nach Uhrzeit.
  • DAY_OF_WEEKDie Auswahl erfolgt nach Wochentag.
  • MONTHDie Auswahl erfolgt nach Monat.
  • YEARDie Auswahl erfolgt nach Jahr.
String
date_selection_type
(optional)

Legt fest, ob die Datensätze nach Datumsbereich, einzelnem Datum, Aktualitätszeitraum oder Vergleichszeitraum ausgewählt werden.

Dieser Parameter ist nur aktiv, wenn für den Parameter Auswahloptionen die Option Datum festgelegt wurde.

  • DATE_RANGEDie Datensätze werden auf Grundlage eines Datumsbereich (zwischen Start- und Enddatum) ausgewählt.
  • SINGLE_DATEDie Datensätze werden auf Grundlage des angegebenen Datums ausgewählt.
  • RECENCYDie Datensätze werden auf Grundlage eines Zeitraums in Bezug zum aktuellen Datum (Systemdatum und -uhrzeit) ausgewählt. Beispiel: innerhalb der letzten 14 Tage.
  • COMPARATIVEDie Datensätze werden auf Grundlage des Zeitraums ausgewählt, der unmittelbar vor dem letzten Zeitraum in Bezug auf das aktuelle Datum (Systemdatum und -uhrzeit) liegt. Wenn beispielsweise das aktuelle Datum der 29. Januar ist und das Zeitintervall 14 Tage beträgt, werden Datensätze zwischen dem 1. Januar und 14. Januar ausgewählt. Diese Option kann mit einer nachfolgenden Auswahl von Nach Aktualität kombiniert werden. Auf diese Weise kann die Anzahl der Datensätze zweier benachbarter Zeiträume (z. B. vom 1. bis 14. Januar und vom 15. bis 28. Januar) verglichen werden.
String
single_date
(optional)

Es wird ein einzelner Datums-/Uhrzeitwert ausgewählt.

Dieser Parameter ist nur aktiv, wenn für den Parameter Datumsauswahltyp die Option Nach einzelnem Datum festgelegt wurde.

Date
start_date
(optional)

Das Startdatum des Datumsbereichs.

Dieser Parameter ist nur aktiv, wenn für den Parameter Datumsauswahltyp die Option Nach Datumsbereich festgelegt wurde.

Date
end_date
(optional)

Das Enddatum des Datumsbereichs.

Dieser Parameter ist nur aktiv, wenn für den Parameter Datumsauswahltyp die Option Nach Datumsbereich festgelegt wurde.

Date
use_system_time
(optional)

Legt fest, ob Datensätze vom aktuellen Tag (lokale Systemzeit) in die Auswahl aufgenommen werden, wenn sie im letzten Zeitraum vorhanden sind.

  • SYSTEM_TIMEDatensätze vom aktuellen Tag werden in die Auswahl aufgenommen.
  • NO_SYSTEM_TIMEDatensätze vom aktuellen Tag werden nicht in die Auswahl aufgenommen. Dies ist die Standardeinstellung.

Beispiel: Das angegebene Zeitintervall beträgt 14 Tage, beim Ausführen des Werkzeugs lautet die aktuelle Systemzeit 17:00 Uhr und das Datum 15. Januar, der Aktualitätszeitraum enthält alle Datensätze zwischen 17:00 Uhr an dem Datum vor 14 Tagen und 17:00 Uhr am Tag der Ausführung des Werkzeugs, und SYSTEM_TIME ist ausgewählt. In diesem Beispiel lautet die Auswahl 1. Januar 2017 17:00:00 Uhr bis 15. Januar 2017 17:00:00 Uhr. Wenn in diesem Beispiel NO_SYSTEM_TIME aktiviert ist, wird für den letzten Zeitraum der Anfang des aktuellen Tages als Endzeit (auf Grundlage der lokalen Systemzeit) verwendet. In diesem Fall lautet die Auswahl für das Zeitintervall von 14 Tagen 1. Januar 2017 00:00:00 bis 15. Januar 2017 00:00:00.

Boolean
time_slice
(optional)

Die Anzahl der Zeiteinheiten (Minuten, Stunden, Tage, Wochen, Monate oder Jahre), die den letzten Zeitraum definieren, auf dem die Auswahl basiert, z. B. Ereignisse in den letzten 14 Tagen.

Dieser Parameter ist nur aktiv, wenn für den Parameter Datumsauswahltyp die Option Nach Vergleichszeitraum oder Nach Aktualität festgelegt wurde.

Time Unit
start_time
(optional)

Die Startzeit für den Zeitbereich.

Dieser Parameter ist nur aktiv, wenn für den Parameter Auswahloptionen die Option Zeit festgelegt wurde.

Date
end_time
(optional)

Die Endzeit für den Zeitbereich.

Dieser Parameter ist nur aktiv, wenn für den Parameter Auswahloptionen die Option Zeit festgelegt wurde.

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

Legt die für die Auswahl von Datensätzen verwendeten Wochentage fest.

  • MONDAYDatensätze von Montag werden ausgewählt.
  • TUESDAYDatensätze von Dienstag werden ausgewählt.
  • WEDNESDAYDatensätze von Mittwoch werden ausgewählt.
  • THURSDAYDatensätze von Donnerstag werden ausgewählt.
  • FRIDAYDatensätze von Freitag werden ausgewählt.
  • SATURDAYDatensätze von Samstag werden ausgewählt.
  • SUNDAYDatensätze von Sonntag werden ausgewählt.

Dieser Parameter ist nur aktiv, wenn für den Parameter Auswahloptionen die Option Wochentag festgelegt wurde.

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

Legt die für die Auswahl von Datensätzen verwendeten Monate fest.

  • JANUARYDatensätze von Januar werden ausgewählt.
  • FEBRUARYDatensätze von Februar werden ausgewählt.
  • MARCHDatensätze von März werden ausgewählt.
  • APRILDatensätze von April werden ausgewählt.
  • MAYDatensätze von Mai werden ausgewählt.
  • JUNEDatensätze von Juni werden ausgewählt.
  • JULYDatensätze von Juli werden ausgewählt.
  • AUGUSTDatensätze von August werden ausgewählt.
  • SEPTEMBERDatensätze von September werden ausgewählt.
  • OCTOBERDatensätze von Oktober werden ausgewählt.
  • NOVEMBERDatensätze von November werden ausgewählt.
  • DECEMBERDatensätze von Dezember werden ausgewählt.

Dieser Parameter ist nur aktiv, wenn für den Parameter Auswahloptionen die Option Monat festgelegt wurde.

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

Legt die für die Auswahl von Datensätzen verwendeten Jahre fest.

Dieser Parameter ist nur aktiv, wenn für den Parameter Auswahloptionen die Option Jahre festgelegt wurde.

Long

Abgeleitete Ausgabe

NameErklärungDatentyp
out_layer_or_view

Die aktualisierten Eingaben mit angewendeter Auswahl.

Tabellenansicht
count

Die Anzahl der ausgewählten Datensätze.

Längengrad

Codebeispiel

SelectLayerByDateAndTime – Beispiel 1 (Python-Fenster)

Das folgende Skript veranschaulicht, wie die Funktion SelectLayerByDateAndTime im unmittelbaren Modus verwendet wird.

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")
SelectLayerByDateAndTime – Beispiel 2 (eigenständiges Fenster)

Das folgende eigenständige Skript ist ein Beispiel für die Verwendung der Funktion SelectLayerByDateAndTime in einem Skript:

# 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")

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen