{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import pandas as pd\n", "import geopandas\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Case study - Conflict mapping: mining sites in eastern DR Congo\n", "\n", "In this case study, we will explore a dataset on artisanal mining sites located in eastern DR Congo.\n", "\n", "**Note**: this tutorial is meant as a hands-on session, and most code examples are provided as exercises to be filled in. I highly recommend actually trying to do this yourself, but if you want to follow the solved tutorial, you can find this in the `_solved` directory.\n", "\n", "---\n", "\n", "#### Background\n", "\n", "[IPIS](http://ipisresearch.be/), the International Peace Information Service, manages a database on mining site visits in eastern DR Congo: http://ipisresearch.be/home/conflict-mapping/maps/open-data/\n", "\n", "Since 2009, IPIS has visited artisanal mining sites in the region during various data collection campaigns. As part of these campaigns, surveyor teams visit mining sites in the field, meet with miners and complete predefined questionnaires. These contain questions about the mining site, the minerals mined at the site and the armed groups possibly present at the site.\n", "\n", "Some additional links:\n", "\n", "* Tutorial on the same data using R from IPIS (but without geospatial aspect): http://ipisresearch.be/home/conflict-mapping/maps/open-data/open-data-tutorial/\n", "* Interactive web app using the same data: http://www.ipisresearch.be/mapping/webmapping/drcongo/v5/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Importing and exploring the data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The mining site visit data\n", "\n", "IPIS provides a WFS server to access the data. We can send a query to this server to download the data, and load the result into a geopandas GeoDataFrame:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import requests\n", "import json\n", "\n", "wfs_url = \"http://geo.ipisresearch.be/geoserver/public/ows\"\n", "params = dict(service='WFS', version='1.0.0', request='GetFeature',\n", " typeName='public:cod_mines_curated_all_opendata_p_ipis', outputFormat='json')\n", "\n", "r = requests.get(wfs_url, params=params)\n", "data_features = json.loads(r.content.decode('UTF-8'))\n", "data_visits = geopandas.GeoDataFrame.from_features(data_features, crs={'init': 'epsg:4326'})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, the data is also provided in the tutorial materials as a GeoJSON file, so it is certainly available during the tutorial." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " | id | \n", "vid | \n", "source | \n", "project | \n", "pcode | \n", "name | \n", "visit_date | \n", "visit_onsite | \n", "visit_onsite_novisitreason | \n", "longitude | \n", "... | \n", "digging_armed_group2 | \n", "forced_labour_armed_group2 | \n", "pillaging_armed_group2 | \n", "state_service1 | \n", "state_service2 | \n", "state_service3 | \n", "state_service4 | \n", "itsci | \n", "qualification | \n", "geometry | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "cod_mines_curated_all_opendata_p_ipis.fid-11f0... | \n", "1 | \n", "IPIS - Ministère des Mines | \n", "IPIS - 2009 | \n", "codmine00191 | \n", "Eohe | \n", "2009-01-01Z | \n", "1 | \n", "None | \n", "28.712580 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "POINT (28.71258 0.33188) | \n", "
1 | \n", "cod_mines_curated_all_opendata_p_ipis.fid-11f0... | \n", "2 | \n", "IPIS - Ministère des Mines | \n", "IPIS - 2009 | \n", "codmine00192 | \n", "Eita | \n", "2009-01-01Z | \n", "1 | \n", "None | \n", "28.699160 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "POINT (28.69916 0.32153) | \n", "
2 | \n", "cod_mines_curated_all_opendata_p_ipis.fid-11f0... | \n", "3 | \n", "IPIS - Ministère des Mines | \n", "IPIS - 2009 | \n", "codmine00242 | \n", "Mungu Iko | \n", "2009-01-01Z | \n", "1 | \n", "None | \n", "28.185142 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "POINT (28.1851423 0.54499175) | \n", "
3 | \n", "cod_mines_curated_all_opendata_p_ipis.fid-11f0... | \n", "4 | \n", "IPIS - Ministère des Mines | \n", "IPIS - 2009 | \n", "codmine00260 | \n", "Kiviri/Tayna | \n", "2009-01-01Z | \n", "1 | \n", "None | \n", "28.884528 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "POINT (28.884528 -0.352529) | \n", "
4 | \n", "cod_mines_curated_all_opendata_p_ipis.fid-11f0... | \n", "5 | \n", "IPIS - Ministère des Mines | \n", "IPIS - 2009 | \n", "codmine00272 | \n", "Makanga | \n", "2009-01-01Z | \n", "1 | \n", "None | \n", "28.903945 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "POINT (28.903945 -0.036707) | \n", "
5 rows × 62 columns
\n", "\n", " | vid | \n", "project | \n", "visit_date | \n", "name | \n", "pcode | \n", "workers_numb | \n", "interference | \n", "armed_group1 | \n", "mineral1 | \n", "geometry | \n", "
---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Eohe | \n", "codmine00191 | \n", "300.0 | \n", "NaN | \n", "None | \n", "Or | \n", "POINT (28.71258 0.33188) | \n", "
1 | \n", "2 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Eita | \n", "codmine00192 | \n", "110.0 | \n", "NaN | \n", "None | \n", "Or | \n", "POINT (28.69916 0.32153) | \n", "
2 | \n", "3 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Mungu Iko | \n", "codmine00242 | \n", "NaN | \n", "NaN | \n", "FARDC | \n", "Or | \n", "POINT (28.1851423 0.54499175) | \n", "
3 | \n", "4 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Kiviri/Tayna | \n", "codmine00260 | \n", "NaN | \n", "NaN | \n", "FDLR | \n", "Or | \n", "POINT (28.884528 -0.352529) | \n", "
4 | \n", "5 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Makanga | \n", "codmine00272 | \n", "NaN | \n", "NaN | \n", "FDLR | \n", "Or | \n", "POINT (28.903945 -0.036707) | \n", "
Check the first section of the [04-more-on-visualization.ipynb](04-more-on-visualization.ipynb) notebook for tips and tricks to plot with GeoPandas.
\n", "For the following exercises, check the first section of the [04-more-on-visualization.ipynb](04-more-on-visualization.ipynb) notebook for tips and tricks to plot with GeoPandas.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " | pcode | \n", "vid | \n", "project | \n", "visit_date | \n", "name | \n", "workers_numb | \n", "interference | \n", "armed_group1 | \n", "mineral1 | \n", "geometry | \n", "
---|---|---|---|---|---|---|---|---|---|---|
661 | \n", "codmine00680 | \n", "1032 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2013-08-28Z | \n", "Ibozia/Kalumé | \n", "80.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (567832.7086093378 9759143.339360647) | \n", "
662 | \n", "codmine00681 | \n", "1025 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2013-08-26Z | \n", "Matamba | \n", "150.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (598323.5389475008 9758688.142411157) | \n", "
663 | \n", "codmine00682 | \n", "1031 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2013-08-27Z | \n", "Mutete/Mukina | \n", "170.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (570733.4369126211 9761871.114227083) | \n", "
664 | \n", "codmine00683 | \n", "1033 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2013-08-28Z | \n", "Mutete | \n", "100.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (569881.0930415759 9762219.110778008) | \n", "
760 | \n", "codmine00779 | \n", "1603 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2014-02-25Z | \n", "Mazankala | \n", "120.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (613075.5326777868 9722956.979837928) | \n", "
813 | \n", "codmine00833 | \n", "2439 | \n", "IPIS - IOM PROMINES 2015 | \n", "2015-07-28Z | \n", "Kitendebwa | \n", "50.0 | \n", "0.0 | \n", "FARDC | \n", "Or | \n", "POINT (693078.9282059025 9770107.517721133) | \n", "
871 | \n", "codmine00893 | \n", "1226 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2013-09-28Z | \n", "Sebwa-Lukoma | \n", "130.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (660406.3452248175 9715261.717041001) | \n", "
872 | \n", "codmine00894 | \n", "1305 | \n", "IPIS - PROMINES MoFA 2013-2014 | \n", "2013-10-30Z | \n", "Rwamakaza | \n", "160.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (661266.834456568 9716072.198784607) | \n", "
1486 | \n", "codmine01764 | \n", "180 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Mugaba I | \n", "50.0 | \n", "NaN | \n", "NaN | \n", "Or | \n", "POINT (685167.3714990132 9744069.967416598) | \n", "
1487 | \n", "codmine01765 | \n", "181 | \n", "IPIS - 2009 | \n", "2009-01-01Z | \n", "Mugaba Ouest | \n", "46.0 | \n", "NaN | \n", "NaN | \n", "Or | \n", "POINT (683156.6865782175 9746324.416321497) | \n", "
1681 | \n", "codmine01997 | \n", "2476 | \n", "IPIS - IOM PROMINES 2015 | \n", "2015-08-02Z | \n", "Nguba(Nkuba) kamisoke | \n", "122.0 | \n", "1.0 | \n", "Raïa Mutomboki | \n", "Cassitérite | \n", "POINT (622151.3489110788 9808363.111073116) | \n", "