Vous êtes sur la page 1sur 17

TP 2

NGOULOU NGOUBILI Irch Defluviaire

2023-11-26

Contents
1 Activité 1 : Manipulation des cartes 1
1.1 Chargement des packages utiles pour la cartographie . . . . . . . . . . . . . . . . . . . . . . . 1

2 Carte du monde 2

3 1- Pour représenter la carte du Cameroun sans les subdivisions, vous pouvez utiliser le
code suivant: 3
3.1 Importation du fichier shapfile du Congo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 tracer la carte du Cameroun avec les subdivisions de niveau 1 3


4.1 Présentation de la République di Congo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.2 Identification de la position du département de la Niari . . . . . . . . . . . . . . . . . . . . . 4
4.3 Commentaire: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5 La situation démographique des communes limitrophes à Mossendjo est la suivante : 7

6 Commentaire: 8
6.1 Zone tampon avec ggplot2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

7 Travail avec le package sf et la fonction plot pour afficher les graphique 10

8 # Extraction des polygones correspondant au département de la Niari 10


8.1 Représentation de la cartographie mise en exergue du département de la Lékoumou: . . . . . 11
L’objectif de ce TP est de manipuler les cartes avec R et éventuellement associé des données à des cartes
existantes issues de différentes sources.

1 Activité 1 : Manipulation des cartes


1.1 Chargement des packages utiles pour la cartographie
library(rgdal)

## Le chargement a nécessité le package : sp


## Please note that rgdal will be retired during October 2023,
## plan transition to sf/stars/terra functions using GDAL and PROJ
## at your earliest convenience.
## See https://r-spatial.org/r/2023/05/15/evolution4.html and https://github.com/r-spatial/evolution
## rgdal: version: 1.6-7, (SVN revision 1203)
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 3.6.2, released 2023/01/02

1
## Path to GDAL shared files: C:/Users/Irch Defluviaire/AppData/Local/R/win-library/4.3/rgdal/gdal
## GDAL does not use iconv for recoding strings.
## GDAL binary built with GEOS: TRUE
## Loaded PROJ runtime: Rel. 9.2.0, March 1st, 2023, [PJ_VERSION: 920]
## Path to PROJ shared files: C:/Users/Irch Defluviaire/AppData/Local/R/win-library/4.3/rgdal/proj
## PROJ CDN enabled: FALSE
## Linking to sp version:2.1-1
## To mute warnings of possible GDAL/OSR exportToProj4() degradation,
## use options("rgdal_show_exportToProj4_warnings"="none") before loading sp or rgdal.
library(mapsf)
library(sf) # pour manipuler les données spatiales

## Linking to GEOS 3.11.2, GDAL 3.7.2, PROJ 9.3.0; sf_use_s2() is TRUE


library(ggplot2) # pour tracer les cartes

2 Carte du monde
library(maps)
world_map = map_data("world")
ggplot(world_map, aes(x = long, y = lat, group = group)) +
geom_polygon(fill = "lightblue", color = "black") +
theme_minimal() +
labs(title = "World Map") +
coord_fixed() +
geom_text(x = -30, y = 0, label = "N", size = 5, color = "red", fontface = "bold") + # Ajouter la flèc
geom_text(x = -100, y = 0, label = "Source", size = 4, color = "blue") # Ajouter la source

2
World Map

50

N
lat

0 Source

−50

−100 0 100 200


long

3 1- Pour représenter la carte du Cameroun sans les subdivisions,


