Working with Folium

Visualizing Geospatial Data in Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

plot of light green polygon with art location points

Visualizing Geospatial Data in Python

Folium

  • python package
  • interactive maps
  • built upon Leaflet.js

folium leaf logo

Visualizing Geospatial Data in Python

folium.Map()

import folium
# construct a map centered at the Eiffel Tower
eiffel_tower = folium.Map(location = [48.8583736,2.2922926])

# display the map
display(eiffel_tower)
Visualizing Geospatial Data in Python

street map of paris

Visualizing Geospatial Data in Python

Setting the zoom level

import folium
# construct a map centered at the Eiffel Tower
eiffel_tower = folium.Map([location = 48.8583736,2.2922926], zoom_start = 12)

# display the map
display(eiffel_tower)
Visualizing Geospatial Data in Python

zoomed in street map of Paris with tiny eiffel tower

Visualizing Geospatial Data in Python

Folium location from centroid

district_one.head()
district  center                   geometry
1         POINT (-86.860 36.262)   (POLYGON ((-86.771 36.383...    
center_point = district_one.center[0]
type(center_point)
<class 'shapely.geometry.point.Point'>
Visualizing Geospatial Data in Python

Folium location from centroid

# reverse the order for folium location array
district_center = [center_point.y, center_point.x]

# print center point and district_center
print(center_point)
print(district_center)
POINT (-86.86086595994405 36.2628221811899)
[36.262822181189904, -86.86086595994405]
Visualizing Geospatial Data in Python

Adding a polygon to a folium map

# create a folium map centered on district 1
district1_map = folium.Map(location = district_center)
# add the outline of district one
folium.GeoJson(district_one.geometry).add_to(district1_map)
# display the resulting map
display(district1_map)
Visualizing Geospatial Data in Python

map with blue polygon

Visualizing Geospatial Data in Python

Let's practice!

Visualizing Geospatial Data in Python

Preparing Video For Download...