Пропустить навигацию

Chicago Safety Data

Chicago 311 Service Requests Public Safety Streets Pot Holes Lights Garbage Sanitation Complaints

Архив обращений в службу 311 города Чикаго, включающий жалобы на несоблюдение санитарных норм, дорожные выбоины и проблемы с уличным освещением

Все актуальные жалобы на несоблюдение санитарных норм, отправленные в службу 311, и все заявки, выполненные с 1 января 2011 г. Департамент улиц и санитарных норм изучает и устраняет заявленные нарушения санитарных норм Чикаго. Жители могут отправлять заявки на устранение таких нарушений, как переполненные мусорные баки и мусор на тротуаре. Иногда служба 311 получает повторяющиеся жалобы на несоблюдение санитарных норм. Заявки, отмеченные как повторения, относятся к той же географической области, что и предыдущая заявка, и были введены в систему сбора запросов в службу 311 примерно в то же время. Повторяющиеся жалобы отмечаются в поле состояния как “Открыта — дубл.” или “Выполненная — дубл.”

Министерство транспорта Чикаго (CDOT) заведует ремонтом дорожного покрытия более чем 6500 км магистральных и жилых улиц Чикаго. CDOT получает сообщения о выбоинах через операторский центр службы 311 и использует компьютерную систему сопоставления и отслеживания, чтобы находить расположения выбоин и эффективно координировать работу ремонтных бригад. Одно обращение в службу 311 может привести к устранению нескольких выбоин. Когда бригада прибывает на аварийный участок, она также ремонтирует все остальные выбоины в квартале. Как правило, ремонт дорог завершается в течение 7 дней с момента подачи первой заявки о выбоине в службу 311. На продолжительность ремонта влияют погодные условия, особенно низкие температуры и осадки. В те дни, когда погодные условия благоприятны, а осадки отсутствуют, бригады могут ремонтировать по несколько тысяч выбоин. Если в пределах 4 домов уже открыта заявка, то новой назначается состояние “Дублированная (открытая)”. Например, если уже получен запрос на обслуживание по адресу 6535 N Western и поступает новая заявка для адреса 6531 N Western (в пределах четырех домов от первоначального запроса), то новой заявке назначается состояние “Дублированная (открытая)”. Когда улица отремонтирована, состояние первоначальной заявки изменится на “Выполнена”, а состояние повторений — на “Дублированная (закрыта)”. Заявке на обслуживание также назначается состояние “Выполнена”, если выбоины по заявленному адресу не обнаружены или уже заполнены. Если на улице обнаружена другая проблема, например обрушение или незавершенное разрытие для ремонта подземных коммуникаций, она передается соответствующему департаменту или подрядчику.

Все открытые заявки типа “Уличные фонари — все отключены” (отключение трех или более фонарей), поданные в службу 311, и все заявки, выполненные с 1 января 2011 г. Министерство транспорта Чикаго (CDOT) заведует примерно 250 000 уличных фонарей, которые освещают магистральные и жилые улицы Чикаго. CDOT выполняет ремонт фонарей и замену ламп в соответствии с заявками жителей о перебоях освещения. Когда CDOT получает заявку типа “Все отключены”, электрик, которому поручен ремонт, осматривает все фонари в цепи (каждая цепь состоит из 8–16 фонарей), чтобы убедиться в их надлежащей работе. Если в течение четырех календарных дней после первоначального запроса будет подана вторая заявка об отключении фонарей в той же цепи, ей будет автоматически назначено состояние “Дублированная (открытая)”. Электрик CDOT осмотрит все фонари в цепи и убедится в их работоспособности, поэтому каждая заявка типа “Дублированная (открытая)” будет автоматически изучена и выполнена. Когда уличные фонари будут отремонтированы, состояние первоначальной заявки изменится на “Выполнена”, а состояние повторений — на “Дублированная (закрыта)”. Заявке на обслуживание также назначается состояние “Выполнена”, если соответствующие фонари были осмотрены и оказались исправны, заявленный адрес не существует или этими фонарями заведует подрядчик. Данные обновляются ежедневно.

Объем данных и их хранение

Этот набор данных хранится в формате Parquet. Он ежедневно обновляется и по состоянию на 2018 г. содержит около 1 млн строк (80 МБ).

Этот набор данных содержит архивные записи, собранные за 2011–2018 годы. Вы можете использовать параметры из нашего пакета SDK, чтобы получить данные за определенный диапазон времени.

Место хранения

Этот набор данных хранится в регионе Azure “Восточная часть США”. Для обеспечения приближенности рекомендуется выделять вычислительные ресурсы в регионе “Восточная часть США”.

Дополнительная информация

Этот набор данных получен исключительно от администрации города Чикаго. Дополнительные сведения можно найти по следующим ссылкам: санитария, выбоины, уличные фонари

Здесь представлены условия использования этого набора данных. Если у вас есть вопросы об источнике данных, напишите на адрес .

Объявления

КОРПОРАЦИЯ МАЙКРОСОФТ ПРЕДОСТАВЛЯЕТ ОТКРЫТЫЕ НАБОРЫ ДАННЫХ AZURE НА УСЛОВИЯХ “КАК ЕСТЬ”. КОРПОРАЦИЯ МАЙКРОСОФТ НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРАНТИЙ (ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ) И НЕ ОБЕСПЕЧИВАЕТ НИКАКИХ УСЛОВИЙ В ОТНОШЕНИИ ИСПОЛЬЗОВАНИЯ ВАМИ ЭТИХ НАБОРОВ ДАННЫХ. В РАМКАХ, ДОПУСКАЕМЫХ МЕСТНЫМ ЗАКОНОДАТЕЛЬСТВОМ, КОРПОРАЦИЯ МАЙКРОСОФТ ОТКАЗЫВАЕТСЯ ОТ ОТВЕТСТВЕННОСТИ ЗА УЩЕРБ И УБЫТКИ (В ТОМ ЧИСЛЕ ПРЯМЫЕ, КОСВЕННЫЕ, СПЕЦИАЛЬНЫЕ, ОПОСРЕДОВАННЫЕ, СЛУЧАЙНЫЕ И ШТРАФНЫЕ), ПОНЕСЕННЫЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ВАМИ ЭТИХ НАБОРОВ ДАННЫХ.

Этот набор данных предоставляется на тех же условиях, на которых корпорация Майкрософт получила исходные данные. Этот набор может включать данные, полученные от корпорации Майкрософт.

Access

Available inWhen 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 latitude longitude source extendedProperties
Safety 311_All 6/10/2021 3:13:46 AM Yard Waste Pick-Up Request null Open 9033 S MAY ST 41.729524431 -87.651652886 null
Safety 311_All 6/10/2021 3:12:22 AM Clean Vacant Lot Request null Open 8404 S MUSKEGON AVE 41.742566813 -87.555420789 null
Safety 311_All 6/10/2021 3:12:12 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST null
Safety 311_All 6/10/2021 3:10:28 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST null
Safety 311_All 6/10/2021 3:10:04 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST null
Safety 311_All 6/10/2021 3:09:11 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST 41.764413985 -87.591188006 null
Safety 311_All 6/10/2021 3:08:59 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST 41.764413985 -87.591188006 null
Safety 311_All 6/10/2021 3:08:49 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST 41.764413985 -87.591188006 null
Safety 311_All 6/10/2021 3:08:40 AM 311 INFORMATION ONLY CALL null Completed 2111 W Lexington ST 41.764413985 -87.591188006 null
Safety 311_All 6/10/2021 3:03:43 AM Clean Vacant Lot Request null Open 9033 S MAY ST 41.729524431 -87.651652886 null
Name Data type Unique Values (sample) Description
address string 807,613 2111 W Lexington ST
10510 W ZEMKE RD

Улица и дом.

category string 99 311 INFORMATION ONLY CALL
Aircraft Noise Complaint

Тип вызова.

dataSubtype string 1 311_All

“311_Sanitation”, “311_Potholes” или “311_Street_Lights”.

dataType string 1 Safety

“Safety”.

dateTime timestamp 4,023,056 2014-01-13 00:00:00
2014-03-10 00:00:00

Дата создания запроса в службу.

latitude double 1,103,993 41.871831278
41.994896549

Широта.

longitude double 1,199,976 -87.679846219
-87.887751654

Долгота.

status string 5 Completed
Completed - Dup

Состояние запроса на обслуживание. Указывает, выполнен ли запрос.

Select your preferred service:

Azure Notebooks

Azure Databricks

Azure Synapse

Azure Notebooks

