Chicago Safety Data
Demandes de service 311 de la ville de Chicago, notamment des plaintes concernant le code d’assainissement, des nids-de-poule signalés et des problèmes d’éclairage public
Toutes les plaintes relatives au code d’assainissement ouvert ont été adressées au service 311 et toutes les demandes traitées depuis le 1er janvier 2011. Le Département Streets and Sanitation examine et corrige les violations du code de l’assainissement de Chicago. Les résidents peuvent effectuer une demande de service pour des infractions telles que des bennes à ordures qui débordent et des déchets dans la rue. Le 311 reçoit parfois des plaintes en double relatives au code d’assainissement. Les demandes étiquetées comme des doublons se trouvent dans la même zone géographique qu’une demande précédente et ont été entrées dans le système de demande de service clientèle (RSC) du service 311 à peu près au même moment. Les plaintes en double sont identifiées comme telles dans le champ d’état, sous la forme « Open-Dup » ou « Completed-Dup ».
Le département des transports de Chicago (CDOT) supervise la réparation des nids-de-poule sur plus de 4 000 miles de grandes artères et de rues résidentielles à Chicago. Le CDOT reçoit des rapports sur les nids-de-poule par l’intermédiaire du centre d’appels 311 et utilise un système de cartographie et de suivi informatisé pour identifier l’emplacement des nids-de-poule et planifier efficacement l’intervention des équipes. Un appel au 311 peut générer plusieurs réparations de nids-de-poule. Lorsqu’une équipe arrive pour réparer un nid-de-poule signalé au 311, elle s’occupe de tous les autres nids-de-poule du bloc. Les réparations des nids-de-poule sont généralement terminées dans les 7 jours suivant le premier signalement d’un nid-de-poule au service 311. Les conditions météorologiques, en particulier les températures glaciales et les précipitations, ont une influence sur la durée des réparations. Les jours où le temps est clément et où il n’y a pas de précipitations, les équipes peuvent réparer plusieurs milliers de nids-de-poule. Si une demande précédente est déjà ouverte pour un groupe de 4 adresses, elle reçoit le statut « Duplicate (Open) ». Par exemple, s’il existe une demande pour 6535 N Western et qu’une nouvelle demande est reçue pour 6531 N Western (qui se trouve à moins de quatre adresses de la demande d’origine), la nouvelle demande reçoit le statut « Duplicate (Open) ». Une fois la rue réparée, le statut de la demande indique « Completed » pour la demande d’origine et « Duplicate (Closed) » pour toutes les demandes en double. Une demande de service reçoit également le statut « Completed » lorsque l’adresse déclarée est inspectée mais qu’aucun nid-de-poule n’est trouvé ou que le nid-de-poule a déjà été comblé. Si un autre problème est détecté dans la rue, tel qu’un « effondrement » ou une « coupure de service », il est alors dirigé vers le service ou l’entrepreneur approprié.
Tous les rapports ouverts intitulés « Street Lights - All Out » (panne d’au moins 3 éclairages) envoyés à l’attention du service 311 et toutes les demandes traitées depuis le 1er janvier 2011. Le ministère des Transports de Chicago (CDOT) supervise environ 250 000 lampadaires qui éclairent les artères et rues résidentielles de Chicago. La CDOT effectue les réparations et le remplacement des ampoules en réponse aux rapports des résidents sur les pannes d’éclairage. À chaque fois que le CDOT reçoit un rapport indiquant que tous les éclairages sont hors service (« All Out »), l’électricien chargé de la réparation examine tous les éclairages de ce circuit (chaque circuit comporte 8 à 16 éclairages) pour s’assurer qu’ils fonctionnent tous correctement. Si une deuxième demande relative à un éclairage en panne dans le même circuit est soumise dans les quatre jours calendaires suivant la demande initiale, la demande la plus récente reçoit automatiquement le statut « Duplicate (Open) ». Étant donné que l’électricien du CDOT examine tous les éclairages d’un circuit pour vérifier qu’ils fonctionnent tous, toute adresse de type « Duplicate (Open) » fera automatiquement l’objet d’une observation et d’une réparation. Une fois les éclairages réparés, le statut de la demande indique « Completed » pour la demande d’origine et « Duplicate (Closed) » pour toutes les demandes en double. Une demande de service reçoit également le statut « Completed » lorsque les éclairages signalés sont inspectés mais s’avèrent en bon état de fonctionnement et de réparation. Lorsque la demande de service concerne une adresse inexistante ; ou lorsque les éclairages sont entretenus par une société privée. Les données sont mises à jour quotidiennement.
Volume et rétention
Ce jeu de données est stocké au format Parquet. Il est mis à jour quotidiennement et contient environ 1 million de lignes (80 Mo) en 2018.
Ce jeu de données contient les enregistrements historiques accumulés de 2011 à 2018. Vous pouvez utiliser les paramètres de paramétrage de notre SDK pour récupérer les données dans un intervalle de temps spécifique.
Emplacement de stockage
Ce jeu de données est stocké dans la région Azure USA Est. L’allocation de ressources de calcul dans la région USA Est est recommandée à des fins d’affinité.
Informations supplémentaires
Ce jeu de données est fourni par les services publiques de la ville de Chicago. Des informations supplémentaires sont disponibles en cliquant sur les liens suivants : Sanitation, Pot Holes, Street Lights.
Cliquez ici pour les termes utilisés dans ce jeu de données. Envoyez un e-mail à dataportal@cityofchicago.org si vous avez des questions sur la source de données.
Remarques
MICROSOFT FOURNIT AZURE OPEN DATASETS “EN L’ÉTAT”. MICROSOFT N’OFFRE AUCUNE GARANTIE, EXPRESSE OU IMPLICITE, DE GARANTIE NI DE CONDITIONS RELATIVES À VOTRE UTILISATION DES JEUX DE DONNÉES. DANS LA MESURE AUTORISÉE PAR VOTRE DROIT LOCAL, MICROSOFT DÉCLINE TOUTE RESPONSABILITÉ POUR TOUT DOMMAGE OU PERTES, Y COMPRIS LES DIRECTIVES, CONSEQUENTIELLES, SPÉCIALES, INDIRECTES OU PUNITIVES, RÉSULTANT DE VOTRE UTILISATION DES JEUX DE DONNÉES.
Ce jeu de données est fourni selon les conditions initiales par lesquelles Microsoft a reçu les données sources. Le jeu de données peut inclure des données provenant de Microsoft.
Access
Available in | When to use |
---|---|
Azure Notebooks | Quickly explore the dataset with Jupyter notebooks hosted on Azure or your local machine. |
Azure Databricks | Use this when you need the scale of an Azure managed Spark cluster to process the dataset. |
Azure Synapse | Use this when you need the scale of an Azure managed Spark cluster to process the dataset. |
Preview
dataType | dataSubtype | dateTime | category | subcategory | status | address | source | extendedProperties | latitude | longitude |
---|---|---|---|---|---|---|---|---|---|---|
Safety | 311_All | 2/14/2021 11:54:57 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:54:42 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:54:01 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:52:56 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:52:39 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:51:37 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:51:37 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 2/14/2021 11:51:34 PM | Ice and Snow Removal Request | null | Open | 5110 W LE MOYNE ST | null | 41.907864944 | -87.753870618 | |
Safety | 311_All | 2/14/2021 11:49:49 PM | Ice and Snow Removal Request | null | Open | 5620 W MELROSE ST | null | 41.939685468 | -87.767459282 | |
Safety | 311_All | 2/14/2021 11:49:23 PM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null |
Name | Data type | Unique | Values (sample) | Description |
---|---|---|---|---|
address | string | 798,089 | 2111 W Lexington ST 10510 W ZEMKE RD |
Adresse. |
category | string | 99 | 311 INFORMATION ONLY CALL Aircraft Noise Complaint |
Type de la demande de service. |
dataSubtype | string | 1 | 311_All | “311_Sanitation”, “311_Potholes” ou “311_Street_Lights”. |
dataType | string | 1 | Safety | “Safety”. |
dateTime | timestamp | 3,777,852 | 2014-01-13 00:00:00 2014-03-10 00:00:00 |
Date de création de la demande de service. |
latitude | double | 1,112,107 | 41.871831278 41.994896549 |
Latitude. |
longitude | double | 1,218,998 | -87.679846219 -87.887751654 |
Longitude. |
status | string | 5 | Completed Completed - Dup |
Statut de la demande de service, indiquant si elle est terminée ou non. |
Azure Notebooks
# This is a package in preview.
from azureml.opendatasets import ChicagoSafety
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2016-01-01')
start_date = parser.parse('2015-05-01')
safety = ChicagoSafety(start_date=start_date, end_date=end_date)
safety = safety.to_pandas_dataframe()
safety.info()
# Pip install packages
import os, sys
!{sys.executable} -m pip install azure-storage-blob
!{sys.executable} -m pip install pyarrow
!{sys.executable} -m pip install pandas
# Azure storage access info
azure_storage_account_name = "azureopendatastorage"
azure_storage_sas_token = r""
container_name = "citydatacontainer"
folder_name = "Safety/Release/city=Chicago"
from azure.storage.blob import BlockBlobServicefrom azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
if azure_storage_account_name is None or azure_storage_sas_token is None:
raise Exception(
"Provide your specific name and key for your Azure Storage account--see the Prerequisites section earlier.")
print('Looking for the first parquet under the folder ' +
folder_name + ' in container "' + container_name + '"...')
container_url = f"https://{azure_storage_account_name}.blob.core.windows.net/"
blob_service_client = BlobServiceClient(
container_url, azure_storage_sas_token if azure_storage_sas_token else None)
container_client = blob_service_client.get_container_client(container_name)
blobs = container_client.list_blobs(folder_name)
sorted_blobs = sorted(list(blobs), key=lambda e: e.name, reverse=True)
targetBlobName = ''
for blob in sorted_blobs:
if blob.name.startswith(folder_name) and blob.name.endswith('.parquet'):
targetBlobName = blob.name
break
print('Target blob to download: ' + targetBlobName)
_, filename = os.path.split(targetBlobName)
blob_client = container_client.get_blob_client(targetBlobName)
with open(filename, 'wb') as local_file:
blob_client.download_blob().download_to_stream(local_file)
# Read the parquet file into Pandas data frame
import pandas as pd
print('Reading the parquet file into Pandas data frame')
df = pd.read_parquet(filename)
# you can add your filter at below
print('Loaded as a Pandas data frame: ')
df
Azure Databricks
# This is a package in preview.
# You need to pip install azureml-opendatasets in Databricks cluster. https://docs.microsoft.com/en-us/azure/data-explorer/connect-from-databricks#install-the-python-library-on-your-azure-databricks-cluster
from azureml.opendatasets import ChicagoSafety
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2016-01-01')
start_date = parser.parse('2015-05-01')
safety = ChicagoSafety(start_date=start_date, end_date=end_date)
safety = safety.to_spark_dataframe()
display(safety.limit(5))
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "citydatacontainer"
blob_relative_path = "Safety/Release/city=Chicago"
blob_sas_token = r""
# Allow SPARK to read from Blob remotely
wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set(
'fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name),
blob_sas_token)
print('Remote blob path: ' + wasbs_path)
# SPARK read parquet, note that it won't load any data yet by now
df = spark.read.parquet(wasbs_path)
print('Register the DataFrame as a SQL temporary view: source')
df.createOrReplaceTempView('source')
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))
Azure Synapse
# This is a package in preview.
from azureml.opendatasets import ChicagoSafety
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2016-01-01')
start_date = parser.parse('2015-05-01')
safety = ChicagoSafety(start_date=start_date, end_date=end_date)
safety = safety.to_spark_dataframe()
# Display top 5 rows
display(safety.limit(5))
# Display data statistic information
display(safety, summary = True)
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "citydatacontainer"
blob_relative_path = "Safety/Release/city=Chicago"
blob_sas_token = r""
# Allow SPARK to read from Blob remotely
wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set(
'fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name),
blob_sas_token)
print('Remote blob path: ' + wasbs_path)
# SPARK read parquet, note that it won't load any data yet by now
df = spark.read.parquet(wasbs_path)
print('Register the DataFrame as a SQL temporary view: source')
df.createOrReplaceTempView('source')
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))

City Safety
From the Urban Innovation Initiative at Microsoft Research, databricks notebook for analytics with safety data (311 and 911 call data) from major U.S. cities. Analyses show frequency distributions and geographic clustering of safety issues within cities.