vous pouvez utiliser le code suivant:
3.1 Importation du fichier shapfile du Congo
Nous lisons le shapefile du Congo avec les subdivisions de niveau 1 (les départements). Les grandes villes
Pointe-Noire et Brazzaville sont considérés comme les départements.
congo_detp = st_read(dsn = "E:/ISEL 3/STATISTIQUE EXPLORATOIRE SPATIALE/Mes_TP/TP_Cartograpgie/Shape_fi

## Reading layer `gadm41_COG_1' from data source


## `E:\ISEL 3\STATISTIQUE EXPLORATOIRE SPATIALE\Mes_TP\TP_Cartograpgie\Shape_files\Congo\gadm41_COG_1.
## using driver `ESRI Shapefile'
## Simple feature collection with 12 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 11.20086 ymin: -5.030664 xmax: 18.65 ymax: 3.703082
## Geodetic CRS: WGS 84

4 tracer la carte du Cameroun avec les subdivisions de niveau 1


4.1 Présentation de la République di Congo
La République du Congo, également connue sous le nom de Congo-Brazzaville, est divisée en 12 départements.
Ces départements sont eux-mêmes subdivisés en arrondissements, qui sont ensuite divisés en districts. Les

3
districts sont à leur tour divisés en communes et quartiers. Les départements comprennent des villes
importantes telles que Brazzaville, la capitale, Pointe-Noire, Dolisie, Ouesso et Nkayi. Chaque département a
un chef-lieu et est dirigé par un préfet. Cette structure administrative permet au gouvernement de gérer
efficacement les affaires publiques à travers le pays et de fournir des services aux citoyens à différents niveaux
de gouvernance.
ggplot(congo_detp) + geom_sf(aes(fill = NAME_1)) + scale_fill_discrete(name = "Départements")

4°N

Départements

2°N Bouenza
Brazzaville
Cuvette
Cuvette−Ouest
0° Kouilou
Lékoumou
Likouala
Niari
2°S
Plateaux
Pointe Noire
Pool

4°S Sangha

11°E 12°E 13°E 14°E 15°E 16°E 17°E 18°E 19°E

congo_com = st_read(dsn = "E:/ISEL 3/STATISTIQUE EXPLORATOIRE SPATIALE/Mes_TP/TP_Cartograpgie/Shape_file

## Reading layer `gadm41_COG_2' from data source


## `E:\ISEL 3\STATISTIQUE EXPLORATOIRE SPATIALE\Mes_TP\TP_Cartograpgie\Shape_files\Congo\gadm41_COG_2.
## using driver `ESRI Shapefile'
## Simple feature collection with 48 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 11.20086 ymin: -5.030664 xmax: 18.65 ymax: 3.703082
## Geodetic CRS: WGS 84

4.2 Identification de la position du département de la Niari


Le département du Niari est une région forestière et agricole du sud-ouest du Congo-Brazzaville. Il a une
superficie de 25 940 km2 et une population de 231 000 habitants. Sa capitale est Dolisie, la troisième ville
du pays. Il est limitrophe avec le Gabon, la République démocratique du Congo et trois autres départements
congolais.
congo_niari <- congo_detp[congo_detp$NAME_1 == "Niari", ]
# tracer la carte du Cameroun avec la région du Centre en rouge

4
ggplot(congo_detp) + geom_sf() + geom_sf(data = congo_niari, fill = "darkgreen")

4°N

2°N

2°S

4°S

11°E 12°E 13°E 14°E 15°E 16°E 17°E 18°E 19°E

Mossengo est la deuxième ville du département du Niari, située au cœur du massif du Chaillu. Sa population
est estimée à 12 000 habitants, composée de plusieurs groupes ethniques, dont les Tsangui, les Punus, les
Tékés, les Banbas, les Kougnis et les Kotas. L’activité principale de la ville est l’exploitation forestière, qui a
commencé au début du XXe siècle avec la construction du chemin de fer reliant Dolisie à Mbinda. La ville a
aussi bénéficié du transit du manganèse en provenance du Gabon vers Pointe-Noire.
# filtrer le shapefile du Congo avec les subdivisions de niveau 2 pour ne garder que les départements de
commune_choix <- congo_com[congo_com$NAME_2 %in% c("Mossendjo", "Brazzaville", "Pointe Noire"), ]

# tracer la carte du Congo avec les départements de votre choix en rouge


ggplot(congo_com) + geom_sf() + geom_sf(data = commune_choix, fill = "green")

5
4°N

2°N

2°S

4°S

11°E 12°E 13°E 14°E 15°E 16°E 17°E 18°E 19°E

4.3 Commentaire:
Les cartes ci-dessus permettent de mettre en évidence les zones d’intérêt pour l’étude. Par exemple, le
département du Niari est le département où l’activité forestière est intensifiée. La commune de Mossendjo
présente des caractéristiques socio-économiques et environnementales variées par rapport aux deux grandes
villes Brazzaville et Pointe-Noire.
congo_mossendjo<- congo_com[congo_com$NAME_2 == "Mossendjo", ]
# extraire les coordonnées du polygone du département de la Kadey
Mossendjo_coords <- st_coordinates(st_cast(congo_mossendjo, "MULTILINESTRING"))
# créer un buffer de 200km autour du polygone
mossendjo_buffer <- st_buffer(st_cast(congo_mossendjo, "MULTIPOLYGON"), dist = 20000)

# filtrer le shapefile du Congo avec les subdivisions de niveau 2 pour ne garder que les districts ou co
congo_moss_voisins <- congo_com[st_intersects(congo_com, mossendjo_buffer, sparse = FALSE), ]

# tracer la carte des communes qui sont limitrophes à la commune de Mossendjo


ggplot(congo_moss_voisins) + geom_sf(aes(fill = NAME_2)) + scale_fill_discrete(name = "Communes limitrop

6
2.0°S

Communes limitrophes
2.5°S
Bambama
Divénié
Kibangou
3.0°S Komono
Loudima
Louvakou (Loubomo)
3.5°S Mayoko
Mossendjo
Sibiti
4.0°S

4.5°S
11.5°E 12.0°E 12.5°E 13.0°E 13.5°E 14.0°E

5 La situation démographique des communes limitrophes à


Mossendjo est la suivante :
Divenié : C’est l’une des deux communes urbaines limitrophe de Mossendjo. Elle a une superficie de 2,6
km2 et une population de 9 314 habitants en 20181.
Moutamba : C’est le chef-lieu du district du même nom, qui englobe Mossendjo et ses communes urbaines.
Elle a une superficie de 5 200 km2 et une population de 18 628 habitants en 2018.
Komono : C’est une commune rurale du district de Moutamba, située à 50 km au sud-ouest de Mossendjo.
Elle a une superficie de 1 500 km2 et une population de 7 000 habitants en 2018.
Mayoko : C’est une commune rurale du district de Louvakou, située à 80 km au nord-est de Mossendjo. Elle
a une superficie de 2 000 km2 et une population de 10 000 habitants en 2018.
# calculer le centroïde du Niari
niari_centroide <- st_centroid(congo_niari)

# calculer le centroïde de Mossendjo


mossendjo_centroide <- st_centroid(congo_mossendjo)

# tracer la carte du Congo avec les centroïdes du Niari et de Mossendjo


ggplot(congo_detp) + geom_sf() + geom_sf(data = niari_centroide , color = "blue", size = 3) + geom_sf(da

7
4°N

2°N

2°S

4°S

11°E 12°E 13°E 14°E 15°E 16°E 17°E 18°E 19°E

6 Commentaire:
Ces cartes permettent de visualiser les points représentatifs du Niari et de Mossendjo, qui sont les centroïdes
de leurs polygones respectifs. Le centroïde est le point qui minimise la somme des distances au carré entre lui
et tous les autres points du polygone. Il peut être considéré comme le centre de gravité du polygone.
# créer un buffer de 300 km autour du centroïde de la Kadey
moss_buffer_300 <- st_buffer(mossendjo_centroide, dist = 3)

# tracer la carte du Congo avec la zone tampon de 300 km autour du centroïde de Mossengo
ggplot(congo_detp) + geom_sf() + geom_sf(data = moss_buffer_300, fill = "green", alpha = 0.5)

8
4°N

2°N

2°S

4°S

11°E 12°E 13°E 14°E 15°E 16°E 17°E 18°E 19°E

6.1 Zone tampon avec ggplot2


# tracer la carte de la zone tampon de 300 km autour du centroïde de Mossendjo
ggplot(moss_buffer_300) + geom_sf()

9
3.00440°S

3.00441°S

3.00442°S

3.00443°S

3.00444°S

3.00445°S

12.67601°E 12.67602°E 12.67603°E 12.67604°E 12.67605°E 12.67606°E

7 Travail avec le package sf et la fonction plot pour afficher les


graphique
8 # Extraction des polygones correspondant au département de
la Niari
congo = st_read(dsn = "E:/ISEL 3/STATISTIQUE EXPLORATOIRE SPATIALE/Mes_TP/TP_Cartograpgie/Shape_files/Co

## Reading layer `gadm41_COG_1' from data source


## `E:\ISEL 3\STATISTIQUE EXPLORATOIRE SPATIALE\Mes_TP\TP_Cartograpgie\Shape_files\Congo\gadm41_COG_1.
## using driver `ESRI Shapefile'
## Simple feature collection with 12 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 11.20086 ymin: -5.030664 xmax: 18.65 ymax: 3.703082
## Geodetic CRS: WGS 84
position = which(congo$NAME_1 == "Niari")

polygone <- congo[position, ]

10
8.1 Représentation de la cartographie mise en exergue du département de la
Lékoumou:
#Calculer le centroide du Niari.
monvillage <- "Mossendjo"
mapartie <- congo[congo$NAME_2 == monvillage,]
gravite <- st_centroid(x = mapartie)
monvillage <- "Mossendjo"
mapartie <- congo[congo$NAME_2 == monvillage,]

par(mar = c(0.1, 0.1, 0.2, 5)) # A prendre


plot(congo$geometry)
plot(polygone, col="darkred", border="purple", lwd=1, add=T)
mf_label(
x = congo, var = "NAME_1", col = "grey10", halo = TRUE, overlap = TRUE, lines = FALSE)

Likouala
Likouala
Likouala

Sangha
Sangha

Cuvette−Ouest
Cuvette−Ouest
Cuvette−Ouest

Cuvette
Cuvette
Cuvette

Plateaux
Plateaux
Plateaux

Niari
Niari Lékoumou
Niari Lékoumou

Pool
Pool
Pool
Bouenza
Bouenza
Bouenza
Kouilou
Kouilou
Kouilou Brazzaville
Brazzaville

Pointe
Pointe Noire
Pointe Noire
Noire

congo <- st_read(dsn = "E:/ISEL 3/STATISTIQUE EXPLORATOIRE SPATIALE/Mes_TP/TP_Cartograpgie/Shape_files/C

## Reading layer `gadm41_COG_2' from data source


## `E:\ISEL 3\STATISTIQUE EXPLORATOIRE SPATIALE\Mes_TP\TP_Cartograpgie\Shape_files\Congo\gadm41_COG_2.
## using driver `ESRI Shapefile'
## Simple feature collection with 48 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 11.20086 ymin: -5.030664 xmax: 18.65 ymax: 3.703082
## Geodetic CRS: WGS 84

11
par(mar = c(0.1, 0.1, 0.2, 5))
plot(congo$geometry)

#mettre en exergue un département


monvillage <- "Mossendjo"
mapartie <- congo[congo$NAME_2 == monvillage,]

par(mar = c(0.1, 0.1, 0.2, 5)) # A prendre


plot(st_geometry(congo), col="#aec8f2", border="white", lwd=1)
plot(st_geometry(mapartie), col="green", border="purple", lwd=1, add=T)

12
#Calculer le centroide du Niari.
mapartie <- congo[congo$NAME_2 == monvillage,]
gravite <- st_centroid(x = mapartie)
par(mar = c(0.5,0.5,1.5,0.5))
plot(st_geometry(congo), col="#aec8f2", border="darkblue", lwd=1)
plot(st_geometry(mapartie), col="green", border="purple", lwd=1, add=T)
plot(st_geometry(gravite), pch=21, col="black", cex=1, add=T)

13
#Calculer et matérialiser une zone tampon
dist <- 300000
buff <- st_buffer(x = st_geometry(gravite), dist=dist)
par(mar = c(1.5,0.5,1.5,0.5))
plot(st_geometry(congo), col="#aec8f2", border="darkblue", lwd=1)
plot(st_geometry(mapartie), col="green", border="yellow", lwd=1, add=T)
plot(st_geometry(gravite), pch=23, col="black", cex=2, add=T)
plot(buff, col=NA, border="black", lty=2,add=T)

14
#recuperer les départments dans la zone tampon
congo$buff <- st_intersects(st_geometry(congo), st_geometry(buff), sparse = FALSE)
nb <- dim(congo[congo$buff == T,])

#Extraction et affichage des depatem


dept200km <- congo[congo$buff == TRUE,]
par(mar = c(0.2,0.2,0.2,0.2))
plot(st_geometry(congo), col="#aec8f2", border="darkblue", lwd=1)
plot(st_geometry(mapartie), col="green", border="purple", lwd=1, add=T)
plot(st_geometry(gravite), pch=20, col="black", cex=2, add=T)
plot(buff, col=NA, border="black", lty=2, add=T)
plot(st_geometry(dept200km), col=NA, lwd=2, border="red", add=T)

15
par(mar = c(0.5,0.5,1.5,0.5))
plot(st_geometry(dept200km), col="#aec8f2", border="darkblue", lwd=1)
plot(st_geometry(mapartie), col="darkgreen", border="purple", lwd=1, add=T)
plot(buff, col=NA, border="black", lty=2,add=T)
titre <- paste0("District de Mossendjo")
title(titre)
mf_arrow(pos = 'right') # La fleche du nord

16
District de Mossendjo

17

Vous aimerez peut-être aussi