关闭所有 Folium 磁贴
Switching off all Folium tiles
我想知道是否可以关闭 所有已添加到 Folium Map 对象的 Folium tile。默认情况下应选择一个图块,但可以显示 空白背景?
我认为这个选项可能对增强放置在图块上的实体的可视化有用。
- 您可以将 tile layers 添加到 folium maps
- 下面的代码添加了一个空白图块层,然后在我的系统上添加了 26 个其他候选底图
- 最后
folium.map.LayerControl()
允许选择图层,包括空白图层
import xyzservices.providers as xyz
import geopandas as gpd
import matplotlib.colors as colors
import folium
gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_cities"))
gdf["Hemisphere"] = gdf["geometry"].apply(lambda x: "Norte" if x.y > 0 else "Sur")
# create a map
m = gdf.explore(
column="Hemisphere",
name="Cities",
cmap=colors.ListedColormap(["#D94325", "#5CD925"]),
tiles=None,
)
def filter_provider(p):
if p.requires_token():
return False
if (
"Stadia" in p.name
or "CyclOSM" in p.name
or "NASAGIBS" in p.name
or "BlackAndWhite" in p.name
):
return False
if hasattr(p, "variant"):
return False
if hasattr(p, "ext"):
return False
if hasattr(p, "status") and p.status == "broken":
return False
return True
# empty tile layer
folium.TileLayer("", name="None", attr="blank").add_to(m)
# add multiple candidate base layers / tiles to folium map
for name, args in xyz.filter(function=filter_provider).flatten().items():
folium.TileLayer(args["url"], name=name, attr=args["attribution"]).add_to(m)
# add control to be able to select base map
m.add_child(folium.map.LayerControl())
我想知道是否可以关闭 所有已添加到 Folium Map 对象的 Folium tile。默认情况下应选择一个图块,但可以显示 空白背景?
我认为这个选项可能对增强放置在图块上的实体的可视化有用。
- 您可以将 tile layers 添加到 folium maps
- 下面的代码添加了一个空白图块层,然后在我的系统上添加了 26 个其他候选底图
- 最后
folium.map.LayerControl()
允许选择图层,包括空白图层
import xyzservices.providers as xyz
import geopandas as gpd
import matplotlib.colors as colors
import folium
gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_cities"))
gdf["Hemisphere"] = gdf["geometry"].apply(lambda x: "Norte" if x.y > 0 else "Sur")
# create a map
m = gdf.explore(
column="Hemisphere",
name="Cities",
cmap=colors.ListedColormap(["#D94325", "#5CD925"]),
tiles=None,
)
def filter_provider(p):
if p.requires_token():
return False
if (
"Stadia" in p.name
or "CyclOSM" in p.name
or "NASAGIBS" in p.name
or "BlackAndWhite" in p.name
):
return False
if hasattr(p, "variant"):
return False
if hasattr(p, "ext"):
return False
if hasattr(p, "status") and p.status == "broken":
return False
return True
# empty tile layer
folium.TileLayer("", name="None", attr="blank").add_to(m)
# add multiple candidate base layers / tiles to folium map
for name, args in xyz.filter(function=filter_provider).flatten().items():
folium.TileLayer(args["url"], name=name, attr=args["attribution"]).add_to(m)
# add control to be able to select base map
m.add_child(folium.map.LayerControl())