Skip to content

Commit 0065bd4

Browse files
authored
Feat/161 epci 2 (#195)
2 parents dc0389e + 29a5110 commit 0065bd4

13 files changed

+199
-10
lines changed

.github/workflows/pre-commit-tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ jobs:
3737
poetry run pytest -v
3838
- name: Verify tests results
3939
if: ${{ failure() }}
40-
run: exit 1
40+
run: exit 1

datasources.yaml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ domains:
269269
API: GEO.api.gouv.fr
270270
description: Référentiel géographique GEO - niveau commune
271271
type: JsonExtractor
272-
endpoint: /communes?fields=code,nom,population,departement,region,centre
272+
endpoint: /communes?fields=code,nom,population,departement,region,centre,epci
273273
format: json
274274

275275
arrondissements:
@@ -607,6 +607,23 @@ domains:
607607
data: observations
608608
next: paging.next
609609
is_last: paging.isLast
610+
611+
population_totale:
612+
API: INSEE.Melodi
613+
description: recuperation des populations communale et totale des communes
614+
type: MelodiExtractor
615+
endpoint: /data/DS_POPULATIONS_REFERENCE
616+
format: json
617+
extract_params:
618+
maxResult: 10000
619+
TIME_PERIOD: 2022
620+
GEO: ["COM"]
621+
POPREF_MEASURE: ["PMUN", "PTOT"]
622+
page: 1
623+
response_map:
624+
data: observations
625+
next: paging.next
626+
is_last: paging.isLast
610627

611628
categorie_socio_pro:
612629
API: INSEE.Melodi

dbt_odis/models/bronze/_odis_bronze__models.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,6 +1101,12 @@ models:
11011101
- name: geo_coordonnees_longitude
11021102
description: Coordonnées longitudinales, string pour données en -01.00
11031103
data_type: text
1104+
- name: epci_code
1105+
description: Code de l'EPCI rattaché à la commune
1106+
data_type: integer
1107+
- name: epci_nom
1108+
description: Nom de l'EPCI rattaché à la commune
1109+
data_type: integer
11041110
- name: created_at
11051111
description: date d'extraction des données
11061112
data_type: timestamp without time zone
@@ -3718,6 +3724,25 @@ models:
37183724
- name: presentation_page_elus_communes
37193725

37203726
- name: presentation_page_epci
3727+
description: Extraction du JSON source geographical_references_epcis
3728+
columns:
3729+
- name: nom
3730+
description: Nom de l'EPCI
3731+
data_type: text
3732+
- name: code
3733+
description: Code SIREN de l'EPCI
3734+
data_type: integer
3735+
tests:
3736+
- unique
3737+
- name: population
3738+
description: Population totale regroupée en vigueur selon le dernier recensement INSEE
3739+
data_type: integer
3740+
- name: codesRegions
3741+
description: Code de la région associée
3742+
data_type: integer
3743+
- name: codesDepartements
3744+
description: Code du département associé
3745+
data_type: integer
37213746

37223747
- name: presentation_page_population_communes
37233748

dbt_odis/models/bronze/_odis_bronze__sources.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ sources:
1919
- name: geographical_references_intercommunalites
2020
description: Source xlsx loadée dans le champ data contenant les références des intercommunalites
2121

22-
- name: geographical_references_epci
22+
- name: geographical_references_epcis
2323
description: Source JSON loadée dans le champ data contenant les références des EPCI
2424
loaded_at_field: created_at
2525

@@ -133,6 +133,14 @@ sources:
133133
description: feuille xlsx transformée en CSV contenant toutes les données des logements des bailleurs sociaux (appelées Répertoire des logements locatifs des bailleurs sociaux ou RPLS) déclinées par régions
134134
loaded_at_field : created_at
135135

136+
- name: population_population_totale
137+
description: Source JSON loadée dans le champ data
138+
loaded_at_field: created_at
139+
140+
- name: population_categorie_socio_pro
141+
description: Source JSON loadée dans le champ data
142+
loaded_at_field: created_at
143+
136144
- name: population_by_age
137145
description: Source JSON - Estimation de population INSEE par âge
138146
loaded_at_field: created_at

dbt_odis/models/bronze/geographical_references_communes.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ with communes as
1818
(data::jsonb) -> 'region' ->> 'code' as region_code,
1919
(data::jsonb) -> 'departement' ->> 'nom' as departement_nom,
2020
(data::jsonb) -> 'departement' ->> 'code' as departement_code,
21-
(data::jsonb) -> 'population' as population,
21+
((data::jsonb) -> 'population' ->> 0)::int as population,
22+
(data::jsonb) -> 'epci' ->> 'code' as epci_code,
23+
(data::jsonb) -> 'epci' ->> 'nom' as epci_nom,
2224
created_at
2325
from {{ source('bronze', 'geographical_references_communes') }}
2426
)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{{ config(
2+
tags = ['bronze', 'geographical', 'epci'],
3+
alias='vw_geographical_references_epcis'
4+
)
5+
}}
6+
7+
select
8+
{{ dbt_utils.star(from=source('bronze', 'geographical_references_epcis')) }}
9+
from {{ source('bronze', 'geographical_references_epcis') }}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{ config(
2+
tags = ['bronze', 'population'],
3+
alias = 'vw_population_totale'
4+
)
5+
}}
6+
7+
SELECT
8+
(data::jsonb)->'dimensions'->>'GEO'::VARCHAR AS geo,
9+
(data::jsonb)->'dimensions'->>'FREQ'::VARCHAR AS freq,
10+
((data::jsonb)->'dimensions'->'TIME_PERIOD'->>0)::INTEGER AS time_period,
11+
(data::jsonb)->'dimensions'->>'POPREF_MEASURE'::VARCHAR AS popref_measure,
12+
((data::jsonb)->'measures'->'OBS_VALUE_NIVEAU'->'value'->>0)::DECIMAL AS value
13+
FROM {{ source('bronze', 'population_population_totale') }}

dbt_odis/models/bronze/presentation_page_epci.sql

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
)
55
}}
66

7-
select
8-
{{ dbt_utils.star(from=source('bronze', 'presentation_page_epci')) }}
9-
from {{ source('bronze', 'presentation_page_epci') }}
7+
SELECT
8+
data->'nom'::text AS nom,
9+
-- (data::jsonb)->'nom'::text AS nom,
10+
(data::jsonb)->'code'->>0::int AS code,
11+
(data::jsonb)->'population'->>0::int AS population,
12+
(data::jsonb)->'codesRegions'->>0 AS codesRegions,
13+
(data::jsonb)->'codesDepartements'->>0 AS codesDepartements,
14+
created_at
15+
FROM {{ ref('geographical_references_epcis') }}

dbt_odis/models/gold/_odis_gold__models.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,32 @@ models:
484484
- name: POP15P_CS9
485485
description: population totale 15 ans et plus, autres inactifs (CS9).
486486
data_type: numeric
487+
488+
- name: gold_presentation_page_epci
489+
description: Population totale et municipale, et nombre de membres par EPCI et code INSEE des communes rattachées
490+
columns:
491+
- name: codgeo
492+
description: "Clé primaire unique d'identification : Code INSEE (COM = 5 chiffres) de la commune rattachée à l'EPCI"
493+
data_type: text
494+
- name: raison_sociale
495+
description: "Raison sociale de l'EPCI"
496+
data_type: text
497+
- name: nb_membres
498+
description: "Nombre de communes rattachées à l'EPCI"
499+
data_type: integer
500+
- name: total_pop_tot
501+
description: "Population totale de l'EPCI (Somme de population municipale et population comptée à part - Ex : étudiants résidant hors commune mais rattachés administrativement)"
502+
data_type: integer
503+
- name: total_pop_mun
504+
description: "Population municipale de l'EPCI"
505+
data_type: integer
506+
- name: ptot_derniere_annee
507+
description: "Population totale de la commune à la dernière année connue (Somme de population municipale et population comptée à part)"
508+
data_type: integer
509+
- name: pmun_derniere_annee
510+
description: "Population municipale de la commune à la dernière année connue"
511+
data_type: integer
512+
487513

488514
- name: gold_services
489515
description: Table recensant les nombres de services identifiés d'une zone géographique identifiée
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{{ config(
2+
tags = ['gold', 'homepage'],
3+
alias = 'gold_presentation_page_epci'
4+
) }}
5+
6+
SELECT
7+
*
8+
FROM {{ ref('silver_presentation_page_epci') }}

0 commit comments

Comments
 (0)