À quoi sert cette page ? Elle fournit les requêtes qui vérifient que le résultat tient : aucune unité orpheline, aucune population manquante, un emboîtement strict des assemblées dans les écorégions, une affectation complète des secteurs. Ces tests referment la chaîne ouverte par les fiches, la méthode et les scripts.
Un découpage se teste plutôt qu'il ne se croit. Les requêtes ci-dessous vérifient que le résultat tient : aucune unité orpheline, aucune population manquante, un emboîtement strict des assemblées dans les écorégions. Elles s'exécutent directement sur ecoregions-2027.gpkg et referment la chaîne ouverte par les fiches, la méthode et les scripts.
Toute écorégion doit porter une population strictement positive, et toute assemblée doit se rattacher à une écorégion existante. Les deux premières requêtes doivent renvoyer zéro ; la troisième ne doit renvoyer aucune ligne, faute de quoi une assemblée pointerait vers une écorégion absente.
-- Toutes les écorégions ont une population > 0 (attendu : 0)
SELECT COUNT(*) FROM ecoregions_fin WHERE pop = 0;
-- Toutes les assemblées ont un champ eco renseigné (attendu : 0)
SELECT COUNT(*) FROM assemblees WHERE eco IS NULL OR eco = '';
-- Toute valeur eco des assemblées existe dans ecoregions_fin (attendu : aucune ligne)
SELECT DISTINCT a.eco
FROM assemblees a
LEFT JOIN ecoregions_fin e ON a.eco = e.eco
WHERE e.eco IS NULL;
La somme des populations des assemblées d'une écorégion doit approcher la population de l'écorégion elle-même. Un écart révèle non pas une erreur mais une différence de méthode de comptage entre les deux couches, chacune affectant les communes à son propre maillage. Suivre cet écart permet de repérer les cas limites, notamment les rares assemblées à population nulle nées de secteurs fragmentés.
-- Écart de population entre écorégion et somme de ses assemblées
SELECT e.eco,
e.pop AS pop_ecoregion,
SUM(a.pop) AS pop_assemblees,
e.pop - SUM(a.pop) AS ecart
FROM ecoregions_fin e
LEFT JOIN assemblees a ON a.eco = e.eco
GROUP BY e.eco
ORDER BY ABS(e.pop - SUM(a.pop)) DESC;
-- Assemblées sans population (secteurs très peu habités)
SELECT nom, riviere, eco FROM assemblees WHERE pop = 0;
Chaque secteur BD Carthage doit être affecté à une écorégion et à une seule. Le décompte des secteurs affectés doit égaler le décompte total, soit 187.
-- Tous les secteurs sont-ils affectés ? Les deux comptes doivent être égaux (187)
SELECT COUNT(*) AS n_secteurs_total FROM secteurs_hydro;
SELECT COUNT(*) AS n_secteurs_affectes
FROM secteurs_hydro s
JOIN ecoregions_fin ef
ON ST_Within(ST_PointOnSurface(s.geom), ef.geom);
La dispersion démographique se lit par le rapport entre l'unité la plus peuplée et la moins peuplée. Ce rapport se compare entre les écorégions proposées et les découpages de référence, ce qui situe la proposition dans le paysage des maillages possibles de la France par l'eau.
-- Rapport population max / min, par découpage
SELECT 'écorégions' AS decoupage, ROUND(MAX(pop)*1.0/MIN(pop), 1) AS ratio
FROM ecoregions_fin
UNION ALL
SELECT '7 circonscriptions de bassin', ROUND(MAX(population)*1.0/MIN(population), 1)
FROM bassins_agences_pop;
Le découpage actuel en 7 circonscriptions de bassin présente une dispersion démographique forte, la plus peuplée pesant plusieurs dizaines de fois la moins peuplée. Un maillage plus fin resserre cet écart sans jamais l'annuler, la Corse restant par nature une unité peu peuplée.

Au-delà des seuls comptages, la cohésion interne des unités se mesure : une écorégion gagne à réunir des territoires proches par leur hydrologie et leur climat plutôt que par un simple héritage administratif. Cette lecture, croisée avec la matrice de corrélation entre écorégions, éclaire ce que le découpage par l'eau capte que les frontières administratives ignorent.

L'ensemble de ces contrôles reste ouvert à la critique : les requêtes sont fournies pour être rejouées, discutées et, le cas échéant, prises en défaut. C'est la condition d'un découpage qui se propose au débat plutôt qu'il ne s'impose.
Chaque contrôle a une valeur attendue explicite, ce qui rend l'échec visible : populations strictement positives, assemblées toutes rattachées, cent quatre-vingt-sept secteurs tous affectés. Un écart de comptage entre couches est interprété, non masqué, comme une différence de méthode d'affectation. Ces requêtes sont livrées pour être prises en défaut, condition d'un découpage qui se propose au débat.