From 01b5b975d46b7e30064f9af03b9c5a42491af8d1 Mon Sep 17 00:00:00 2001 From: Qiusheng Wu Date: Wed, 24 Jul 2024 23:29:09 -0400 Subject: [PATCH] Fix wms layer example errors and 3d buildings (#849) * Fix wms layer example errors and 3d buildings * Fix add_wms error --- docs/maplibre/add_components.ipynb | 7 ++++--- docs/maplibre/add_legend.ipynb | 27 ++++++++++++++++++++++----- docs/notebooks/92_maplibre.ipynb | 7 ++++--- leafmap/maplibregl.py | 4 +++- 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/docs/maplibre/add_components.ipynb b/docs/maplibre/add_components.ipynb index 65aafda5d1..dad3c98656 100644 --- a/docs/maplibre/add_components.ipynb +++ b/docs/maplibre/add_components.ipynb @@ -42,8 +42,9 @@ "m = leafmap.Map(center=[-100, 40], zoom=3, style=\"positron\")\n", "\n", "## Add a legend\n", - "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&transparent=true&width=256&height=256&layers=NLCD_2021_Land_Cover_L48\"\n", - "m.add_wms_layer(url, name=\"NLCD 2021\")\n", + "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms\"\n", + "layers = \"NLCD_2021_Land_Cover_L48\"\n", + "m.add_wms_layer(url, layers=layers, name=\"NLCD 2021\")\n", "m.add_legend(\n", " title=\"NLCD Land Cover Type\",\n", " builtin_legend=\"NLCD\",\n", @@ -109,7 +110,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.9" } }, "nbformat": 4, diff --git a/docs/maplibre/add_legend.ipynb b/docs/maplibre/add_legend.ipynb index 11a4b434e9..daf03b009f 100644 --- a/docs/maplibre/add_legend.ipynb +++ b/docs/maplibre/add_legend.ipynb @@ -41,8 +41,9 @@ "source": [ "m = leafmap.Map(center=[-100, 40], zoom=3, style=\"positron\")\n", "m.add_basemap(\"Esri.WorldImagery\")\n", - "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&transparent=true&width=256&height=256&layers=NLCD_2021_Land_Cover_L48\"\n", - "m.add_wms_layer(url, name=\"NLCD 2021\")\n", + "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms\"\n", + "layers = \"NLCD_2021_Land_Cover_L48\"\n", + "m.add_wms_layer(url, layers=layers, name=\"NLCD 2021\")\n", "m.add_legend(\n", " title=\"NLCD Land Cover Type\",\n", " builtin_legend=\"NLCD\",\n", @@ -60,8 +61,24 @@ "source": [ "m = leafmap.Map(center=[-100, 40], zoom=3, style=\"positron\")\n", "m.add_basemap(\"Esri.WorldImagery\")\n", - "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&transparent=true&width=256&height=256&layers=NLCD_2021_Land_Cover_L48\"\n", - "m.add_wms_layer(url, name=\"NLCD 2021\")\n", + "url = \"https://fwspublicservices.wim.usgs.gov/wetlandsmapservice/services/Wetlands/MapServer/WMSServer\"\n", + "m.add_wms_layer(url, layers=\"1\", name=\"NWI\", opacity=0.6)\n", + "m.add_layer_control()\n", + "m.add_legend(builtin_legend=\"NWI\", title=\"Wetland Type\")\n", + "m" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m = leafmap.Map(center=[-100, 40], zoom=3, style=\"positron\")\n", + "m.add_basemap(\"Esri.WorldImagery\")\n", + "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms\"\n", + "layers = \"NLCD_2021_Land_Cover_L48\"\n", + "m.add_wms_layer(url, layers=layers, name=\"NLCD 2021\")\n", "\n", "legend_dict = {\n", " \"11 Open Water\": \"466b9f\",\n", @@ -119,7 +136,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.9" } }, "nbformat": 4, diff --git a/docs/notebooks/92_maplibre.ipynb b/docs/notebooks/92_maplibre.ipynb index a0c35682dc..fa8f5862ed 100644 --- a/docs/notebooks/92_maplibre.ipynb +++ b/docs/notebooks/92_maplibre.ipynb @@ -294,8 +294,9 @@ "source": [ "m = leafmap.Map(center=[-100, 40], zoom=3)\n", "m.add_basemap(\"Esri.WorldImagery\")\n", - "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&transparent=true&width=256&height=256&layers=NLCD_2021_Land_Cover_L48\"\n", - "m.add_wms_layer(url, name=\"NLCD\", opacity=0.8)\n", + "url = \"https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2021_Land_Cover_L48/wms\"\n", + "layers = \"NLCD_2021_Land_Cover_L48\"\n", + "m.add_wms_layer(url, layers=layers, name=\"NLCD\", opacity=0.8)\n", "m" ] }, @@ -985,7 +986,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.9" } }, "nbformat": 4, diff --git a/leafmap/maplibregl.py b/leafmap/maplibregl.py index ade90b0ffe..76bb753d63 100644 --- a/leafmap/maplibregl.py +++ b/leafmap/maplibregl.py @@ -2679,6 +2679,7 @@ def add_layer_control( def add_3d_buildings( self, + name: str = "buildings", min_zoom: int = 15, values: List[int] = [0, 200, 400], colors: List[str] = ["lightgray", "royalblue", "lightblue"], @@ -2691,6 +2692,7 @@ def add_3d_buildings( The layer is only visible from a certain zoom level, specified by the 'min_zoom' parameter. Args: + name (str): The name of the 3D buildings layer. Defaults to "buildings". min_zoom (int): The minimum zoom level at which the 3D buildings will start to be visible. Defaults to 15. values (List[int]): A list of height values (in meters) used for color interpolation. Defaults to [0, 200, 400]. colors (List[str]): A list of colors corresponding to the 'values' list. Each color is applied to the @@ -2718,7 +2720,7 @@ def add_3d_buildings( value_color_pairs.append(colors[i]) layer = { - "id": "3d-buildings", + "id": name, "source": "openmaptiles", "source-layer": "building", "type": "fill-extrusion",