Cartographie la population à l’échelle des zones urbaines

Dans un précédent post, nous avons vu comment cartographier la population à l’échelle du bâti, à partir d’une méthode du CEREMA. Cette méthode, bien qu’elle soit très précise, présente deux inconvénients :

  • Elle est chronophage, notamment afin d’identifier le bâti à vocation résidentielle, tâche comportement nécessairement une part de traitement manuel et une bonne connaissance du territoire étudié.
  • L’absence de données peut être bloquant (bâti et élévation).

C’est pourquoi nous allons ici réfléchir à une deuxième méthode, moins précise mais relativement plus rapide ; à la fois en terme de manipulation logicielle mais également de temps de calcul. Elle présente de plus l’avantage d’utiliser uniquement des données nationales libres et gratuites. L’objectif ne change pas : il s’agit d’estimer la population à une échelle infracommunale, voire infra-IRIS (découpage démographique utilisé par l’INSEE).

Les données nécessaires

Les îlots IRIS demeurent notre principale source de données démographiques. En revanche, nous allons ici utiliser à la place du bâti la base de données d’occupation du sol Corine Land Cover, téléchargeable sur le site du programme européen Copernicus. Nous avons donc besoin de trois jeux de données :

  • Les contours IRIS de l’INSEE, téléchargeables sur le site de l’IGN ;
  • La population par îlot IRIS, téléchargeable sur le site de l’INSEE(attention à bien sélectionner la même année de référence que pour les contours). Nous ferons ensuite la liaison contours (IGN) – population (INSEE) ;
  • L’occupation du sol (Corine Land Cover – « CLC »).

Chargez tout ça tout ça dans QGIS le meilleur SIG du monde votre SIG préféré (okay voilà le lien vers leur site quand même : qgis.org) et réalisez la jointure IRIS INSEE <> IRIS IGN. Pour info, nous aurons uniquement besoin des zones urbaines denses et peu denses, correspondant respectivement aux codes 111 et 112, ainsi que des zones 121 (zones industrielles et commerciales), qui peuvent comporter une part importante d’habitat.

Après un peu de mise en forme, voilà à quoi pourrait ressembler votre écran :

Étape 0 : On voit ici les zones urbaines en rouge. Le gris représente d’autres espaces artificialisés. J’y ai ajouté le réseau ferroviaire et les gares de mon territoire, à titre d’exemple. Je n’ai pas affiché les contours IRIS.

Étape 1 : découper les zones urbaines

La première étape va donc être de faire correspondre les IRIS avec les zones urbaines. En effet, même s’il y a une logique dans le tracé des îlots IRIS – c’est à dire que les zones urbaines vont parfois être comprises dans les îlots IRIS – ce ne sera pas toujours le cas ; en particulier dans les agglomérations, où les « tâches » urbaines… s’agglomèrent. Exemple ci-dessous de non-correspondance :

L’îlot IRIS sélectionné (en jaune) chevauche une zone urbaine.

Pour réaliser cette correspondance, on va donc découper les zones urbaines avec les contours IRIS.

Auparavant, il va d’abord nous falloir isoler nos zones urbaines dans une couche à part, ce que nous réalisons en sélectionnant les codes 111, 112 et 121 et en enregistrant la sélection dans une nouvelle couche que nous nommerons ZonesUrbaines.

On réalise ensuite le « découpage » de la couche ZonesUrbaines avec les contours IRIS (fonction « intersection » dans QGIS, par exemple), dont nous enregistrons le résultat dans une nouvelle couche nommée ZU_coupe :

Étape 1 : Les zones urbaines ont bien été « découpées » par les contours des IRIS. Contours des zones urbaines (en blanc) et des IRIS (en noir).

Étape 2 : Calculer la densité de population des zones urbaines

Ce qu’il nous faut maintenant, c’est calculer la densité de population des zones urbaines.  Pour rappel, la densité de population se calcule en divisant la surface par la population. Ici, nous n’allons pas effectuer ce calcul à l’échelle de l’IRIS, ce qui présenterait peu d’intérêt, mais bien à l’échelle de la zone urbaine. On part donc du postulat que la population est concentrée dans ces zones urbaines (« denses » ou « peu denses »). Le calcul ici sera donc :

Surface zone urbaine x1 / population IRIS y1

On va donc commencer par calculer la surface de chaque tâche urbaine. Pour ce faire, nous créons un nouveau champs « surface » dans la couche ZU_coupe et on y calcule la surface de chaque entité (fonction $area dans QGIS). Comme d’habitude lorsqu’on utilise des surfaces, prenez soin d’utiliser de préférence une projection équivalente, comme la projection azimutale équivalente de Lambert.

