{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Web Feature Service - Accessing region countours saved on a GeoServer\n", "\n", "In this example, we're going to look at some layers that are currently accessible on our instance of GeoServer. With WFS, we can see what is available, collect the layers we want by using a query, download the results in geoJSON, and visualize them using `geopandas`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We begin by loading the libraries needed for parsing and downloading from WFS and for opening and visualizing the results" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import os\n", "\n", "os.environ[\"USE_PYGEOS\"] = \"0\" # force use Shapely with GeoPandas\n", "\n", "import geopandas as gpd\n", "\n", "# Import WFS from owslib\n", "from owslib.wfs import WebFeatureService" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We start by making a connection to the PAVICS instance we have locally on our server. Using WFS, we can very quickly see the contents, which are the layers and the workspaces they're located with (ie: TravisTest, scratchTJS). These layer names act as dictionaries for " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['TravisTest:NE_Admin_Level0',\n", " 'TravisTest:mrc_poly',\n", " 'TravisTest:region_admin_poly',\n", " 'public:CANOPEX_5797_basinBoundaries',\n", " 'public:CANVEC_hydro_waterbodies',\n", " 'public:CanVec_Rivers',\n", " 'public:CanVec_WaterBodies',\n", " 'public:HydroLAKES_points',\n", " 'public:HydroLAKES_poly',\n", " 'public:USGS_HydroBASINS_lake_ar_lev12',\n", " 'public:USGS_HydroBASINS_lake_na_lev12',\n", " 'public:canada_admin_boundaries',\n", " 'public:decamillenial_flood_CC',\n", " 'public:gaspesie_mrc',\n", " 'public:global_admin_boundaries',\n", " 'public:ne_10m_populated_places',\n", " 'public:quebec_admin_boundaries',\n", " 'public:quebec_health_regions',\n", " 'public:quebec_mrc_boundaries',\n", " 'public:quebec_muni_boundaries',\n", " 'public:routing_1kmLakes_07',\n", " 'public:routing_1kmLakes_08',\n", " 'public:routing_1kmLakes_09',\n", " 'public:routing_1kmLakes_10',\n", " 'public:routing_1kmLakes_11',\n", " 'public:routing_1kmLakes_12',\n", " 'public:routing_allLakes_07',\n", " 'public:routing_allLakes_08',\n", " 'public:routing_allLakes_09',\n", " 'public:routing_allLakes_10',\n", " 'public:routing_allLakes_11',\n", " 'public:routing_allLakes_12',\n", " 'public:test_regions',\n", " 'public:test_regions_lambert',\n", " 'public:usa_admin_boundaries',\n", " 'public:wshed_bound_n1',\n", " 'public:wshed_bound_n2',\n", " 'public:wshed_bound_n3']" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "\n", "wfs_url = \"https://pavics.ouranos.ca/geoserver/wfs\" # TEST_USE_PROD_DATA\n", "\n", "# Connect to GeoServer WFS service.\n", "wfs = WebFeatureService(wfs_url, version=\"2.0.0\")\n", "\n", "# Print the list of available layers\n", "sorted(wfs.contents.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More information about each layer is stored in the `contents` dictionary. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Layer ID: public:USGS_HydroBASINS_lake_na_lev12\n", "Title: USGS_HydroBASINS_lake_na_lev12\n", "Boundaries: (-180.0, -90.0, 180.0, 90.0) \n", "\n", "Layer ID: public:canada_admin_boundaries\n", "Title: Canada Administrative Boundaries\n", "Boundaries: (-141.01807315799994, 41.681435425000075, -52.61940850399992, 83.13550252400006) \n", "\n", "Layer ID: public:decamillenial_flood_CC\n", "Title: decamillenial_flood_CC\n", "Boundaries: (-180.0, -90.0, 180.0, 90.0) \n", "\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "\n", "sorted_layer_ids = list(sorted(wfs.contents.keys()))\n", "canada_admin_boundaries_index = sorted_layer_ids.index(\"public:canada_admin_boundaries\")\n", "\n", "for layerID in sorted_layer_ids[\n", " canada_admin_boundaries_index - 1 : canada_admin_boundaries_index + 2\n", "]:\n", " layer = wfs[layerID]\n", " print(\"Layer ID:\", layerID)\n", " print(\"Title:\", layer.title)\n", " print(\"Boundaries:\", layer.boundingBoxWGS84, \"\\n\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then perform a `GetFeatures` call using the layer name as a target. This returns an IOstream that can be written as a geoJSON file, a common file format for vector data served throughout the web. To reduce the download size, we'll only fetch the features (here polygons), intersecting a small region defined by a bounding box. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Canada Administrative Boundaries\n" ] } ], "source": [ "layer_id = \"public:canada_admin_boundaries\"\n", "meta = wfs.contents[layer_id]\n", "print(meta.title)\n", "\n", "# Get the actual data\n", "data = wfs.getfeature(\n", " typename=\"public:canada_admin_boundaries\",\n", " bbox=(-74.5, 45.2, -73, 46),\n", " outputFormat=\"JSON\",\n", ")\n", "\n", "# Write to file\n", "fn = \"output.geojson\"\n", "with open(fn, \"wb\") as fh:\n", " fh.write(data.read())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once the geoJSON file is downloaded, we can either open it with a GIS application or we can read the features using geopandas." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "layers = gpd.read_file(fn)\n", "layers.plot()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.11" } }, "nbformat": 4, "nbformat_minor": 4 }