Cartes de densité de population à haute résolution

Cet ensemble de données est externe à la plateforme Digital Earth Africa.

Aperçu

L’Afrique est le deuxième continent le plus peuplé du monde et sa population connaît une croissance rapide. La croissance démographique et sa répartition spatiale sont des facteurs importants à prendre en compte pour le développement durable. Par exemple, la population répartie spatialement et les informations démographiques peuvent être utilisées pour soutenir la planification des infrastructures et comprendre l’impact potentiel des changements environnementaux et des catastrophes sur la vie des personnes.

Cartes de densité de population à haute résolution + estimations démographiques par CIESIN et Meta <https://registry.opendata.aws/dataforgood-fb-hrsl/>`__ fournit des données démographiques à une résolution spatiale d’environ 30 m, c’est-à-dire une estimation du nombre de personnes vivant dans des cellules de grille de 30 x 30 mètres. L’ensemble de données est créé par Meta et le Center for International Earth Science Information Network (CIESIN) de l’Université de Columbia. Il combine des informations provenant du recensement et de l’identification des bâtiments à partir d’images satellite à haute résolution. En plus de la densité de population globale, des données sont disponibles dans les catégories démographiques suivantes :

  • Mâle

  • Femelle

  • Femmes en âge de procréer (15 à 49 ans)

  • Enfants (0-5 ans)

  • Jeunesse (15-24 ans)

  • Personnes âgées (60 ans et plus)

Vous trouverez plus d’informations sur la méthode utilisée sur https://dataforgood.facebook.com/dfg/docs/methodology-high-resolution-population-density-maps

Description

Ce bloc-notes montrera comment charger et visualiser les données de population.

Commencer

Pour exécuter cette analyse, exécutez toutes les cellules du bloc-notes, en commençant par la cellule « Charger les packages ».

Charger des paquets

Importez les packages Python utilisés pour l’analyse.

[1]:
import rioxarray as rxr
import matplotlib.pyplot as plt

from deafrica_tools.plotting import display_map

Les données de population sont hébergées dans la région AWS « us-east-1 », c’est pourquoi nous avons défini la région AWS sur « us-east-1 » lors de l’exécution de ce bloc-notes. La région AWS doit être modifiée en « af-south-1 » pour accéder aux données DEAfrica.

[2]:
# set s3 region for HRSL data access
import os
os.environ['AWS_DEFAULT_REGION']="us-east-1"
os.environ['AWS_S3_ENDPOINT']="s3.us-east-1.amazonaws.com"

Paramètres d’analyse

Cette section définit les paramètres d’analyse, notamment :

  • central_lat, central_lon, buffer : latitude/longitude centrales et taille de la fenêtre d’analyse pour la zone d’intérêt

L’emplacement par défaut est à Johannesburg, en Afrique du Sud.

[3]:
# Set the central latitude and longitude.
central_lat = -26.2041
central_lon = 28.0473

# Set the buffer to load around the central coordinates.
buffer = 0.05

# Compute the bounding box for the study area.
xmin, xmax = central_lon - buffer, central_lon + buffer
ymin, ymax = central_lat - buffer, central_lat + buffer
bbox = (xmin, ymin, xmax, ymax)

Afficher l’emplacement sélectionné

La cellule suivante affichera la zone sélectionnée sur une carte interactive. N’hésitez pas à zoomer et dézoomer pour mieux comprendre la zone que vous allez analyser. En cliquant sur n’importe quel point de la carte, vous découvrirez les coordonnées de latitude et de longitude de ce point.

[4]:
display_map(x=(xmin, xmax), y=(ymin, ymax))
[4]:
Make this Notebook Trusted to load map: File -> Trust Notebook

Chargement des données de population générale

Les données de population quadrillées sont fournies dans des géotiffs optimisés pour le cloud (COG) couvrant des tuiles de 10 x 10 degrés. Nous accéderons à la dernière version des COG via un raster virtuel (VRT).

En définissant le paramètre « chunks », les données sont d’abord chargées de manière différée sous forme de « tableau dask ».

[5]:
ds_general = rxr.open_rasterio('s3://dataforgood-fb-data/hrsl-cogs/hrsl_general/hrsl_general-latest.vrt', chunks ={'x': 1000, 'y': 1000})
[6]:
# load the data within area of interest

pop_general = ds_general.isel(band=0).sel(x=slice(xmin, xmax), y = slice(ymax, ymin)).compute()
[7]:
pop_general.plot.imshow(robust=True);
../../../_images/sandbox_notebooks_Datasets_High_Resolution_Population_Density_16_0.png

Chargement des données de population dans différentes catégories démographiques

Dans l’exemple ci-dessous, nous allons charger et visualiser la population des jeunes (15 à 24 ans) et des femmes.

[8]:
ds_youth = rxr.open_rasterio('s3://dataforgood-fb-data/hrsl-cogs/hrsl_youth_15_24/hrsl_youth_15_24-latest.vrt', chunks ={'x': 1000, 'y': 1000})
pop_youth = ds_youth.isel(band=0).sel(x=slice(xmin, xmax), y = slice(ymax, ymin)).compute()
[9]:
ds_women = rxr.open_rasterio('s3://dataforgood-fb-data/hrsl-cogs/hrsl_women/hrsl_women-latest.vrt', chunks ={'x': 1000, 'y': 1000})
pop_women = ds_women.isel(band=0).sel(x=slice(xmin, xmax), y = slice(ymax, ymin)).compute()
[10]:
fig, ax = plt.subplots(2, 2, figsize=(22, 16), sharey=True)

pop_youth.plot.imshow(ax=ax[0, 0], robust=True)
(pop_youth*100/pop_general).plot.imshow(ax=ax[0, 1], robust=True)

pop_women.plot.imshow(ax=ax[1, 0], robust=True)
(pop_women*100/pop_general).plot.imshow(ax=ax[1, 1], robust=True)

ax[0, 0].set_title("Youth population")
ax[0, 1].set_title("Percentage of youth population")

ax[1, 0].set_title("Female population")
ax[1, 1].set_title("Percentage of female population");
../../../_images/sandbox_notebooks_Datasets_High_Resolution_Population_Density_20_0.png

Informations Complémentaires

Licence : Le code de ce carnet est sous licence Apache, version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>. Les données de Digital Earth Africa sont sous licence Creative Commons par attribution 4.0 <https://creativecommons.org/licenses/by/4.0/>.

Contact : Si vous avez besoin d’aide, veuillez poster une question sur le canal Slack Open Data Cube <http://slack.opendatacube.org/>`__ ou sur le GIS Stack Exchange en utilisant la balise open-data-cube (vous pouvez consulter les questions posées précédemment ici). Si vous souhaitez signaler un problème avec ce bloc-notes, vous pouvez en déposer un sur Github.

Version de Datacube compatible :

[11]:
import datacube
print(datacube.__version__)
1.8.15

Dernier test :

[12]:
from datetime import datetime
datetime.today().strftime('%Y-%m-%d')
[12]:
'2023-08-11'