.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/plot_readWrite.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_plot_readWrite.py: Premières manipulations de données spatiales ---------------------------------------------------------------- Dans ce notebook, nous allons apprendre à lire, écrire, merger et aggréger des données spatiales. .. GENERATED FROM PYTHON SOURCE LINES 6-12 .. code-block:: default # sphinx_gallery_thumbnail_number = 1 import os import pandas as pd import geopandas as gpd import config .. GENERATED FROM PYTHON SOURCE LINES 13-17 Ouverture des données ================================ Les données attributaires proviennent du recensement de la population de 2017. La base commune contient la population communale, PTOT (et par arrondissement pour Paris, Lyon et Marseille). Attention, les données sont en géographie 2019. .. GENERATED FROM PYTHON SOURCE LINES 17-21 .. code-block:: default population = pd.read_csv(os.getenv("URL_DATA_COMMUNES"), sep=";", dtype={'DEPCOM':str}) population.head(2) .. raw:: html
DEPCOM COM PMUN PCAP PTOT
0 01001 L' Abergement-Clémenciat 776 18 794
1 01002 L' Abergement-de-Varey 248 1 249


.. GENERATED FROM PYTHON SOURCE LINES 22-23 On ouvre le fond des communes et on lui rajoute les arrondissements. .. GENERATED FROM PYTHON SOURCE LINES 23-29 .. code-block:: default commune = gpd.read_file(os.getenv("URL_GEOJSON_COMMUNES")) armf = gpd.read_file(os.getenv("URL_GEOJSON_ARMF")) armf['dep'] = armf.code.str.slice(0,3) # il manque le numèro de département dans le fond armf commune = commune.append(armf, sort=False) .. GENERATED FROM PYTHON SOURCE LINES 30-34 Jointure des données ================================ La jointure entre les deux tables s'opère simplement à l'aide de la fonction ``gpd.merge()``. .. GENERATED FROM PYTHON SOURCE LINES 34-37 .. code-block:: default pop_com = commune.merge(population, left_on='code', right_on='DEPCOM') .. GENERATED FROM PYTHON SOURCE LINES 38-39 On peut afficher une carte de densité en quelques lignes de code en recourant à la fonction ``gpd.plot()``. .. GENERATED FROM PYTHON SOURCE LINES 39-43 .. code-block:: default pop_com['densite'] = pop_com.PTOT / pop_com.geometry.area * 1000000 ax = pop_com.plot('densite',legend=True, scheme='quantiles', cmap='OrRd', figsize=(10,10)) .. image:: /gallery/images/sphx_glr_plot_readWrite_001.png :alt: plot readWrite :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 44-48 Aggregation des données pour produire des données départementales et régionales ==================================================================================== L'aggrégation des données spatiales s'effectue à l'aide de la fonction ``gpd.dissolve()`` qui repose sur la méthode **groupby** de pandas. **aggfunc** définit la fonction a appliqué aux données attributaires. .. GENERATED FROM PYTHON SOURCE LINES 50-52 Carte au niveau départemental ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. GENERATED FROM PYTHON SOURCE LINES 52-57 .. code-block:: default pop_dep = pop_com.dissolve(by='dep', aggfunc='sum', as_index=False) pop_dep['densite'] = pop_dep.PTOT / pop_dep.geometry.area * 1000000 ax = pop_dep.plot('densite',legend=True, scheme='quantiles', figsize=(10,10),cmap='OrRd') .. image:: /gallery/images/sphx_glr_plot_readWrite_002.png :alt: plot readWrite :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 58-60 Carte au niveau régional ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. GENERATED FROM PYTHON SOURCE LINES 60-64 .. code-block:: default pop_reg = pop_com.dissolve(by='reg', aggfunc='sum', as_index=False) pop_reg['densite'] = pop_reg.PTOT / pop_reg.geometry.area * 1000000 ax = pop_reg.plot('densite',legend=True, scheme='quantiles', figsize=(10,10),cmap='OrRd') .. image:: /gallery/images/sphx_glr_plot_readWrite_003.png :alt: plot readWrite :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 38.887 seconds) .. _sphx_glr_download_gallery_plot_readWrite.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_readWrite.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_readWrite.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_