{ "cells": [ { "cell_type": "markdown", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "# Get started\n", "\n", "## Overview\n", "\n", "The `pywdpa` Python package is an interface to the World Database on Protected Areas (WDPA)\n", "hosted on the Protected planet website: .\n", "It allows users to download spatial shapefiles of protected areas (PA) for world countries using the Protected Planet API ().\n", "\n", "This package contains two main functions:\n", "\n", "- `.get_token()`: check if your WDPA token is correctly stored (see [usage](https://ecology.ghislainv.fr/pywdpa/reference.html#module-pywdpa.get_token));\n", "- `.get_wdpa()`: download the shapefile of protected areas for one specific country (see [usage](https://ecology.ghislainv.fr/pywdpa/reference.html#module-pywdpa.get_wdpa)).\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Installation\n", "\n", "You will need several dependencies to run the `pywdpa` Python package (`numpy`, `gdal`, and `requests`). The best way to install the package is to create a Python virtual environment, either through `virtualenv` or `conda`. A virtual environment is a self-contained directory tree that contains a Python installation for a particular version of Python, plus a number of additional packages.\n", "\n", "### Using `virtualenv`\n", "\n", "You first need to have the `virtualenv` package installed (see [here](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/)).\n", "\n", "Then, create a virtual environment and install the `pywdpa` package with the following commands:\n", "\n", "```shell\n", "# In a shell\n", "cd ~\n", "mkdir venvs # Directory for virtual environments\n", "cd venvs\n", "virtualenv --python=/usr/bin/python3 venv-pywppa\n", "source ~/venvs/venv-far/bin/activate\n", "pip install pywdpa # For PyPI version, this will install all other dependencies\n", "# pip install https://github.com/ghislainv/pywdpa/archive/master.zip # For GitHub dev version\n", "# pip install geopandas descartes folium python-dotenv # Optional additional packages\n", "```\n", "\n", "To deactivate and delete the virtual environment:\n", "\n", "```shell\n", "deactivate\n", "rm -R ~/venvs/venv-pywdpa # Just remove the repository\n", "```\n", "\n", "### Using `conda`\n", "\n", "You first need to have `miniconda3` installed (see [here](https://docs.conda.io/en/latest/miniconda.html)).\n", "\n", "Then, create a conda environment (details [here](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)) and install the `pywdpa` package with the following commands:\n", "\n", "```shell\n", "# In a shell\n", "conda create --name conda-pywdpa python pip numpy gdal requests --yes\n", "conda activate conda-far\n", "# conda install geopandas --yes # Optional additional packages available in conda\n", "# conda install -c conda-forge descartes folium python-dotenv --yes # Optional additional packages available in conda\n", "pip install pywdpa # Install PyPI version\n", "# pip install https://github.com/ghislainv/pywdpa/archive/master.zip # For GitHub dev version\n", "```\n", "\n", "To deactivate and delete the conda environment:\n", "\n", "```shell\n", "conda deactivate\n", "conda env remove --name conda-pywdpa\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Managing the WDPA API token\n", "\n", "This package uses the Protected Planet API to access data on world protected areas. You must first have obtained a Personal API Token by\n", "filling in the form available at . Then you need to set an\n", "environment variable (we recommend using the name `WDPA_KEY`) using either the command `os.environ[\"WDPA_KEY\"]=\"your_token\"` or\n", "[python-dotenv](https://github.com/theskumar/python-dotenv). \n", "\n", "The validity of your token can be checked with function `.get_token()`." ] }, { "cell_type": "markdown", "metadata": { "raw_mimetype": "text/markdown" }, "source": [ "```python\n", "# In Python\n", "import os\n", "import pywdpa\n", "\n", "# Set WDPA_KEY\n", "# (assuming that your token is \"ca4703ffba6b9a26b2db73f78e56e088\")\n", "os.environ[\"WDPA_KEY\"]=\"ca4703ffba6b9a26b2db73f78e56e088\"\n", "\n", "# Check your token validity\n", "pywdpa.get_token()\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If your token is valid, the function will return its value. Otherwise it will print an error message." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Downloading protected areas\n", "\n", "The function `.get_wdpa()` can be used to download the shapefile of protected areas for the Reunion Island which has the iso code \"REU\". The output file name in the working directory will be \"pa_REU.shp\"." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pywdpa\n", "\n", "pywdpa.get_wdpa(\"REU\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The shapefile can be imported in the Python environment, for example using the Python package `geopandas`." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
wdpa_idpa_nameorig_namectry_iso3owner_typeis_marinetypeiucn_catstatusdategeometry
062780Bois De Nèfles-Saint-PaulBois De Nèfles-Saint-PaulREUNot ReportedFalseForest Integral Biological ReserveIaDesignated01/01/1985POLYGON ((55.38600 -21.03200, 55.37700 -21.027...
162786Hauts De Saint-PhilippeHauts De Saint-PhilippeREUNot ReportedFalseForest Integral Biological ReserveIaDesignated01/01/1987POLYGON ((55.72300 -21.33500, 55.71100 -21.337...
262787Les MaresLes MaresREUNot ReportedFalseForest Integral Biological ReserveIaDesignated01/01/1987POLYGON ((55.72300 -21.18300, 55.73900 -21.179...
383081Bois BlancBois BlancREUNot ReportedFalseLand Acquired By Conservatoire Du Littoral (Na...IVDesignated01/01/1980MULTIPOLYGON (((55.80000 -21.19700, 55.81900 -...
483112Grande AnseGrande AnseREUNot ReportedTrueLand Acquired By Conservatoire Du Littoral (Na...IVDesignated01/01/1982MULTIPOLYGON (((55.54900 -21.36800, 55.54800 -...
\n", "
" ], "text/plain": [ " wdpa_id pa_name orig_name ctry_iso3 \\\n", "0 62780 Bois De Nèfles-Saint-Paul Bois De Nèfles-Saint-Paul REU \n", "1 62786 Hauts De Saint-Philippe Hauts De Saint-Philippe REU \n", "2 62787 Les Mares Les Mares REU \n", "3 83081 Bois Blanc Bois Blanc REU \n", "4 83112 Grande Anse Grande Anse REU \n", "\n", " owner_type is_marine type \\\n", "0 Not Reported False Forest Integral Biological Reserve \n", "1 Not Reported False Forest Integral Biological Reserve \n", "2 Not Reported False Forest Integral Biological Reserve \n", "3 Not Reported False Land Acquired By Conservatoire Du Littoral (Na... \n", "4 Not Reported True Land Acquired By Conservatoire Du Littoral (Na... \n", "\n", " iucn_cat status date \\\n", "0 Ia Designated 01/01/1985 \n", "1 Ia Designated 01/01/1987 \n", "2 Ia Designated 01/01/1987 \n", "3 IV Designated 01/01/1980 \n", "4 IV Designated 01/01/1982 \n", "\n", " geometry \n", "0 POLYGON ((55.38600 -21.03200, 55.37700 -21.027... \n", "1 POLYGON ((55.72300 -21.33500, 55.71100 -21.337... \n", "2 POLYGON ((55.72300 -21.18300, 55.73900 -21.179... \n", "3 MULTIPOLYGON (((55.80000 -21.19700, 55.81900 -... \n", "4 MULTIPOLYGON (((55.54900 -21.36800, 55.54800 -... " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import geopandas as gpd\n", "\n", "pa_REU = gpd.read_file(\"pa_REU.shp\")\n", "pa_REU.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Protected areas can be plotted using either the `.plot` function from the geopandas object or using the Python package `folium` which makes it easy to visualize data that’s been manipulated in Python on an interactive leaflet map." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.colors import ListedColormap\n", "cm = ListedColormap([\"green\", \"blue\"])\n", "pa_REU.plot(column=\"is_marine\", cmap=cm)" ] }, { "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": [ "import folium\n", "latitude = -21.1\n", "longitude = 55.5\n", "fcol = lambda x: {\n", " 'fillColor': \"blue\" if x[\"properties\"][\"is_marine\"] == \"True\" else \"green\",\n", " 'color': \"blue\" if x[\"properties\"][\"is_marine\"] == \"True\" else \"green\"\n", "}\n", "m = folium.Map(location = [latitude, longitude],\n", " zoom_start = 10)\n", "folium.GeoJson(pa_REU.to_json(), style_function=fcol).add_to(m)\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Command line \n", "\n", "The function `.get_wdpa()` can be directly executed in a shell using the `pywdpa` command followed by the country iso code as argument. This will download the shapefile of the protected areas for the Reunion Island in the current working directory." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Executing pywdpa version 0.1.5.\n", "For country with isocode: REU.\n" ] } ], "source": [ "%%bash\n", "# In a shell\n", "pywdpa REU" ] } ], "metadata": { "celltoolbar": "Format de la Cellule Texte Brut", "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.8.2" } }, "nbformat": 4, "nbformat_minor": 4 }