diff --git a/openfisca_france_dotations_locales/parameters/population/groupes_demographiques.yaml b/openfisca_france_dotations_locales/parameters/population/groupes_demographiques.yaml new file mode 100644 index 0000000000000000000000000000000000000000..87794399da3aabe1d69c508de87f43d1644c54e6 --- /dev/null +++ b/openfisca_france_dotations_locales/parameters/population/groupes_demographiques.yaml @@ -0,0 +1,97 @@ +description: Groupes démographiques des communes déterminés en fonction de l'importance de leur population \ + (autrement désignés par strates démographiques) +metadata: + type: single_amount + reference: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000033878299 + # la référence définit les seuils mais pas de numéro de groupe (strate) qu'on déduit ici +brackets: +- amount: + 2017-01-01: + value: 1 + threshold: + 2017-01-01: + value: 0 +- amount: + 2017-01-01: + value: 2 + threshold: + 2017-01-01: + value: 500 +- amount: + 2017-01-01: + value: 3 + threshold: + 2017-01-01: + value: 1_000 +- amount: + 2017-01-01: + value: 4 + threshold: + 2017-01-01: + value: 2_000 +- amount: + 2017-01-01: + value: 5 + threshold: + 2017-01-01: + value: 3_500 +- amount: + 2017-01-01: + value: 6 + threshold: + 2017-01-01: + value: 5_000 +- amount: + 2017-01-01: + value: 7 + threshold: + 2017-01-01: + value: 7_500 +- amount: + 2017-01-01: + value: 8 + threshold: + 2017-01-01: + value: 10_000 +- amount: + 2017-01-01: + value: 9 + threshold: + 2017-01-01: + value: 15_000 +- amount: + 2017-01-01: + value: 10 + threshold: + 2017-01-01: + value: 20_000 +- amount: + 2017-01-01: + value: 11 + threshold: + 2017-01-01: + value: 35_000 +- amount: + 2017-01-01: + value: 12 + threshold: + 2017-01-01: + value: 50_000 +- amount: + 2017-01-01: + value: 13 + threshold: + 2017-01-01: + value: 75_000 +- amount: + 2017-01-01: + value: 14 + threshold: + 2017-01-01: + value: 100_000 +- amount: + 2017-01-01: + value: 15 + threshold: + 2017-01-01: + value: 200_000 diff --git a/openfisca_france_dotations_locales/variables/population.py b/openfisca_france_dotations_locales/variables/population.py index b6f6635f3d184eb869b62cbbca5862f7dae6747a..2e3a0e672c0a3db044c7c85b69c855b1fc783450 100644 --- a/openfisca_france_dotations_locales/variables/population.py +++ b/openfisca_france_dotations_locales/variables/population.py @@ -16,25 +16,8 @@ class strate_demographique(Variable): def formula(commune, period, parameters): pop = commune('population_dgf', period) - - return ( - + 1 * (pop <= 499) - + 2 * (499 < pop) * (pop <= 999) - + 3 * (999 < pop) * (pop <= 1999) - + 4 * (1999 < pop) * (pop <= 3499) - + 5 * (3499 < pop) * (pop <= 4999) - + 6 * (4999 < pop) * (pop <= 7499) - + 7 * (7499 < pop) * (pop <= 9999) - + 8 * (9999 < pop) * (pop <= 14999) - + 9 * (14999 < pop) * (pop <= 19999) - + 10 * (19999 < pop) * (pop <= 34999) - + 11 * (34999 < pop) * (pop <= 49999) - + 12 * (49999 < pop) * (pop <= 74999) - + 13 * (74999 < pop) * (pop <= 99999) - + 14 * (99999 < pop) * (pop <= 199999) - + 15 * (199999 < pop) - ) - + bareme_strates_demographiques = parameters(period).population.groupes_demographiques + return bareme_strates_demographiques.calc(pop) class population_insee(Variable): value_type = int