Package: Language: Python Python
In [1]:
# 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()
ActivityStarted, to_pandas_dataframe ActivityStarted, to_pandas_dataframe_in_worker Looking for parquet files... Reading them into Pandas dataframe... Reading Safety/Release/city=Chicago/part-00080-tid-845600952581210110-a4f62588-4996-42d1-bc79-23a9b4635c63-446923.c000.snappy.parquet under container citydatacontainer Done. ActivityCompleted: Activity=to_pandas_dataframe_in_worker, HowEnded=Success, Duration=11294.27 [ms] ActivityCompleted: Activity=to_pandas_dataframe, HowEnded=Success, Duration=11295.76 [ms]
In [2]:
safety.info()
<class 'pandas.core.frame.DataFrame'> Int64Index: 56431 entries, 3751 to 2291417 Data columns (total 11 columns): dataType 56431 non-null object dataSubtype 56431 non-null object dateTime 56431 non-null datetime64[ns] category 56431 non-null object subcategory 0 non-null object status 56431 non-null object address 56431 non-null object latitude 56358 non-null float64 longitude 56358 non-null float64 source 0 non-null object extendedProperties 29124 non-null object dtypes: datetime64[ns](1), float64(2), object(8) memory usage: 5.2+ MB
In [1]:
# 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
In [2]:
# Azure storage access info
azure_storage_account_name = "azureopendatastorage"
azure_storage_sas_token = r""
container_name = "citydatacontainer"
folder_name = "Safety/Release/city=Chicago"
In [3]:
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)
In [4]:
# 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)
In [5]:
# you can add your filter at below
print('Loaded as a Pandas data frame: ')
df
In [6]:
 

Azure Databricks

Package: Language: Python Python
In [1]:
# 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()
ActivityStarted, to_spark_dataframe ActivityStarted, to_spark_dataframe_in_worker ActivityCompleted: Activity=to_spark_dataframe_in_worker, HowEnded=Success, Duration=3396.42 [ms] ActivityCompleted: Activity=to_spark_dataframe, HowEnded=Success, Duration=3398.23 [ms]
In [2]:
display(safety.limit(5))
dataTypedataSubtypedateTimecategorysubcategorystatusaddresslatitudelongitudesourceextendedProperties
Safety311_All2015-08-14T00:00:00.000+0000Street Lights - All/OutnullCompleted3742 W 59TH ST41.78603578433899-87.71664452773216nullcommunity_area:62,completion_date:2015-08-20T00:00:00.000,police_district:8,service_request_number:15-04081104,type_of_service_request:Street Lights - All/Out,zip_code:60629,y_coordinate:1865225.18787483,x_coordinate:1152434.60798184,ward:23
Safety311_All2015-06-22T00:00:00.000+0000Street Lights - All/OutnullCompleted3719 W 53RD ST41.79697833262681-87.71666270664977nullcommunity_area:62,completion_date:2015-06-23T00:00:00.000,police_district:8,service_request_number:15-02890103,type_of_service_request:Street Lights - All/Out,zip_code:60632,y_coordinate:1869212.53972903,x_coordinate:1152401.04890436,ward:23
Safety311_All2015-12-11T00:00:00.000+0000Street Lights - All/OutnullCompleted2010 N SAWYER AVE41.9177056604285-87.70893291956332nullcommunity_area:22,completion_date:2015-12-14T00:00:00.000,police_district:14,service_request_number:15-06669629,type_of_service_request:Street Lights - All/Out,zip_code:60647,y_coordinate:1913220.44877936,x_coordinate:1154188.85999445,ward:26
Safety311_All2015-09-14T00:00:00.000+0000Street Lights - All/OutnullCompleted4800 N CENTRAL PARK AVE41.96834840769826-87.7182549592663nullcommunity_area:14,completion_date:2015-09-15T00:00:00.000,police_district:17,service_request_number:15-04793248,type_of_service_request:Street Lights - All/Out,zip_code:60625,y_coordinate:1931656.45677884,x_coordinate:1151519.31229956,ward:35
Safety311_All2015-12-17T00:00:00.000+0000Street Lights - All/OutnullCompleted7100 S YATES BLVDnullnullnullnull
In [1]:
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "citydatacontainer"
blob_relative_path = "Safety/Release/city=Chicago"
blob_sas_token = r""
In [2]:
# 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)
In [3]:
# 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')
In [4]:
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))

Azure Synapse

Package: Language: Python Python
In [12]:
# 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()
In [13]:
# Display top 5 rows
display(safety.limit(5))
Out[13]:
In [14]:
# Display data statistic information
display(safety, summary = True)
Out[14]:
In [1]:
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "citydatacontainer"
blob_relative_path = "Safety/Release/city=Chicago"
blob_sas_token = r""
In [2]:
# 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)
In [3]:
# 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')
In [4]:
# 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.