预先确定 folium 的最佳缩放级别
pre-determine optimal level of zoom in folium
我正在使用 folium 绘制一些地图。
工作相当顺利。
但是,我不知道如何预先计算正确的缩放级别
我可以自动设置
import folium
m = folium.Map([point_of_interest.iloc[0].Lat, point_of_interest.iloc[0].Long])
但在我的用例中,我需要预先计算 zoom_start
这样:
- 我
point_of_interest
的 pandas
数据框中的所有夫妇 (Lat,Long)
都在地图中
- 缩放级别是最小可能
folium 的 fit_bounds 方法应该适合你
一些随机样本数据
import folium
import numpy as np
import pandas as pd
center_point = [40, -90]
data = (
np.random.normal(size=(100, 2)) *
np.array([[.5, .5]]) +
np.array([center_point])
)
df = pd.DataFrame(data, columns=['Lat', 'Long'])
创建带有一些标记的地图
m = folium.Map(df[['Lat', 'Long']].mean().values.tolist())
for lat, lon in zip(df['Lat'], df['Long']):
folium.Marker([lat, lon]).add_to(m)
fit_bounds
需要我们数据的'bounds'形式为西南角和东北角。您也可以使用一些填充参数
sw = df[['Lat', 'Long']].min().values.tolist()
ne = df[['Lat', 'Long']].max().values.tolist()
m.fit_bounds([sw, ne])
m
我正在使用 folium 绘制一些地图。 工作相当顺利。 但是,我不知道如何预先计算正确的缩放级别
我可以自动设置
import folium
m = folium.Map([point_of_interest.iloc[0].Lat, point_of_interest.iloc[0].Long])
但在我的用例中,我需要预先计算 zoom_start
这样:
- 我
point_of_interest
的pandas
数据框中的所有夫妇(Lat,Long)
都在地图中 - 缩放级别是最小可能
folium 的 fit_bounds 方法应该适合你
一些随机样本数据
import folium
import numpy as np
import pandas as pd
center_point = [40, -90]
data = (
np.random.normal(size=(100, 2)) *
np.array([[.5, .5]]) +
np.array([center_point])
)
df = pd.DataFrame(data, columns=['Lat', 'Long'])
创建带有一些标记的地图
m = folium.Map(df[['Lat', 'Long']].mean().values.tolist())
for lat, lon in zip(df['Lat'], df['Long']):
folium.Marker([lat, lon]).add_to(m)
fit_bounds
需要我们数据的'bounds'形式为西南角和东北角。您也可以使用一些填充参数
sw = df[['Lat', 'Long']].min().values.tolist()
ne = df[['Lat', 'Long']].max().values.tolist()
m.fit_bounds([sw, ne])
m