Master 1 G2M — Conception & Analyse de Bases de Donnees

Base de donnees
geospatiale

Urbanisation de Jakarta — Analyse par PostGIS

Thileni • Cilya • Babacar • Mihai

Avril 2026 — Universite Paris 8

2 / 16
Motivation

Pourquoi ce sujet ?

🌎

Megapole en crise

Jakarta : urbanisation galopante, inondations chroniques, subsidence du sol — un cas d'etude majeur

Jakarta s'enfonce de 25cm/an... c'est comme si votre amphi descendait d'un etage tous les 12 ans
📊

BD spatiales pertinentes

Les donnees geographiques permettent de modeliser, analyser et visualiser ces phenomenes complexes

🛠

PostGIS — outil adapte

Extension spatiale open-source de PostgreSQL, utilisee par les professionnels du SIG dans le monde entier

"Jakarta illustre parfaitement comment une base de donnees geospatiale peut aider a comprendre et anticiper les risques lies a l'urbanisation rapide."

3 / 16
Contexte

Jakarta — megapole en mutation

10M+
Habitants
25cm
Subsidence / an
40%
Sous le niveau de la mer
2024
Capitale deplacee vers Nusantara

🏗 Urbanisation rapide

  • Etalement urbain non controle depuis les annees 1990
  • Conversion massive : mangroves et zones agricoles vers bati
  • Surpompage des eaux souterraines accelere l'affaissement
  • Infrastructure de drainage insuffisante

🌊 Risques d'inondation

  • 13 rivieres traversent la ville
  • Inondations majeures en 2007, 2013, 2020
  • 30% de la ville inondable en saison des pluies
  • Decision historique : transfert de capitale vers Nusantara (Kalimantan)
4 / 16
Problematique

Comment une base de donnees spatiale peut-elle aider a analyser l'urbanisation et les risques d'inondation a Jakarta ?

Modeliser

Structurer les donnees spatiales : quartiers, zones inondables, infrastructures, population

Analyser

Requetes spatiales : intersections quartiers/inondations, buffers infrastructures, calcul de surfaces

Visualiser

QGIS connecte a PostGIS pour cartographier les zones a risque et les resultats d'analyse

5 / 16
L'outil

PostGIS

L'extension spatiale de PostgreSQL — la reference open-source pour les bases de donnees geographiques.

Types geometriques

POINT Localisation d'un equipement, capteur, batiment
LINESTRING Routes, rivieres, reseaux d'evacuation
POLYGON Quartiers, zones d'inondation, parcelles
MULTI* Collections de geometries (iles, archipels)

Pourquoi PostGIS ?

  • Gratuit et open-source (vs ArcGIS ~5 000 EUR/an)
  • Requetes spatiales puissantes en SQL
  • Index spatiaux (R-Tree / GiST) pour la performance
  • Compatible QGIS, GeoServer, Leaflet, Mapbox
  • Standard OGC (Open Geospatial Consortium)
  • Utilise par : IGN, NASA, OpenStreetMap, Uber
PostGIS : pour quand Excel vous dit 'je ne gere pas les polygones' et que Google Maps ne suffit plus
6 / 16
Modelisation

Modele Conceptuel de Donnees

🏘 QUARTIERS

id_quartier (PK) SERIAL

nom VARCHAR

population INTEGER

densite_hab_km2 FLOAT

superficie_km2 FLOAT

geom (POLYGON) GEOMETRY

🌊 ZONES_INONDATION

id_zone (PK) SERIAL

niveau_risque VARCHAR

profondeur_max_m FLOAT

frequence_annuelle INTEGER

geom (POLYGON) GEOMETRY

🚧 INFRASTRUCTURE

id_infra (PK) SERIAL

nom VARCHAR

type VARCHAR

capacite INTEGER

id_quartier (FK) INTEGER

geom (POINT) GEOMETRY

👥 POPULATION

id_pop (PK) SERIAL

id_quartier (FK) INTEGER

annee INTEGER

nb_habitants INTEGER

taux_croissance FLOAT

Relations :  QUARTIERS 1:N INFRASTRUCTURE  |  QUARTIERS 1:N POPULATION  |  QUARTIERS N:M ZONES_INONDATION (intersection spatiale)

Cle primaire Cle etrangere Geometrie
7 / 16
Modele logique

Creation des tables SQL

-- Activation de l'extension PostGIS
CREATE EXTENSION IF NOT EXISTS postgis;

-- Table des quartiers de Jakarta
CREATE TABLE quartiers (
  id_quartier SERIAL PRIMARY KEY,
  nom VARCHAR(100) NOT NULL,
  population INTEGER,
  densite_hab_km2 FLOAT,
  superficie_km2 FLOAT,
  geom GEOMETRY(POLYGON, 4326)
);

