Chicago Safety Data
311-serviceaanvragen van de stad Chicago, waaronder historische gegevens over klachten met betrekking tot de voorschriften voor de afvalverwerking, gemelde kuilen in de weg en problemen met de straatverlichting
Alle openstaande klachten met betrekking tot de voorschriften voor de afvalverwerking die bij 311 zijn gemeld en alle aanvragen die zijn voltooid sinds 1 januari 2011. De Department of Streets and Sanitation (afdeling voor straten en afvalverwerking) onderzoekt en verhelpt gemelde overtredingen van de voorschriften voor afvalverwerking van Chicago. Bewoners kunnen een serviceaanvraag indienen voor overtredingen, zoals overvolle afvalcontainers en vuil in de steeg. 311 ontvangt soms dubbele klachten met betrekking tot de voorschriften voor de afvalverwerking. Aanvragen die zijn aangeduid als een dubbele aanvraag, bevinden zich in hetzelfde geografische gebied als een voorgaande aanvraag en zijn rond dezelfde tijd in het CSR-systeem (Customer Service Request) van 311 ingevoerd. Dubbele klachten worden in het statusveld aangeduid als ‘Open - Dup’ (Openstaand - dubbel) of ‘Completed - Dup’ (Voltooid - dubbel).
De Chicago Department of Transportation (CDOT) houdt toezicht op het opvullen van kuilen in de meer dan 4000 mijl aan wegen voor doorgaand verkeer en woonstraten in Chicago. De CDOT ontvangt meldingen van kuilen via het 311-callcenter en maakt gebruik van een computergestuurd kaart- en traceersysteem om de locaties van de kuilen te bepalen en op efficiënte wijze ploegen wegwerkers in te plannen. Eén telefonische melding bij 311 kan meerdere kuilreparaties genereren. Wanneer een ploeg wegwerkers aankomt bij een 311-kuil, vult deze gelijk de andere kuilen in het blok op. Kuilreparaties worden over het algemeen uitgevoerd binnen zeven dagen na de eerste melding van een kuil bij 311. Weersomstandigheden, met name vriestemperaturen en neerslag, zijn van invloed op de duur van de reparatie. Op dagen dat het weer meewerkt en het niet regent, kunnen ploegen wegwerkers enige duizenden kuilen vullen. Als er al een voorgaande aanvraag openstaat voor een buffer van vier adressen, krijgt de aanvraag de status Duplicate (Open) (Dubbel - openstaand). Als er bijvoorbeeld een bestaande CSR (klantenserviceaanvraag) is voor 6535 N Western en er een nieuwe aanvraag wordt ontvangen voor 6531 N Western (dat binnen vier adressen van de oorspronkelijke CSR ligt), krijgt de nieuwe aanvraag de status Duplicate (Open) (Dubbel - openstaand). Wanneer de straat is gerepareerd, wordt voor de oorspronkelijke aanvraag in CSR de status Completed (Voltooid) weergegeven en voor eventuele dubbele aanvragen de status ‘Duplicate (Closed)’ (Dubbel - gesloten). Een serviceaanvraag krijgt ook de status Completed wanneer het gemelde adres wordt onderzocht en er geen kuilen worden gevonden of als deze al zijn opgevuld. Als er een ander probleem met de straat wordt aangetroffen, zoals een ingezakt wegdek of een foutieve afsluiting van de voorzieningen, wordt dit doorgeleid naar de betreffende afdeling of aannemer.
Alle openstaande meldingen met Street Lights - All Out (Straatverlichting - alles uit) (wanneer drie of meer lampen zijn uitgevallen) die bij 311 zijn binnengekomen en alle aanvragen die zijn voltooid sinds 1 januari 2011. De Chicago Department of Transportation (CDOT) houdt toezicht op ongeveer 250.000 straatlampen die wegen voor doorgaand verkeer en woonstraten in Chicago verlichten. De CDOT voert reparaties uit en vervangt lampen bij meldingen van bewoners of als er straatverlichting uitvalt. Wanneer de CDOT een melding ontvangt met de status All Out (Alles uit) inspecteert de elektricien die de reparatie moet uitvoeren alle lampen in dat circuit (elk circuit bevat 8 tot 16 lampen) om er zeker van te zijn dat alle lampen goed werken. Als er binnen vier kalenderdagen een tweede aanvraag binnenkomt voor uitgevallen lampen in hetzelfde circuit, krijgt de laatste aanvraag automatisch de status Duplicate (Open) (Dubbel - openstaand). Omdat de elektricien van de CDOT alle lampen in een circuit inspecteert om na te gaan of ze allemaal werken, worden adressen met de status Duplicate (Open) (Dubbel - openstaand) automatisch bekeken en gerepareerd. Wanneer de straatlampen zijn gerepareerd, wordt voor de oorspronkelijke aanvraag in CSR de status Completed (Voltooid) en voor eventuele dubbele aanvragen de status Duplicate (Closed) (Voltooid - gesloten) weergegeven. Een serviceaanvraag krijgt ook de status Completed (Voltooid) wanneer de gemelde lampen in orde zijn en goed blijken te werken, wanneer het adres van de serviceaanvraag niet blijkt te bestaan of wanneer de lampen worden onderhouden door een aannemer. De gegevens worden dagelijks bijgewerkt.
Volume en retentie
Deze gegevensset wordt opgeslagen in de Parquet-indeling. De gegevensset wordt dagelijks bijgewerkt en bevat sinds 2018 in totaal ongeveer 1 miljoen rijen (80 MB).
Deze gegevensset bevat historische records die van 2011 tot en met 2018 zijn verzameld. U kunt in onze SDK gebruikmaken van parameterinstellingen om gegevens op te halen binnen een specifiek tijdsbereik.
Opslaglocatie
Deze gegevensset wordt opgeslagen in de Azure-regio US - oost. Het wordt aanbevolen om rekenresources in US - oost toe te wijzen voor affiniteit.
Aanvullende informatie
Deze gegevensset is afkomstig van het stadsbestuur van Chicago. U vindt meer informatie via de volgende koppelingen: Afvalverwerking, Kuilen, Straatverlichting.
Raadpleeg de informatie hier voor de voorwaarden voor het gebruik van deze gegevensset. Stuur een e-mail naar dataportal@cityofchicago.org als u vragen hebt over de gegevensbron.
Mededelingen
AZURE OPEN GEGEVENSSETS WORDEN DOOR MICROSOFT ONGEWIJZIGD GELEVERD. MICROSOFT GEEFT GEEN GARANTIES, EXPLICIET OF IMPLICIET, ZEKERHEDEN OF VOORWAARDEN MET BETREKKING TOT HET GEBRUIK VAN DE GEGEVENSSETS. VOOR ZOVER IS TOEGESTAAN ONDER HET TOEPASSELIJKE RECHT, WIJST MICROSOFT ALLE AANSPRAKELIJKHEID AF VOOR SCHADE OF VERLIEZEN, WAARONDER GEVOLGSCHADE OF DIRECTE, SPECIALE, INDIRECTE, INCIDENTELE OF PUNITIEVE SCHADE DIE VOORTVLOEIT UIT HET GEBRUIK VAN DE GEGEVENSSETS.
Deze gegevensset wordt geleverd onder de oorspronkelijke voorwaarden dat Microsoft de brongegevens heeft ontvangen. De gegevensset kan gegevens bevatten die afkomstig zijn van 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 | 1/7/2021 2:15:35 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:14:23 AM | Graffiti Removal Request | null | Open | 5233 N CLARK ST | null | 41.977229414 | -87.668146254 | |
Safety | 311_All | 1/7/2021 2:12:32 AM | Dead Animal Pick-Up Request | null | Open | 7814 S CHAMPLAIN AVE | null | 41.752554141 | -87.609200702 | |
Safety | 311_All | 1/7/2021 2:10:19 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:09:14 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:07:22 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:00:52 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:00:38 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:00:20 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null | |||
Safety | 311_All | 1/7/2021 2:00:02 AM | 311 INFORMATION ONLY CALL | null | Completed | 2111 W Lexington ST | null |
Name | Data type | Unique | Values (sample) | Description |
---|---|---|---|---|
address | string | 815,284 | 2111 W Lexington ST 10510 W ZEMKE RD |
Adres. |
category | string | 99 | 311 INFORMATION ONLY CALL Aircraft Noise Complaint |
Het type serviceaanvraag. |
dataSubtype | string | 1 | 311_All | ‘311_Sanitation’, ‘311_Potholes’ of ‘311_Street_Lights’. |
dataType | string | 1 | Safety | ‘Veiligheid’. |
dateTime | timestamp | 3,797,922 | 2014-01-13 00:00:00 2014-03-10 00:00:00 |
Aanmaakdatum van de serviceaanvraag. |
latitude | double | 1,141,181 | 41.871831278 41.994896549 |
Breedtegraad. |
longitude | double | 1,273,676 | -87.679846219 -87.887751654 |
Lengtegraad. |
status | string | 5 | Completed Completed - Dup |
Status van de serviceaanvraag waarmee wordt aangegeven of deze wel of niet is voltooid. |
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.