Aller au contenu

Création de couches de suivi des PCAET

Étapes

Création de la catégorie

La couche nécessite la création d'une catégorie statut_pcaet avec le contenu suivant :

modalite modalite_id couleur ordre
Non réalisé 1 #FF0000 4
En cours d'élaboration 2 #FF8000 2
En cours de validation 3 #FFFF00 3
Adopté 4 #00FF00 1

Création de l'indicateur

Ensuite, il faut créer l'indicateur PCAET avec only_for_zone à epci et avec la formule data_pcaet du nom de la table qui a accueilli les données.

Remplir la table

CREATE TABLE france.data_pcaet
    (epci CHAR(9), valeur INTEGER, annee INTEGER, date_modification VARCHAR, date_lancement VARCHAR, demarche VARCHAR, regroupement VARCHAR);

TRUNCATE france.data_pcaet;
INSERT INTO france.data_pcaet(epci, valeur, date_lancement, date_modification)
    (SELECT siren, (
        CASE 
        WHEN statut = 'Dépôt pour avis' THEN 3
        WHEN statut = 'En cours d''élaboration' THEN 2
        WHEN statut = 'En cours de validation' THEN 3
        WHEN statut = 'Mise en œuvre' THEN 4
        ELSE 1 END
    ) ,
     date_lancement, date_modification FROM meta.pcaet_header);

-- Retrieve EPCI that have more than 20k inhab and no PCAET
INSERT INTO france.data_pcaet (
    SELECT code AS epci FROM (
        SELECT code, SUM(valeur)>20000 AS valeur
        FROM france.population_legale_agg p
        WHERE zone_type ='epci' AND annee=2020
        GROUP BY code
    ) AS obligatoire WHERE obligatoire.valeur
    EXCEPT SELECT epci FROM france.data_pcaet
);

UPDATE france.data_pcaet d SET demarche = 'Démarche obligatoire'
FROM (
        SELECT code, SUM(valeur)>20000 AS obligatoire
        FROM france.population_legale p
        JOIN france.territoire t ON p.commune=t.commune
        WHERE type_territoire='epci' AND annee=2020
        GROUP BY code
) AS a
WHERE a.code = d.epci;
UPDATE france.data_pcaet SET demarche='Démarche volontaire' WHERE demarche IS NULL;
UPDATE france.data_pcaet SET annee=2024;

Mise à jour

-- Set metadata of the indicator
UPDATE meta.indicateur SET type='choropleth_cat', display_total=FALSE WHERE id=#INDICATOR_ID#;
INSERT INTO meta.indicateur_representation_details VALUES
    (#INDICATOR_ID#, 'carto_category', 'statut_pcaet'),
    (#INDICATOR_ID#, 'popup_columns', '{"date_lancement":"Date de lancement", "demarche":"Type", "regroupement": "Regroupement"}');

Finaliser

On pourra ensuite activer l'indicateur.

Voir aussi

  • Le ticket #2575 sur gitlab qui résume l'ensemble des éléments à améliorer
  • La merge request !1635 sur gitlab qui détaille la première version de cette fonctionnalité.