-- Table des zones d'inondation
CREATE TABLE zones_inondation (
  id_zone SERIAL PRIMARY KEY,
  niveau_risque VARCHAR(20),
  profondeur_max_m FLOAT,
  geom GEOMETRY(POLYGON, 4326)
);

-- Insertion d'un quartier avec geometrie
INSERT INTO quartiers (nom, population, densite_hab_km2, superficie_km2, geom)
VALUES ('Jakarta Nord', 1750000, 12500, 140,
  ST_GeomFromText('POLYGON((106.82 -6.08, 106.98 -6.08, 106.98 -6.15, 106.82 -6.15, 106.82 -6.08))', 4326));

-- Index spatial pour les requetes geographiques
CREATE INDEX idx_quartiers_geom ON quartiers USING GIST(geom);
CREATE INDEX idx_zones_geom ON zones_inondation USING GIST(geom);

SRID 4326 = systeme de coordonnees WGS84 (latitude/longitude) — standard GPS mondial.
Index GIST = index spatial R-Tree qui accelere les requetes geographiques (x100 plus rapide).

8 / 16
Analyse spatiale

Requetes PostGIS

1. Quartiers intersectant les zones d'inondation

SELECT q.nom, q.population, zi.niveau_risque
FROM quartiers q
JOIN zones_inondation zi
  ON ST_Intersects(q.geom, zi.geom)
WHERE zi.niveau_risque = 'eleve'
ORDER BY q.population DESC;

2. Buffer de 500m autour des infrastructures critiques

SELECT i.nom, i.type,
  ST_Buffer(i.geom::geography, 500) AS zone_tampon
FROM infrastructure i
WHERE i.type IN ('hopital', 'ecole', 'station_pompage');

3. Surface inondable par quartier

SELECT q.nom,
  ROUND(ST_Area(ST_Intersection(q.geom, zi.geom)::geography) / 1000000, 2) AS surface_inondable_km2,
  ROUND(ST_Area(ST_Intersection(q.geom, zi.geom)::geography) / ST_Area(q.geom::geography) * 100, 1) AS pct_inondable
FROM quartiers q
JOIN zones_inondation zi ON ST_Intersects(q.geom, zi.geom)
ORDER BY pct_inondable DESC;
9 / 16
Methode 1/2 — Analyse spatio-temporelle

Urbanisation de Jakarta 1975 → 2030

Jakarta 1975
1975
Jakarta 1990
1990
Jakarta 2005
2005
Jakarta 2020
2020
Jakarta 2030
2030 (projection)
-- PostGIS : surface batie par epoque sur l'emprise de Jakarta
SELECT g.epoque, SUM(ST_Area(ST_Intersection(g.geom, j.geom))) / 10000 AS ha_batis
FROM ghsl_built g JOIN jakarta_emprise j ON ST_Intersects(g.geom, j.geom)
WHERE g.val > 500 GROUP BY g.epoque ORDER BY g.epoque;
Legende — Surface batie (m² / pixel 100m)
Non bati Diffus Urbain moyen Dense Tres dense
Source : GHSL GHS-BUILT-S R2023A — Commission europeenne (JRC)
Insight cle
55 ans d'etalement continu
De village cotier a megapole de 30M+ — la BDD spatiale rend cette analyse possible.
10 / 16
Methode 2/2 — Analyse multi-criteres

Resultats chiffres PostGIS — 55 ans d'etalement

📊 Resultats de l'agregation temporelle

Epoque Surface batie Croissance
1975 38 279 ha
1990 45 486 ha +18,8 %
2005 54 184 ha +19,1 %
2020 58 080 ha +7,2 %
2030 58 758 ha +1,2 %
Valeurs reelles — 271 700 pixels GHSL 100m, calcul MEAN × pixels / 10 000
+20 479 ha en 55 ans — ×1,53
Phase d'acceleration 1975-2005 (+42%), puis saturation 2005-2030 (+8%) — explique le transfert de capitale vers Nusantara.

🔍 Requete multi-criteres — zones a risque

-- Quartiers denses 2030 ET sous niveau mer
-- ET proches zones d'inondation historiques
SELECT q.nom, q.population,
  ST_Area(q.geom) / 10000 AS surface_ha
FROM quartiers q
JOIN ghsl_2030 g ON ST_Intersects(q.geom, g.geom)
JOIN subsidence s ON ST_Within(q.geom, s.geom)
JOIN zones_inondation zi
  ON ST_DWithin(q.geom, zi.geom, 500)
WHERE g.val > 5000
  AND s.altitude < 0
  AND zi.niveau_risque = 'eleve'
ORDER BY q.population DESC;
📋 Table attributaire reelle — 31 432 polygones vectorises
Table attributaire QGIS Jakarta 2030
ST_Intersects ST_Within ST_DWithin ST_Area
11 / 16
● En direct

Demonstration LIVE

