Skip to content
Snippets Groups Projects
Commit 82ecba23 authored by Benoît Courty's avatar Benoît Courty
Browse files

Population 2021

parent 22a3cbf4
No related branches found
No related tags found
1 merge request!54Mise à jour de DataCirco
Pipeline #20116 failed
......@@ -10,14 +10,18 @@ class DataPopulation:
population_circo_detail_2015 = None
population_circo_totale_2019 = None
population_circo_detail_2018 = None
population_circo_detail_2021 = None
population_departement_detail_2018 = None
population_departement_detail_2020 = None
population_france_detail_2018 = None
population_france_detail_2021 = None
carreaux_evolution_population_2010_vs_2015 = None
carreaux_densite_population_2015 = None
carreaux_densite_population_2018 = None
population_circo_totale = None
population_france_2018 = None
population_france_2021 = None
superficie_nat = None
sources = None
......@@ -40,7 +44,7 @@ class GetPopulation:
self.circo = data.circo
# population sauf Guyane
# TODO: Pourquoi pas la Guyane ?
# TODO: Pourquoi pas la Guyane ? Sur la densité de population c'est pour ne pas "fausser" les chiffres, mais pour le reste ???
utilitaires.db_exec(
db.mogrify(
"SELECT sum(p18_pop::float) from insee_pop_2018 where com not like '973%'"
......@@ -158,14 +162,29 @@ class GetPopulation:
population_circo_totale_2019 = self.db.fetchone()[0]
self.data.population.population_circo_totale_2019 = population_circo_totale_2019
if population_circo_totale_2019:
utilitaires.db_exec(
self.db.mogrify(
b"""
SELECT population::numeric
FROM insee_circo_2021
WHERE dep = %s and circo = %s
""",
(self.dept, str(int(self.circo[-2:]))),
)
)
population_circo_totale_2021 = self.db.fetchone()[0]
self.data.population.population_circo_totale_2021 = population_circo_totale_2021
if population_circo_totale_2021:
population_circo_totale = population_circo_totale_2021
elif population_circo_totale_2019:
population_circo_totale = population_circo_totale_2019
else:
population_circo_totale = self.data.population.population_circo_detail_2015[
"ind"
]
self.data.population.population_circo_totale = population_circo_totale
#################### Population détail circo
utilitaires.db_exec(
self.db.mogrify(
"""
......@@ -193,7 +212,35 @@ class GetPopulation:
)
if self.data.population.population_circo_detail_2018["ind"] is None:
self.data.population.population_circo_detail_2018 = None
# Circo 2021
utilitaires.db_exec(
self.db.mogrify(
"""
SELECT 2021 as annee,
sum(p21_pop::float) as ind,
sum(p21_pop0002::float) as ind_0_2,
sum(p21_pop0305::float) as ind_3_5,
sum(p21_pop0610::float) as ind_6_10,
sum(p21_pop1117::float) as ind_11_17,
sum(p21_pop1824::float) as ind_18_24,
sum(p21_pop2539::float) as ind_25_39,
sum(p21_pop4054::float) as ind_40_54,
sum(p21_pop5564::float) as ind_55_64,
sum(p21_pop6579::float) as ind_65_79,
sum(p21_pop80p::float) as ind_80p
FROM insee_pop_2021
WHERE com in (%s)
"""
% self.data.in_communes
),
"population_2021",
)
self.data.population.population_circo_detail_2021 = utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop
)
if self.data.population.population_circo_detail_2021["ind"] is None:
self.data.population.population_circo_detail_2021 = None
#################### Population détail département
utilitaires.db_exec(
self.db.mogrify(
"""
......@@ -220,7 +267,34 @@ class GetPopulation:
self.db.fetchone(), self.column_names_repart_pop[1::]
)
)
# 2021
utilitaires.db_exec(
self.db.mogrify(
"""
SELECT
sum(p21_pop::float) as ind,
sum(p21_pop0002::float) as ind_0_2,
sum(p21_pop0305::float) as ind_3_5,
sum(p21_pop0610::float) as ind_6_10,
sum(p21_pop1117::float) as ind_11_17,
sum(p21_pop1824::float) as ind_18_24,
sum(p21_pop2539::float) as ind_25_39,
sum(p21_pop4054::float) as ind_40_54,
sum(p21_pop5564::float) as ind_55_64,
sum(p21_pop6579::float) as ind_65_79,
sum(p21_pop80p::float) as ind_80p
FROM insee_pop_2021
WHERE com LIKE %s
""",
(self.dept + "%",),
)
)
self.data.population.population_departement_detail_2021 = (
utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
)
# France
utilitaires.db_exec(
b"""
SELECT
......@@ -241,6 +315,27 @@ class GetPopulation:
self.data.population.population_france_detail_2018 = utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
# France 2021
utilitaires.db_exec(
b"""
SELECT
sum(p21_pop::float) as ind,
sum(p21_pop0002::float) as ind_0_2,
sum(p21_pop0305::float) as ind_3_5,
sum(p21_pop0610::float) as ind_6_10,
sum(p21_pop1117::float) as ind_11_17,
sum(p21_pop1824::float) as ind_18_24,
sum(p21_pop2539::float) as ind_25_39,
sum(p21_pop4054::float) as ind_40_54,
sum(p21_pop5564::float) as ind_55_64,
sum(p21_pop6579::float) as ind_65_79,
sum(p21_pop80p::float) as ind_80p
FROM insee_pop_2021
"""
)
self.data.population.population_france_detail_2021 = utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
def _set_pop_2013_2019_metro(self):
utilitaires.db_exec(
......@@ -272,6 +367,35 @@ class GetPopulation:
)
if self.data.population.population_circo_detail_2015["ind"] is None:
self.data.population.population_circo_detail_2015 = None
# Circo 2021
utilitaires.db_exec(
self.db.mogrify(
"""
SELECT 2021 as annee,
sum(p21_pop::float) as ind,
sum(p21_pop0002::float) as ind_0_2,
sum(p21_pop0305::float) as ind_3_5,
sum(p21_pop0610::float) as ind_6_10,
sum(p21_pop1117::float) as ind_11_17,
sum(p21_pop1824::float) as ind_18_24,
sum(p21_pop2539::float) as ind_25_39,
sum(p21_pop4054::float) as ind_40_54,
sum(p21_pop5564::float) as ind_55_64,
sum(p21_pop6579::float) as ind_65_79,
sum(p21_pop80p::float) as ind_80p
FROM insee_pop_2021
WHERE com in (%s)
"""
% self.data.in_communes
),
"population_2021",
)
self.data.population.population_circo_detail_2021 = utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop
)
if self.data.population.population_circo_detail_2021["ind"] is None:
self.data.population.population_circo_detail_2021 = None
utilitaires.db_exec(
self.db.mogrify(
b"""
......@@ -299,7 +423,24 @@ class GetPopulation:
population_circo_totale_2019[0]
)
if population_circo_totale_2019:
utilitaires.db_exec(
self.db.mogrify(
b"""
SELECT population::numeric
FROM insee_circo_2021
WHERE dep = %s and circo = %s
""",
(self.dept, str(int(self.circo[-2:]))),
)
)
population_circo_totale_2021 = self.db.fetchone()
self.data.population.population_circo_totale_2021 = int(
population_circo_totale_2021[0]
)
if population_circo_totale_2021:
population_circo_totale = int(population_circo_totale_2021[0])
elif population_circo_totale_2019:
population_circo_totale = int(population_circo_totale_2019[0])
else:
population_circo_totale = self.data.population.population_circo_detail_2015[
......@@ -327,12 +468,38 @@ class GetPopulation:
(self.dept + "%",),
)
)
self.data.population.population_departement_detail_2018 = (
self.data.population.population_departement_detail_2015 = (
utilitaires.float_list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
)
# Département 2021
utilitaires.db_exec(
self.db.mogrify(
"""
SELECT
sum(p21_pop::float) as ind,
sum(p21_pop0002::float) as ind_0_2,
sum(p21_pop0305::float) as ind_3_5,
sum(p21_pop0610::float) as ind_6_10,
sum(p21_pop1117::float) as ind_11_17,
sum(p21_pop1824::float) as ind_18_24,
sum(p21_pop2539::float) as ind_25_39,
sum(p21_pop4054::float) as ind_40_54,
sum(p21_pop5564::float) as ind_55_64,
sum(p21_pop6579::float) as ind_65_79,
sum(p21_pop80p::float) as ind_80p
FROM insee_pop_2021
WHERE com LIKE %s
""",
(self.dept + "%",),
)
)
self.data.population.population_departement_detail_2021 = (
utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
)
utilitaires.db_exec(
b"""
SELECT sum(ind),
......@@ -349,12 +516,32 @@ class GetPopulation:
FROM insee_population_carroyee_2015
"""
)
self.data.population.population_france_detail_2018 = (
self.data.population.population_france_detail_2015 = (
utilitaires.float_list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
)
# France 2021
utilitaires.db_exec(
b"""
SELECT
sum(p21_pop::float) as ind,
sum(p21_pop0002::float) as ind_0_2,
sum(p21_pop0305::float) as ind_3_5,
sum(p21_pop0610::float) as ind_6_10,
sum(p21_pop1117::float) as ind_11_17,
sum(p21_pop1824::float) as ind_18_24,
sum(p21_pop2539::float) as ind_25_39,
sum(p21_pop4054::float) as ind_40_54,
sum(p21_pop5564::float) as ind_55_64,
sum(p21_pop6579::float) as ind_65_79,
sum(p21_pop80p::float) as ind_80p
FROM insee_pop_2021
"""
)
self.data.population.population_france_detail_2021 = utilitaires.list_to_dict(
self.db.fetchone(), self.column_names_repart_pop[1::]
)
utilitaires.db_exec(
self.db.mogrify(
"""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment