I_T3_03 - Ilots de chaleur urbains
I_T3_03
Les îlots de chaleur urbains sont déterminés en creux par I-T3_02 - les ensemble de plus de 250 m² continus (hors routes et emprises ferroviaires OSM) non végétalisés.
La Vulnérabilité Sociale aux îlots de chaleur (le plus d'habitants et le moins de végétation)
Contrairement à une analyse sur toute la ville, ce script commence par isoler les 40 carreaux les plus critiques (ceux qui ont le moins d'arbres ET le plus d'habitants). C'est un filtre de justice environnementale : on ne cherche pas seulement le bitume, on cherche le bitume là où les gens vivent et étouffent.
C'est la grande force de ce script : chaque polygone de bâti ou de parking reste "marqué" par l'identifiant de son carreau INSEE (fid).
-
Avantage : Vous pouvez dire : "Dans ce quartier précis (Carreau X), voici les 3 dalles responsables de la surchauffe".
-
Dans votre Top 25 final, cette traçabilité est plus diffuse car on ne regarde que la taille de l'objet, pas son contexte humain.
En utilisant ST_Difference à l'intérieur des carreaux, elle crée une cartographie en "négatif" :
-
Elle fait ressortir le bâti dense, les cœurs d'îlots minéraux et les zones de stockage de chaleur nocturne.
-
Elle ignore la voirie (grâce à OSM) et les jardins (grâce au COSIA).
Comparaison pour votre rapport :
| Couche | Objectif Stratégique | Ce qu'elle montre |
| Le Top 40 (ce script) | Priorisation Sociale | Les masses critiques là où la population est la plus exposée. |
| Le Top 25 (260327) | Puissance Thermique | Les plus grands gisements de chaleur de la ville (indépendamment de la population). |
SCRIPT DES 40 entités urbaines sensibles aux îlots de chaleur
docker exec -it alteris_postgis psql -U alteris_admin -d alteris_geo -c "
DROP TABLE IF EXISTS la_ciotat_masses_critiques_icu;
CREATE TABLE la_ciotat_masses_critiques_icu AS
WITH
-- 1. Préparation de la voirie REPROJETÉE
voirie_l93 AS (
SELECT ST_Union(ST_MakeValid(ST_Transform(geom, 2154))) as geom
FROM highway_la_ciotat
),
-- 2. Regroupement de la nature COSIA (déjà en 2154 normalement)
nature_totale AS (
SELECT ST_Union(ST_MakeValid(geom)) as geom
FROM (
SELECT geom FROM cosia_vegetation_haute
UNION ALL
SELECT geom FROM cosia_vegetation_basse
) as sub
),
-- 3. Ciblage du TOP 40 des carreaux critiques
top_carreaux AS (
SELECT fid, geom
FROM la_ciotat_indicateur_fraicheur
ORDER BY taux_canopee_pct ASC, population DESC
LIMIT 40
),
-- 4. Découpage chirurgical
masses_brutes AS (
SELECT
t.fid as carreau_origine,
ST_Difference(
ST_Difference(t.geom, COALESCE((SELECT geom FROM nature_totale), 'GEOMETRYCOLLECTION EMPTY'::geometry)),
COALESCE((SELECT geom FROM voirie_l93), 'GEOMETRYCOLLECTION EMPTY'::geometry)
) as geom
FROM top_carreaux t
)
-- 5. Éclatement et validation
SELECT
carreau_origine,
(ST_Dump(ST_MakeValid(geom))).geom as geom
FROM masses_brutes;
-- 6. Nettoyage final (Seuil 250 m2)
DELETE FROM la_ciotat_masses_critiques_icu WHERE ST_Area(geom) < 250;
"
Etape suivante la hiérarchisation
Voici la chaîne de traitement logique, documentée étape par étape, qui nous a permis de passer des couches brutes de végétation COSIA au fichier stratégique 260327_icu_top25_la_ciotat.
Étape 1 : Préparation de l'Emprise Urbaine (Masque PLU)
Avant de calculer l'ICU, nous avons défini le périmètre d'étude réglementaire pour éviter les "faux positifs" en zone naturelle ou agricole.
-
Source :
plu_zones_urbaines -
Filtre : Zones
U(Urbaines) etAU(À Urbaniser).
-- Création d'une emprise propre en Lambert-93
WITH emprise_urbaine AS (
SELECT ST_Union(ST_MakeValid(ST_Transform(geom, 2154))) as geom
FROM plu_zones_urbaines
WHERE typezone LIKE 'U%' OR typezone LIKE 'AU%'
)
Étape 2 : Identification du "Plein" et du "Vide" (Soustraction)
C'est le cœur du calcul I-T3_03. L'ICU est défini par ce qui n'est ni de la nature, ni de la voirie circulable, au sein de l'enveloppe urbaine.
-
Sources Nature :
cosia_vegetation_haute(arbustive) +cosia_vegetation_basse(herbacée). -
Source Voirie :
highway_la_ciotat(OSM).
-- Regroupement de toute la végétation COSIA
nature_totale AS (
SELECT ST_Union(ST_MakeValid(geom)) as geom
FROM (
SELECT geom FROM cosia_vegetation_haute
UNION ALL
SELECT geom FROM cosia_vegetation_basse
) as sub
),
-- Calcul des masses minérales par différence spatiale
masses_brutes AS (
SELECT
ST_Difference(
ST_Difference(urbain.geom, nature.geom),
voirie.geom
) as geom
)
Étape 3 : Fragmentation et Seuil de Significativité
Le résultat brut est une "nappe" trouée. Nous l'avons éclatée en entités distinctes et avons appliqué votre seuil de 250 m² pour ne retenir que les masses ayant un impact thermique réel.
-- Éclatage des multipolygones en polygones simples
SELECT (ST_Dump(geom)).geom as geom
FROM masses_brutes
WHERE ST_Area(geom) >= 250;
Étape 4 : Extraction du Top 25 (Production du fichier final)
Pour l'indicateur final, nous avons classé ces masses par superficie décroissante pour isoler les 25 "points noirs" les plus massifs de La Ciotat.
-- Création de la table de référence Altéris
CREATE TABLE "260327_icu_top25_la_ciotat" AS
SELECT
row_number() OVER (ORDER BY ST_Area(geom) DESC) as gid,
ROUND(ST_Area(geom)::numeric, 0) as surface_m2,
geom
FROM la_ciotat_masses_critiques_nettoyees
ORDER BY surface_m2 DESC
LIMIT 25;
-- Indexation pour performance QGIS
CREATE INDEX idx_top25_260327 ON "260327_icu_top25_la_ciotat" USING GIST (geom);
Synthèse de la donnée produite
-
Indicateur : I-T3_03 (Îlots de Chaleur Urbains).
-
Méthode : Analyse morphologique par soustraction (Urbain - Nature - Voirie).
-
Volume : 25 entités majeures.
-
Surface cumulée : 77,58 hectares.
-
Précision : Géométrie réelle (non carroyée), calée sur le bâti et les parkings

No comments to display
No comments to display