【发布时间】:2022-01-09 21:46:03
【问题描述】:
我正在尝试使用 explore() 显示美国的交互式热图。但它展示了整个世界。有没有办法将其限制在美国?
【问题讨论】:
我正在尝试使用 explore() 显示美国的交互式热图。但它展示了整个世界。有没有办法将其限制在美国?
【问题讨论】:
您可以传递与直接使用 folium 相同的参数。例如,以美国几何形心为中心
gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))
gdf.explore(
"pop_est",
cmap="Blues",
location=gdf.loc[gdf["iso_a3"].eq("USA"), "geometry"]
.apply(lambda g: [g.centroid.xy[1][0], g.centroid.xy[0][0]])
.values[0],
zoom_start=3,
control_scale=True,
)
【讨论】:
您可以指定地图的最小和最大边界,并在用户想要离开时强制反弹。
import geopandas as gpd
gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))
us = gdf[gdf.iso_a3 == "USA"]
bounds = us.total_bounds
us.explore(
min_lat=bounds[1],
min_lon=bounds[0],
max_lat=bounds[3],
max_lon=bounds[2],
max_bounds=True,
)
【讨论】:
explore 不是用于 webmaps 的解决方案,而是用于本地交互式探索。对于网络地图,您需要矢量图块之类的东西。 simplify(),如果以合理的精度使用应该会有所帮助。