Jakarta 2030 dans QGIS — 31 432 polygones vectorises
1

Couche + table

Ouverture de jakarta_2030_vecteur.gpkg et de sa table attributaire (fid, classe_urb, libelle, surface_ha, densite_pct).

2

Filtre spatial

Filtrage par expression "classe_urb" >= 3 pour isoler les zones urbaines denses et tres denses.

3

Tri par surface

Tri decroissant sur surface_ha — identification des plus gros noyaux urbains de la megapole.

10 918
polygones urbains denses
21 310 ha
surface totale dense
36 %
du bati total Jakarta 2030
Equivalent PostGIS de la demo live
SELECT COUNT(*), SUM(surface_ha) AS ha_total
FROM jakarta_2030_vecteur
WHERE classe_urb >= 3 ORDER BY surface_ha DESC;
12 / 16
Limites

Inconvenients des BD spatiales

Performance sur gros volumes

Les calculs geometriques (intersection, buffer) sont couteux en CPU. Une table de millions de polygones peut ralentir considerablement les requetes.

📈

Complexite des index spatiaux

Les index R-Tree / GiST sont plus complexes a maintenir que les B-Tree classiques. Leur mise a jour lors d'insertions massives peut etre lente.

💾

Stockage volumineux

Les geometries detaillees (polygones complexes, multi-geometries) consomment beaucoup plus d'espace qu'un simple VARCHAR ou INTEGER.

📚

Courbe d'apprentissage

Maitriser les fonctions spatiales (ST_*), les systemes de projection (SRID), et les concepts SIG demande un investissement significatif.

Dependance SGBD : Les requetes PostGIS ne sont pas portables vers MySQL ou SQL Server sans reecriture. Le choix d'un SGBD spatial engage sur le long terme.

13 / 16
Securite

Securite des donnees geospatiales

🔒

Donnees sensibles

  • Localisation de personnes
  • Position d'infrastructures critiques
  • Donnees militaires / gouvernementales
  • Enjeu RGPD : geolocalisation = donnee personnelle
🛡

Controle d'acces

  • Row Level Security (RLS) dans PostgreSQL
  • Roles et privileges par table/schema
  • Vues materialisees pour limiter l'acces
  • Audit trail sur les modifications
💫

Menaces specifiques

  • Injection SQL spatiale (ST_GeomFromText)
  • Exfiltration de geometries sensibles
  • Anonymisation spatiale necessaire
  • Agegation pour masquer les positions exactes

Exemple Jakarta : Les donnees de localisation des stations de pompage et des digues sont des infrastructures critiques. Un acces non autorise pourrait compromettre la securite de millions d'habitants en cas d'inondation.

14 / 16
Conclusion

Ce que nous avons retenu

💾

PostGIS = puissant

Extension mature et complete pour stocker, indexer et interroger des donnees spatiales directement en SQL

🏙

Jakarta = cas pertinent

Megapole ou l'analyse spatiale est vitale : urbanisation, inondations, subsidence, deplacement de capitale

🔐

Securite = essentielle

Les donnees geographiques sont sensibles par nature : controle d'acces, anonymisation et RGPD obligatoires

Points cles de notre projet

  • Conception d'un MCD adapte a la problematique urbaine de Jakarta
  • Requetes spatiales concretes : ST_Intersects, ST_Buffer, ST_Area, ST_Within
  • Visualisation des resultats dans QGIS connecte a PostGIS
  • Reflexion sur les limites (performance, stockage) et la securite des donnees geospatiales
15 / 16
Références

Sources & Bibliographie

Documentation technique

  • Obe R., Hsu L. — PostGIS in Action, 3e éd., Manning, 2021
  • The PostgreSQL Global Development Group — PostgreSQL 16 Documentation, 2024
  • QGIS Development Team — QGIS User Guide, version 3.34, 2024

Jakarta & urbanisation

  • Poulain P. — L'exploitation des images par satellite dans l'observation de l'urbanisation de Jakarta, 2022, dumas-03687799
  • Abidin H.Z. et al. — Land subsidence of Jakarta, Natural Hazards, vol. 59, 2011
  • World Bank — Sinking Cities: Jakarta, World Bank Report, 2019

Sécurité & réglementation

  • CNIL — Guide pratique : les données de géolocalisation, 2023, cnil.fr
  • Règlement (UE) 2016/679 — RGPD, Parlement européen, 2016

Données & SIG

  • OpenStreetMap Contributors — Planet OSM – Indonesia, 2024, openstreetmap.org
  • OGC — GeoPackage Encoding Standard, version 1.3, 2021
16 / 16

Merci !

Avez-vous des questions ?

🤝

Thileni

Slides 1-3

🤝

Cilya

Slides 4-6

🤝

Babacar

Slides 7-10

🤝

Mihai

Slides 11-15

Master 1 G2M — Universite Paris 8 — Avril 2026