Shuyan Hong & Jiazuo Zhang
import numpy as np
import pandas as pd
import geopandas as gpd
import folium
from matplotlib import pyplot as plt
import cartopy.crs as ccrs
Import overdose data.
#Overdose data
query = ("https://data.cincinnati-oh.gov/resource/7mtn-nnb5.json?$limit=10000")
raw_data = pd.read_json(query)
raw_data.head()
Firstly we map the overdose situation of of recent years using Folium.
df0 = raw_data[['latitude_x','longitude_x','incident_type_id']]
df0 = df0.dropna()
def label_race (row):
return 'red';
df0['color'] = df0.apply (lambda row: label_race(row), axis=1)
# Folium map of Cincinnati
m1 = folium.Map(
width=700,height=500,
location=[39.15, -84.55],
zoom_start=11,
tiles="Stamen Toner"
)
cityBoundary = 'https://opendata.arcgis.com/datasets/ed78f4754b044ac5815d0a9efe9bb336_1.geojson'
folium.GeoJson(cityBoundary).add_to(m1)
# Heroin overdose points by numbers and incident type
import folium.plugins
#folium.plugins.MarkerCluster()
marker_cluster = folium.plugins.MarkerCluster().add_to(m1)
for i in range(0, len(df0)):
folium.Marker(
location=[ df0.iloc[i]['latitude_x'],df0.iloc[i]['longitude_x']],
popup=df0.iloc[i]['incident_type_id'],
icon=folium.Icon(color=df0.iloc[i]["color"])
).add_to(marker_cluster)
m1