In [1]:
from matplotlib.pyplot import *
import json
from geojson import Feature, FeatureCollection, Point
import folium
In [2]:
data = json.load(open('us-libraries.json'))
In [3]:
d = data['data']
d[0]
Out[3]:
In [4]:
states = ["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DC", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD",
"MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC",
"SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"]
In [5]:
libraries_features = []
for i,r in enumerate(d):
state = r[8][:2]
lat = float(r[14][1])
lon = float(r[14][2])
if (state in ('AK', 'HI') or
state not in states or
i % 20 == 0):
ob = Feature(geometry=Point((lon, lat), properties=dict(state=state)))
libraries_features.append(ob)
collection = FeatureCollection([*libraries_features])
In [6]:
m = folium.Map(
location=(40.0, -95.0),
zoom_start=2,
)
folium.GeoJson(collection, name='geojson').add_to(m)
m
Out[6]:
In [7]:
m.save('us-libraries.html')
In [8]: