WMS and TMS Layers¶
This notebook demonstrates how to integrate WMS (Web Map Service) layers into a Leaflet map, as described in the Leaflet WMS/TMS Tutorial.
WMS is an OGC standard for serving georeferenced map images from a server.
In [ ]:
Copied!
# %pip install anymap-ts
# %pip install anymap-ts
In [ ]:
Copied!
from anymap_ts import LeafletMap
from anymap_ts import LeafletMap
USGS National Map - Shaded Relief¶
The USGS National Map provides several WMS services for US topography and imagery.
In [ ]:
Copied!
m = LeafletMap(center=[-105.0, 39.0], zoom=6, controls={})
m.add_basemap("CartoDB.Positron")
m.add_wms_layer(
url="https://basemap.nationalmap.gov/arcgis/services/USGSShadedReliefOnly/MapServer/WmsServer",
layers="0",
name="USGS Shaded Relief",
format="image/png",
transparent=True,
attribution="USGS National Map",
opacity=0.6,
)
m.add_control("zoom", position="topleft")
m.add_layer_control(position="topright", collapsed=False)
m
m = LeafletMap(center=[-105.0, 39.0], zoom=6, controls={})
m.add_basemap("CartoDB.Positron")
m.add_wms_layer(
url="https://basemap.nationalmap.gov/arcgis/services/USGSShadedReliefOnly/MapServer/WmsServer",
layers="0",
name="USGS Shaded Relief",
format="image/png",
transparent=True,
attribution="USGS National Map",
opacity=0.6,
)
m.add_control("zoom", position="topleft")
m.add_layer_control(position="topright", collapsed=False)
m
Mundialis TOPO-WMS¶
A free worldwide topographic WMS service.
In [ ]:
Copied!
m2 = LeafletMap(center=[10.0, 47.0], zoom=5, controls={})
m2.add_wms_layer(
url="https://ows.mundialis.de/services/service",
layers="TOPO-WMS",
name="Mundialis Topo",
format="image/png",
attribution="Mundialis",
)
m2.add_control("zoom", position="topleft")
m2
m2 = LeafletMap(center=[10.0, 47.0], zoom=5, controls={})
m2.add_wms_layer(
url="https://ows.mundialis.de/services/service",
layers="TOPO-WMS",
name="Mundialis Topo",
format="image/png",
attribution="Mundialis",
)
m2.add_control("zoom", position="topleft")
m2
NASA GIBS - Blue Marble¶
NASA's Global Imagery Browse Services (GIBS) provide satellite imagery as WMS.
In [ ]:
Copied!
m3 = LeafletMap(center=[0, 0], zoom=2, controls={})
m3.add_wms_layer(
url="https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi",
layers="BlueMarble_ShadedRelief_Bathymetry",
name="Blue Marble",
format="image/png",
crs="EPSG:4326",
attribution="NASA GIBS",
)
m3.add_control("zoom", position="topleft")
m3
m3 = LeafletMap(center=[0, 0], zoom=2, controls={})
m3.add_wms_layer(
url="https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi",
layers="BlueMarble_ShadedRelief_Bathymetry",
name="Blue Marble",
format="image/png",
crs="EPSG:4326",
attribution="NASA GIBS",
)
m3.add_control("zoom", position="topleft")
m3
Multiple WMS layers¶
You can combine multiple WMS layers with basemaps and use the layer control to toggle them.
In [ ]:
Copied!
m4 = LeafletMap(center=[-100.0, 40.0], zoom=4, controls={})
m4.add_basemap("OpenStreetMap")
m4.add_wms_layer(
url="https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi",
layers="nexrad-n0r-900913",
name="Weather Radar",
format="image/png",
transparent=True,
attribution="Iowa State Mesonet",
opacity=0.5,
)
m4.add_control("zoom", position="topleft")
m4.add_layer_control(position="topright", collapsed=False)
m4
m4 = LeafletMap(center=[-100.0, 40.0], zoom=4, controls={})
m4.add_basemap("OpenStreetMap")
m4.add_wms_layer(
url="https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi",
layers="nexrad-n0r-900913",
name="Weather Radar",
format="image/png",
transparent=True,
attribution="Iowa State Mesonet",
opacity=0.5,
)
m4.add_control("zoom", position="topleft")
m4.add_layer_control(position="topright", collapsed=False)
m4