Chamadas de serviço ao corpo de bombeiros e casos do 311 em São Francisco.
As chamadas ao serviço de bombeiros incluem todas as respostas das unidades de incêndio às chamadas. Cada registro inclui o número da chamada, o número do incidente, o endereço, o identificador da unidade, o tipo de chamada e a disposição. Todos os intervalos de tempo relevantes também são incluídos. Como este conjunto de dados se baseia nas respostas e como a maioria das chamadas envolve várias unidades, há diversos registros para cada número de chamada. Os endereços são associados a um número de quarteirão, intersecção ou cabine telefônica, e não a um endereço específico.
Os casos do 311 geralmente estão associados a um local ou objeto (por exemplo, parques, ruas ou edifícios) criados em 1º de julho de 2008 ou posteriormente. Geralmente, os casos registrados por um usuário sobre suas próprias necessidades (por exemplo, perguntas sobre impostos sobre propriedades ou negócios, solicitações de permissão de estacionamento) não são incluídos. Confira o link do programa para obter mais informações.
Volume e retenção
Este conjunto de dados está armazenado no formato Parquet. É atualizado diariamente com cerca de 6 milhões de linhas (400 MB) desde 2019.
Este conjunto de dados contém registros históricos acumulados de 2015 até o presente. Você pode usar as configurações de parâmetro no nosso SDK para buscar dados em um intervalo de tempo específico.
Local de armazenamento
Este conjunto de dados está armazenado na região Leste dos EUA do Azure. É recomendável alocar recursos de computação no Leste dos EUA para afinidade.
Informações adicionais
Este conjunto de dados é originado do governo da cidade de São Francisco. Veja mais detalhes nestes links: Chamadas ao corpo de bombeiros, casos do 311.
Consulte aqui para ver os termos de uso deste conjunto de dados.
Avisos
A MICROSOFT FORNECE O AZURE OPEN DATASETS NO ESTADO EM QUE SE ENCONTRA. A MICROSOFT NÃO OFERECE GARANTIAS OU COBERTURAS, EXPRESSAS OU IMPLÍCITAS, EM RELAÇÃO AO USO DOS CONJUNTOS DE DADOS. ATÉ O LIMITE PERMITIDO PELA LEGISLAÇÃO LOCAL, A MICROSOFT SE EXIME DE TODA A RESPONSABILIDADE POR DANOS OU PERDAS, INCLUSIVE DIRETOS, CONSEQUENTES, ESPECIAIS, INDIRETOS, ACIDENTAIS OU PUNITIVOS, RESULTANTES DO USO DOS CONJUNTOS DE DADOS.
Esse conjunto de dados é fornecido de acordo com os termos originais com que a Microsoft recebeu os dados de origem. O conjunto de dados pode incluir dados originados da 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 |
---|---|---|---|---|---|---|---|---|
Safety | 911_Fire | 1/21/2021 2:59:53 AM | Non Life-threatening | Medical Incident | null | 900 Block of HYDE ST | null | |
Safety | 911_Fire | 1/21/2021 2:55:16 AM | Alarm | Other | null | 17TH ST/CLAYTON ST | null | |
Safety | 911_Fire | 1/21/2021 2:48:02 AM | Potentially Life-Threatening | Medical Incident | null | 6TH ST/STEVENSON ST | null | |
Safety | 911_Fire | 1/21/2021 2:31:55 AM | Potentially Life-Threatening | Medical Incident | null | 17TH ST/ROOSEVELT WY | null | |
Safety | 911_Fire | 1/21/2021 2:28:05 AM | null | Alarms | null | 500 Block of CHURCH ST | null | |
Safety | 911_Fire | 1/21/2021 2:28:05 AM | null | Alarms | null | 500 Block of CHURCH ST | null | |
Safety | 911_Fire | 1/21/2021 2:28:05 AM | null | Alarms | null | 500 Block of CHURCH ST | null | |
Safety | 911_Fire | 1/21/2021 2:20:34 AM | Alarm | Other | null | 400 Block of PARNASSUS AVE | null | |
Safety | 911_Fire | 1/21/2021 2:20:34 AM | Alarm | Other | null | 400 Block of PARNASSUS AVE | null | |
Safety | 911_Fire | 1/21/2021 2:20:34 AM | Alarm | Other | null | 400 Block of PARNASSUS AVE | null |
Name | Data type | Unique | Values (sample) | Description |
---|---|---|---|---|
address | string | 270,913 | Not associated with a specific address 0 Block of 6TH ST |
Endereço do incidente (observação, endereço e localização generalizados para metade do quarteirão da rua, intersecção ou cabine telefônica mais próxima, para proteger a privacidade do autor da chamada). |
category | string | 108 | Street and Sidewalk Cleaning Potentially Life-Threatening |
O nome legível por humanos do tipo da solicitação de serviço do 311 ou o grupo de tipos de chamadas à central de emergência para casos de incêndio. |
dataSubtype | string | 2 | 911_Fire 311_All |
“911_Fire” ou “311_All”. |
dataType | string | 1 | Safety | “Segurança” |
dateTime | timestamp | 6,330,062 | 2020-10-19 12:28:08 2020-07-28 06:40:26 |
A data e a hora em que a solicitação de serviço foi feita ou quando a chamada aos bombeiros foi recebida. |
latitude | double | 1,518,478 | 37.777624238929 37.786117211838 |
Latitude da localização, usando a projeção WGS84. |
longitude | double | 1,461,242 | -122.39998111124 -122.419854245692 |
Longitude da localização, usando a projeção WGS84. |
source | string | 9 | Phone Mobile/Open311 |
Mecanismo ou caminho pelo qual a solicitação de serviço foi recebida. Normalmente, “Telefone”, “Mensagem de Texto/SMS”, “Site”, “Aplicativo Móvel”, “Twitter” etc., mas os termos podem variar de acordo com o sistema. |
status | string | 3 | Closed Open |
Indicador de única palavra do estado atual da solicitação de serviço. (Observação: o GeoReport V2 permite somente “aberto” e “fechado”) |
subcategory | string | 1,270 | Medical Incident Bulky Items |
O nome legível por humanos do subtipo da solicitação de serviço para casos do 311 ou tipo de chamada ao 911 para casos de incêndio. |
Azure Notebooks
# This is a package in preview.
from azureml.opendatasets import SanFranciscoSafety
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2016-01-01')
start_date = parser.parse('2015-05-01')
safety = SanFranciscoSafety(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=SanFrancisco"
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 SanFranciscoSafety
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2016-01-01')
start_date = parser.parse('2015-05-01')
safety = SanFranciscoSafety(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=SanFrancisco"
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 SanFranciscoSafety
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2016-01-01')
start_date = parser.parse('2015-05-01')
safety = SanFranciscoSafety(start_date=start_date, end_date=end_date)
safety = safety.to_spark_dataframe()
# Display top 5 rows
display(safety.limit(5))
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "citydatacontainer"
blob_relative_path = "Safety/Release/city=SanFrancisco"
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.