{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Exploring the WMS with OWSLib" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CRW_DHW\n", "CRW_DHW_mask\n", "CRW_HOTSPOT\n", "CRW_HOTSPOT_mask\n", "CRW_SSTANOMALY\n", "CRW_SSTANOMALY_mask\n", "CRW_BAA\n", "CRW_BAA_mask\n", "CRW_BAA_7D_MAX\n", "CRW_BAA_7D_MAX_mask\n", "CRW_SEAICE\n", "CRW_SST\n" ] } ], "source": [ "from owslib.wms import WebMapService\n", "\n", "\n", "url = \"https://pae-paha.pacioos.hawaii.edu/thredds/wms/dhw_5km?service=WMS\"\n", "\n", "web_map_services = WebMapService(url)\n", "\n", "print(\"\\n\".join(web_map_services.contents.keys()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Layer metadata" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "layer = \"CRW_SST\"\n", "wms = web_map_services.contents[layer]\n", "\n", "name = wms.title\n", "\n", "lon = (wms.boundingBox[0] + wms.boundingBox[2]) / 2.0\n", "lat = (wms.boundingBox[1] + wms.boundingBox[3]) / 2.0\n", "center = lat, lon\n", "\n", "time_interval = \"{0}/{1}\".format(\n", " wms.timepositions[0].strip(), wms.timepositions[-1].strip()\n", ")\n", "style = \"boxfill/sst_36\"\n", "\n", "if style not in wms.styles:\n", " style = None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Single layer" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import folium\n", "from folium import plugins\n", "\n", "lon, lat = -50, -40\n", "\n", "m = folium.Map(location=[lat, lon], zoom_start=5, control_scale=True)\n", "\n", "w = folium.raster_layers.WmsTileLayer(\n", " url=url,\n", " name=name,\n", " styles=style,\n", " fmt=\"image/png\",\n", " transparent=True,\n", " layers=layer,\n", " overlay=True,\n", " COLORSCALERANGE=\"1.2,28\",\n", ")\n", "\n", "w.add_to(m)\n", "\n", "time = plugins.TimestampedWmsTileLayers(w, period=\"PT1H\", time_interval=time_interval)\n", "\n", "time.add_to(m)\n", "\n", "folium.LayerControl().add_to(m)\n", "\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiple layers" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = folium.Map(location=[lat, lon], zoom_start=5, control_scale=True)\n", "\n", "w0 = folium.raster_layers.WmsTileLayer(\n", " url=url,\n", " name=\"sea_surface_temperature\",\n", " styles=style,\n", " fmt=\"image/png\",\n", " transparent=True,\n", " layers=\"CRW_SST\",\n", " overlay=True,\n", ")\n", "\n", "w1 = folium.raster_layers.WmsTileLayer(\n", " url=url,\n", " name=\"analysed sea surface temperature anomaly\",\n", " styles=style,\n", " fmt=\"image/png\",\n", " transparent=True,\n", " layers=\"CRW_SSTANOMALY\",\n", " overlay=True,\n", ")\n", "\n", "w0.add_to(m)\n", "w1.add_to(m)\n", "\n", "time = folium.plugins.TimestampedWmsTileLayers(\n", " [w0, w1], period=\"PT1H\", time_interval=time_interval\n", ")\n", "\n", "time.add_to(m)\n", "\n", "folium.LayerControl().add_to(m)\n", "\n", "m" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.0" } }, "nbformat": 4, "nbformat_minor": 2 }