Commence alors un petit jeu d’aller-retours destiné à pouvoir effectuer le calcul de densité de population par zone urbaine :

  • La somme des surfaces des zones urbaines est « injectée » dans la couche IRIS au moyen d’une requête spatiale. Une méthode moins gourmande en mémoire peut être de réutiliser les identifiants IRIS que vous devez normalement avoir récupéré dans la couche des zones urbaines au moment du découpage. Voici un exemple de requête avec cette dernière solution :
  • SELECT IRIS.geometry, IRIS.CODE_IRIS, IRIS.NOM_IRIS, IRIS._P13_POP, sum(ZU.surface) AS surf_ZU
    FROM IRIS13 AS IRIS
    JOIN ZU_coupe AS ZU
    ON ZU.CODE_IRIS = IRIS.CODE_IRIS
    GROUP BY IRIS.geometry, IRIS.CODE_IRIS, IRIS.NOM_IRIS, IRIS._P13_POP
    
  • Appelons cette couche « IRIS_surfZU ».
  • On peut dès à présent calculer la densité de population à l’échelle de chaque IRIS en divisant leur population par la surface totale des zones urbaines qu’il contient. On crée donc une nouvelle colonne « densite » et on y calcule : population / surf_ZU (surface des zones urbaines). Notez que cette densité est naturellement « surestimée » par rapport à celle qui aurait pu être calculée dès le début (en divisant la population de l’IRIS par sa surface) puisque c’est bien la surface des zones urbaine que nous avons ici utilisé pour calculer la densité de population et non la surface de l’IRIS.
  • Machine arrière maintenant : cette densité de population, il faut maintenant l’injecter dans les zones urbaines, afin de calculer la population des zones urbaines. Ici aussi, une simple jointure avec l’identifiant IRIS fera l’affaire, ou une jointure spatiale.
  • SELECT ZU.geometry, ZU.ID, ZU.CODE_12, ZU.CODE_IRIS, IRIS.densite
    FROM IRIS_surfZU AS IRIS
    JOIN ZU_coupe AS ZU
    ON ZU.CODE_IRIS = IRIS.CODE_IRIS
    GROUP BY ZU.ID, ZU.CODE_12, ZU.CODE_IRIS
    

Le résultat est une nouvelle couche de zones urbaines amendées de la densité que nous nommerons ZU_densite.

Étape 3 : calculer la population

Pour calculer la population, il nous suffit alors de multiplier celle-ci par la surface des zones urbaines ($area * densite). Et voici ce que ça peut donner en ajoutant une symbologie graduée à partir de la population :

Les zones urbaines les plus peuplées apparaissent en bleu foncé.

On peut aussi vérifier rapidement que le calcul s’est bien passé en regardant la population d’un IRIS et la somme de la population des zones urbaines qu’il contient : les chiffres doivent concorder (avec une marge d’erreur d’environ 0,1%, inhérente à la projection géographique).

Usages et conclusion

Pour ma part, à cette étape, je peux déjà tirer quelques conclusions d’ordre qualitatif. En effet, je m’intéresse ici à la densité de population autour de gares ferroviaires du périurbain lyonnais : en un clin d’oeil, on constate que si la majorité des zones d’habitat sont situées à proximité d’une gare ferroviaire, certains territoires se sont développées en marge de cette infrastructure. Enfin, certaines poches d’habitat apparaissent totalement déconnectées du réseau ferroviaire :

Mais on peut aller plus loin dans l’analyse en estimant la population habitant, par exemple à moins de 10 minutes à pieds d’une gare. Cela correspond environ à une distance de 750 mètres pour un piéton lambda :

Les zones tampon de 750 m autour des gares.

On va tout d’abord créer les zones tampons avec une distance fixe de 750 mètres. Puis, comme précédemment, on va découper la couche des zones urbaines avec celle des zones tampon, afin de pouvoir manipuler leurs données respectives et notamment :

  • La densité de population ;
  • La surface résultant de l’union des zones tampons et des zones urbaines.

Ce qui donne ceci :

Nous avons sélectionné la portion des zones urbaines situées à moins de 750 m des gares.

On peut alors recalculer la population de ces zones urbaines « tronquées » en multipliant la densité par la surface ($area). Et voilà le résultat visuel :

Chaque tâche rouge contient une valeur de population.

Sur la ligne Saint-Paul <> Lozanne, on découvre ainsi que plus de  22 000 personnes habitent à moins de 10 minutes à pieds d’une gare (hors gare Saint-Paul et Gorge de Loup). Dans l’aire urbaine lyonnaise (comprise dans un rayon moyen de 40 km autour de Lyon), cela concerne plus de 354 000 personnes, soit environ 15% de la population totale !

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *