TD 3.2 - Créer une carte choroplèthe de la ville de Gresham en Oregon.

Vincent GODARD - V3.1 - 03/05/2021

Cours de traitement des données et cartographie

Département de géographie - L2 - Université de Paris 8

Inspiré de :

de

de

et de

Téléchargement des documents nécessaires :

Dossier compressé à télécharger => ici.

1. Chargement des bibliothèques (packages)

Dans le JupyterLab la bibliothèque pandas est déjà installée mais pas la bibliothèque folium. Il faut l'installer.

Il faut ensuite les charger (fonction import).

2. Chargement du fond de carte

3. Chargement et affichage des données

3.1 Chargement des fichiers vecteurs

Les données à récupérer sont celles au format GeoJSON. Exportées d'ArcGIS pro en GeoJSON ou converties avec "mapshaper.org" de shp en GeoJSON.

Vous devez les sauvegarder, idéalement dans le même répertoire que votre notebook.

Ici, le fichier est dans le répertoire "data".

Chargez (UpLoad) les fichiers "Enriched_Block_Groups_GJS.geojson" dans un répertoire nommé "data" dans le répertoire "/demo/" du JupyterLab.

Vérifiez que le nom du fichier est entre "".

Le format GeoJSON est un JSON (JavaScrip Object Notation) de type géographique. Il permet de décrire des implantations (points, lignes, polygones, chaînes de caractères), leur type et sous-type, leurs attributs et peut être utilisé directement comme nous le verrons plus loin (https://fr.wikipedia.org/wiki/GeoJSON).

L'import avec Python de la couche "geo" a transformé celle-ci en dictionnaire qui contient deux éléments : le type et les informations (nommées features).

Nous contrôlons la présence des 50 blocks dans l'objet features, qui est une "list".

Dans chaque objet de cette liste, nous disposons aussi de différents objets de type Feature.

Dans le champs "properties", il y a  les coordonnées en longitude et latitude du centre du polygone.

Et dans la partie "geometry", nous voyons que c'est un "Polygon" qui est représenté, avec toutes les coordonnées des sommets de ce polygone.

3.2 Conversion de la table attributaire en tableau de données (df)

Conversion dans un tableau (dataframe = df) de la bibliothèque Pandas.

Dans les cartes choroplètes, les polygones sont coloriés selon une variable statistique.

Pour cela, nous devons devons utiliser la fonction Choropleth() de la carte créée.

Nous passons dans le paramètre geo_data les données contenues dans le fichier GeoJSON importés plus haut.

Cartographie d'une information statistique

Nous avons besoin d'un DataFrame contenant deux variables :

- un identifiant commun avec les informations contenues dans le GeoJSON ;
- la variable statistique d'intérêt (pour cet exemple, ce sera la densité : population par mille carré "POP10_SQMI").

Pour le construire, nous allons récupérer le numéro de bloc (FIPS dans properties) et la densité (POP10_SQMI dans properties).

Création du DataFrame (df)

Pour relier ces informations (df) à la carte, toujours dans la fonction Choropleth(), nous devons définir les éléments suivants :

  1. clé de jointure
  2. mesure statistique

Quelques paramètres pour réaliser une carte choroplèthe https://python-visualization.github.io/folium/quickstart.html

Des infos sur différents fonds de cartes (cf. tiles=' Stamen Terrain') =>

4. Cartographie

4.1 Méthode des quantiles

4.2 Méthode des intervalles égaux¶

4.3 Méthode de Jenks