Examples of how to display a Folium Map within a for loop in a Jupyter Notebook
Table of contents
Using folium display() function
Creating a Folium map in a Jupyter Notebook is fairly straightforward. Here is a common example of how to do that
import folium
m = folium.Map(location=[0, 0], zoom_start=2)
m
Another solution for displaying a map is to use the display() function.
import folium
m = folium.Map(location=[0, 0], zoom_start=2)
display(m)
That can be used within a for loop:
for i in range(3):
m = folium.Map(location=[0, 0], zoom_start=2)
display(m)
Example
Below is an example where we iterate through several images and ask if they contain a solar panel farm
import folium
import pandas as pd
import numpy as np
from IPython.display import clear_output
data = np.array([[349, 3820, 27.839248657226562, 116.39884185791016, 367.0,
287.5710754394531, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
15.865395545959473, 1.8201713562011719, 0.568378746509552, 1, 0,
0, 7, 1, 45.845672607421875, -154.86322021484375,
18.851022720336914, 80.26931762695312, 0, 'Day',
0.523607075214386, 1.0820577144622803, 1.600000023841858],
[649, 3823, 28.80352210998535, 116.09571838378906, 367.0,
297.1990051269531, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
10.88183879852295, 1.5843127965927124, 0.7265815734863281, 0, 0,
0, 7, 1, 46.636558532714844, -155.5345001220703,
18.935832977294922, 78.32439422607422, 0, 'Day',
0.5620156526565552, 1.0661375522613525, 1.600000023841858],
[785, 3784, 29.274351119995117, 116.13337707519531,
344.3221130371094, 295.54931640625, 305.1109924316406,
295.8750915527344, 9.235969543457031, 3.505326271057129,
1.9297815561294556, 1.5755447149276733, 14.316523551940918,
2.989433526992798, 0.6907815933227539, 0, 0, 10, 8, 1,
47.089637756347656, -155.63401794433594, 17.746267318725586,
79.08007049560547, 0, 'Day', 0.8018679022789001,
1.5472339391708374, 1.267532467842102],
[787, 3784, 29.281211853027344, 116.13185119628906,
354.74627685546875, 297.3043212890625, 305.18701171875,
295.8792724609375, 9.307778358459473, 3.5285837650299072,
1.9626555442810059, 1.5659282207489014, 13.985917091369629,
4.0554094314575195, 0.6870543360710144, 0, 0, 10, 8, 1,
47.095340728759766, -155.63851928710938, 17.746490478515625,
79.26925659179688, 0, 'Day', 0.5754696130752563,
1.2988111972808838, 1.517224907875061],
[927, 3836, 29.697757720947266, 115.77227020263672, 367.0,
295.2755432128906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
7.547194480895996, 2.4319303035736084, 0.6598378419876099, 1, 0,
0, 7, 1, 47.35850143432617, -156.20074462890625,
19.34339141845703, 80.09915924072266, 0, 'Day',
0.7618721723556519, 1.1604864597320557, 1.600000023841858]],
dtype=object)
dfsp = pd.DataFrame(data=data, columns = ['FP_line',
'FP_sample',
'FP_latitude',
'FP_longitude',
'FP_T4',
'FP_T5',
'FP_MeanT4',
'FP_MeanT5',
'FP_MeanDT',
'FP_MAD_T4',
'FP_MAD_T5',
'FP_MAD_DT',
'FP_power',
'FP_Rad13',
'FP_MeanRad13',
'FP_AdjCloud',
'FP_AdjWater',
'FP_WinSize',
'FP_confidence',
'FP_day',
'FP_SolZenAng',
'FP_SolAzAng',
'FP_ViewZenAng',
'FP_ViewAzAng',
'FP_PersistentAnomalyCategory',
'Day_Night_Flag',
'T1',
'T2',
'T3'])
for index, row in dfsp.iterrows():
m = folium.Map(location=[0, 0], zoom_start=17)
long = row['FP_longitude']
lat = row['FP_latitude']
print(long,lat)
m = folium.Map([lat,long], zoom_start=17)
folium.TileLayer(
tiles = 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}',
attr = 'Esri',
name = 'Esri Satellite',
overlay = False,
control = True
).add_to(m)
folium.Marker(
location=[lat, long],
popup="Mt. Hood Meadows",
icon=folium.Icon(icon="cloud"),
).add_to(m)
display(m)
value = input('Input a value. Type x to quit.')
clear_output(wait=True)
References
Links | Site |
---|---|
display | ipython.org |