Commit ca3d6b61 authored by Benjam's avatar Benjam
Browse files

fichier unique de sortie axes population agricole et politique fonciere

parent dd0b507d
......@@ -137,44 +137,42 @@ def lancer_calcul_territoires():
def lancer_calcul_population_agricole():
referentiel_territoires = charger_referentiel_et_donnees_territoires(
territoires = charger_referentiel_et_donnees_territoires(
CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES
)
reinitialiser_dossier(CHEMIN_OUTPUT_DATA / DOSSIER_POPULATION_AGRICOLE)
calculer_population_agricole(
referentiel_territoires,
territoires,
CHEMIN_SOURCE_POPULATION_AGRICOLE,
CHEMIN_OUTPUT_DATA,
DOSSIER_POPULATION_AGRICOLE
CHEMIN_OUTPUT_DATA / DOSSIER_POPULATION_AGRICOLE
)
def lancer_calcul_politique_fonciere():
referentiel_territoires = charger_referentiel_et_donnees_territoires(
territoires = charger_referentiel_et_donnees_territoires(
CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES
)
reinitialiser_dossier(CHEMIN_OUTPUT_DATA / DOSSIER_POLITIQUE_FONCIERE)
calculer_politique_fonciere(
referentiel_territoires,
territoires,
CHEMIN_SOURCE_ARTIFICIALISATION,
CHEMIN_OUTPUT_DATA,
DOSSIER_POLITIQUE_FONCIERE
CHEMIN_OUTPUT_DATA / DOSSIER_POLITIQUE_FONCIERE
)
def lancer_calcul_pratiques_agricoles():
referentiel_territoires = charger_referentiel_et_donnees_territoires(
territoires = charger_referentiel_et_donnees_territoires(
CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES
)
reinitialiser_dossier(CHEMIN_OUTPUT_DATA / DOSSIER_PRATIQUES_AGRICOLES)
calculer_pratiques_agricoles(
referentiel_territoires,
territoires,
CHEMIN_SOURCE_HVN,
CHEMIN_SOURCE_SAU_BIO,
CHEMIN_OUTPUT_DATA / DOSSIER_PRATIQUES_AGRICOLES
......@@ -182,14 +180,14 @@ def lancer_calcul_pratiques_agricoles():
def lancer_calcul_production_besoins():
referentiel_territoires = charger_referentiel_et_donnees_territoires(
territoires = charger_referentiel_et_donnees_territoires(
CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES
)
reinitialiser_dossier(CHEMIN_OUTPUT_DATA / DOSSIER_PRODUCTION_BESOINS)
calculer_axe_production_besoins(
referentiel_territoires,
territoires,
CHEMIN_OUTPUT_DATA / DOSSIER_PARCEL / 'reponse_api_parcel_besoins_pour_assiette_actuelle.csv',
DOSSIER_CONFIG / 'cultures_et_groupes_cultures.csv',
DOSSIER_CONFIG / DOSSIER_PARCEL / 'produits_hors_elevage_vers_codes_cultures.csv',
......@@ -210,11 +208,11 @@ def lancer_calcul_cartes():
CHEMIN_CRATER_DATA_SOURCES / 'banatic' / 'epci_sig' / '2020' / 'Epci2020_region.shp',
CHEMIN_OUTPUT_DATA / DOSSIER_PRODUCTION_BESOINS / 'production_besoins.csv',
CHEMIN_OUTPUT_DATA / DOSSIER_PRATIQUES_AGRICOLES / 'pratiques_agricoles.csv',
CHEMIN_OUTPUT_DATA / DOSSIER_POPULATION_AGRICOLE / 'synthese.csv',
CHEMIN_OUTPUT_DATA / DOSSIER_POLITIQUE_FONCIERE / 'synthese.csv',
CHEMIN_OUTPUT_DATA / DOSSIER_POPULATION_AGRICOLE / 'population_agricole.csv',
CHEMIN_OUTPUT_DATA / DOSSIER_POLITIQUE_FONCIERE / 'politique_fonciere.csv',
CHEMIN_OUTPUT_DATA / DOSSIER_CARTES
)
stocker_duree_etape('CALCUL_DONEES_CARTES', time.time() - debut)
stocker_duree_etape('CALCUL_DONNEES_CARTES', time.time() - debut)
if __name__ == '__main__':
......
......@@ -131,6 +131,7 @@ def message_synthese(
return message
#TODO fonction à tester
def interpolation(x, xa, ya, xb, yb):
return round(
ya + (x - xa) * (yb - ya) / (xb - xa),
......
......@@ -3,10 +3,10 @@ from pandas import DataFrame
import numpy as np
import crater.politique_fonciere.chargeur_artificialisation as chargeur_artificialisation
import crater.politique_fonciere.politique_artificialisation as politique_artificialisation
import crater.politique_fonciere.rythme_artificialisation_sau as rythme_artificialisation_sau
import crater.politique_fonciere.sau_par_habitant as sau_par_habitant
import crater.politique_fonciere.synthese_politique_fonciere as synthese_politique_fonciere
from crater.politique_fonciere.politique_artificialisation import ajouter_politique_artificialisation
from crater.politique_fonciere.rythme_artificialisation_sau import ajouter_rythme_artificialisation_sau
from crater.politique_fonciere.sau_par_habitant import ajouter_sau_par_habitant
from crater.politique_fonciere.synthese_politique_fonciere import ajouter_synthese_politique_fonciere
from crater.crater_logger import log
from crater.outils import reinitialiser_dossier, DictDataFrames
from crater.territoires import outils as outils_territoires
......@@ -16,50 +16,28 @@ from crater.territoires.outils import traduire_code_insee_vers_id_commune_crater
def calculer_politique_fonciere(
territoires: DataFrame,
chemin_fichier_artificialisation: Path,
chemin_dossier_output: Path,
dossier_politique_fonciere: Path
chemin_dossier_output: Path
) -> None:
sources = charger_sources(
chemin_fichier_artificialisation
)
axe = calculer(
territoires,
sources
)
exporter(
axe,
chemin_dossier_output / dossier_politique_fonciere
)
def calculer(
territoires: DataFrame,
sources_politique_fonciere: DictDataFrames
) -> DictDataFrames:
log.info("##### CALCUL POLITIQUE FONCIERE #####")
donnees_politique_fonciere = calculer_donnees_politique_fonciere(
sources_politique_fonciere = _charger_sources(chemin_fichier_artificialisation)
donnees_politique_fonciere = _calculer_donnees_politique_fonciere(
territoires,
sources_politique_fonciere
)
donnees_indicateur_politique_artificialisation = politique_artificialisation.calculer(donnees_politique_fonciere)
donnees_indicateur_sau_par_habitant = sau_par_habitant.calculer(donnees_politique_fonciere)
donnees_indicateur_rythme_artificialisation_sau = rythme_artificialisation_sau.calculer(donnees_politique_fonciere)
donnees_synthese = synthese_politique_fonciere.calculer(
donnees_indicateur_sau_par_habitant,
donnees_indicateur_rythme_artificialisation_sau
)
donnees_politique_fonciere = ajouter_politique_artificialisation(donnees_politique_fonciere)
donnees_politique_fonciere = ajouter_sau_par_habitant(donnees_politique_fonciere)
donnees_politique_fonciere = ajouter_rythme_artificialisation_sau(donnees_politique_fonciere)
donnees_politique_fonciere = ajouter_synthese_politique_fonciere(donnees_politique_fonciere)
return {
'donnees': donnees_politique_fonciere,
'indicateur_sau_par_habitant': donnees_indicateur_sau_par_habitant,
'indicateur_rythme_artificialisation_sau': donnees_indicateur_rythme_artificialisation_sau,
'indicateur_politique_artificialisation': donnees_indicateur_politique_artificialisation,
'synthese': donnees_synthese
}
_exporter(
donnees_politique_fonciere,
chemin_dossier_output
)
def calculer_donnees_politique_fonciere(
def _calculer_donnees_politique_fonciere(
territoires: DataFrame,
sources_politique_fonciere : DictDataFrames
) -> DataFrame:
......@@ -112,38 +90,26 @@ def calculer_donnees_politique_fonciere(
return donnees_politique_fonciere
def exporter(
def _exporter(
donnees_politique_fonciere: DataFrame,
chemin_dossier_output: Path
) -> None:
log.info("##### EXPORT POLITIQUE FONCIERE #####")
reinitialiser_dossier(chemin_dossier_output)
outils_territoires.exporter_donnees_territoires(
donnees_politique_fonciere['donnees'].drop(columns=['annee_dernier_mouvement_commune'] + IDS_CATEGORIES_TERRITOIRES_SUPRACOMMUNAUX),
(chemin_dossier_output / "donnees.csv")
)
outils_territoires.exporter_donnees_territoires(
donnees_politique_fonciere['indicateur_sau_par_habitant'],
(chemin_dossier_output / "indicateur_sau_par_habitant.csv")
)
outils_territoires.exporter_donnees_territoires(
donnees_politique_fonciere['indicateur_rythme_artificialisation_sau'],
(chemin_dossier_output / "indicateur_rythme_artificialisation_sau.csv")
)
outils_territoires.exporter_donnees_territoires(
donnees_politique_fonciere['indicateur_politique_artificialisation'],
(chemin_dossier_output / "indicateur_politique_artificialisation.csv")
)
outils_territoires.exporter_donnees_territoires(
donnees_politique_fonciere['synthese'],
(chemin_dossier_output / "synthese.csv")
donnees_politique_fonciere.drop(columns=['annee_dernier_mouvement_commune'] + IDS_CATEGORIES_TERRITOIRES_SUPRACOMMUNAUX
).to_csv(
chemin_dossier_output / "politique_fonciere.csv",
sep=";",
encoding="utf-8",
index=True,
float_format='%.2f'
)
def charger_sources(
chemin_fichier_artificialisation
):
def _charger_sources(
chemin_fichier_artificialisation: Path
) -> DictDataFrames:
log.info("##### CHARGEMEMENT DES DONNEES SOURCES POLITIQUE FONCIERE #####")
artificialisation = chargeur_artificialisation.charger(chemin_fichier_artificialisation)
......
......@@ -3,21 +3,13 @@ from pandas import DataFrame
from crater.crater_logger import log
def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
def ajouter_politique_artificialisation(donnees_politique_fonciere: DataFrame) -> DataFrame:
log.info(" => Indicateur politique d'artificialisation")
donnees_indicateur = donnees_politique_fonciere.loc[:,
['nom_territoire',
'categorie_territoire',
'evolution_menages_emplois_2011_2016',
'artificialisation_2011_2016_ha',
'artificialisation_2011_2016_sur_superficie_pourcent'
]]
donnees_indicateur.loc[:, 'politique_artificialisation_valeur'] = (
donnees_indicateur.apply(
donnees_politique_fonciere.loc[:, 'politique_artificialisation_valeur'] = (
donnees_politique_fonciere.apply(
lambda x:
politique_artificialisation_valeur(
_politique_artificialisation_valeur(
x['evolution_menages_emplois_2011_2016'],
x['artificialisation_2011_2016_ha'],
x['artificialisation_2011_2016_sur_superficie_pourcent']
......@@ -26,10 +18,10 @@ def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
)
)
return donnees_indicateur
return donnees_politique_fonciere
def politique_artificialisation_valeur(evolution_menages_emplois_2011_2016, artificialisation_2011_2016_ha, artificialisation_2011_2016_sur_superficie_pourcent):
def _politique_artificialisation_valeur(evolution_menages_emplois_2011_2016, artificialisation_2011_2016_ha, artificialisation_2011_2016_sur_superficie_pourcent):
if artificialisation_2011_2016_ha <= 0:
return "L'objectif Zéro Artificialisation Nette a été atteint entre 2011 et 2016 !"
elif artificialisation_2011_2016_ha > 0 and (
......
......@@ -8,20 +8,13 @@ from crater.crater_logger import log
# Dans ce cas (div par 0), on obtient une valeur NaN pour l'indicateur d'artificialisation, et on affiche Données non disponible
# voir si on ne peut pas afficher un messager plus spécifique, ou calculer autrement l'indicateur
def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
def ajouter_rythme_artificialisation_sau(donnees_politique_fonciere: DataFrame) -> DataFrame:
log.info(" => Indicateur rythme d'artificialisation de la sau")
donnees_indicateur = donnees_politique_fonciere.loc[:,
['nom_territoire',
'categorie_territoire',
'artificialisation_2011_2016_ha',
'sau_productive_ha'
]]
donnees_indicateur.loc[:, 'rythme_artificialisation_sau_valeur_pourcent'] = (
donnees_indicateur.apply(
donnees_politique_fonciere.loc[:, 'rythme_artificialisation_sau_valeur_pourcent'] = (
donnees_politique_fonciere.apply(
lambda x:
rythme_artificialisation_sau_valeur_pourcent(
_rythme_artificialisation_sau_valeur_pourcent(
x['artificialisation_2011_2016_ha'],
x['sau_productive_ha']
),
......@@ -29,16 +22,16 @@ def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
)
)
if donnees_indicateur.query(f"id_territoire=='{outils_territoires.ID_FRANCE}'")[
if donnees_politique_fonciere.query(f"id_territoire=='{outils_territoires.ID_FRANCE}'")[
'rythme_artificialisation_sau_valeur_pourcent'][0] <= 0:
raise ValueError('Attention, la valeur moyenne française pose problème vu la définition de calcul de la note !')
donnees_indicateur.loc[:, 'rythme_artificialisation_sau_note'] = (
donnees_indicateur.apply(
donnees_politique_fonciere.loc[:, 'rythme_artificialisation_sau_note'] = (
donnees_politique_fonciere.apply(
lambda x:
outils.calculerNoteParInterpolation2Seuils(
x['rythme_artificialisation_sau_valeur_pourcent'],
0, donnees_indicateur.query(f"id_territoire=='{outils_territoires.ID_FRANCE}'")[
0, donnees_politique_fonciere.query(f"id_territoire=='{outils_territoires.ID_FRANCE}'")[
'rythme_artificialisation_sau_valeur_pourcent'][0],
10, 0
),
......@@ -46,10 +39,10 @@ def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
)
)
return donnees_indicateur
return donnees_politique_fonciere
def rythme_artificialisation_sau_valeur_pourcent(artificialisation_5ans_ha, sau_productive_ha):
def _rythme_artificialisation_sau_valeur_pourcent(artificialisation_5ans_ha, sau_productive_ha):
try:
return round(
artificialisation_5ans_ha / 5 / sau_productive_ha * 100,
......
......@@ -6,20 +6,13 @@ import crater.outils as outils
from crater.crater_logger import log
from crater.politique_fonciere.parametres import seuil_regime_tres_vegetal, seuil_regime_actuel
def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
def ajouter_sau_par_habitant(donnees_politique_fonciere: DataFrame) -> DataFrame:
log.info(" => Indicateur sau par habitant")
donnees_indicateur = donnees_politique_fonciere.loc[:,
['nom_territoire',
'categorie_territoire',
'sau_productive_ha',
'population_totale_2017'
]]
donnees_indicateur.loc[:, 'sau_par_habitant_valeur_m2_par_hab'] = (
donnees_indicateur.apply(
donnees_politique_fonciere.loc[:, 'sau_par_habitant_valeur_m2_par_hab'] = (
donnees_politique_fonciere.apply(
lambda x:
sau_par_habitant_valeur_m2_par_hab(
_sau_par_habitant_valeur_m2_par_hab(
x['sau_productive_ha'],
x['population_totale_2017']
),
......@@ -27,8 +20,8 @@ def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
)
)
donnees_indicateur.loc[:, 'sau_par_habitant_note'] = (
donnees_indicateur.apply(
donnees_politique_fonciere.loc[:, 'sau_par_habitant_note'] = (
donnees_politique_fonciere.apply(
lambda x:
outils.calculerNoteParInterpolation3Seuils(
x['sau_par_habitant_valeur_m2_par_hab'],
......@@ -39,10 +32,10 @@ def calculer(donnees_politique_fonciere: DataFrame) -> DataFrame:
)
)
return donnees_indicateur
return donnees_politique_fonciere
def sau_par_habitant_valeur_m2_par_hab(sau_productive_ha, population_totale):
def _sau_par_habitant_valeur_m2_par_hab(sau_productive_ha, population_totale):
try:
return round(
sau_productive_ha * 1e4 / population_totale
......
......@@ -5,37 +5,14 @@ import crater.outils as outils
from crater.crater_logger import log
from crater.politique_fonciere.parametres import seuil_regime_tres_vegetal, seuil_regime_moins_carne, seuil_regime_actuel
def calculer(
indicateur_sau_par_habitant: DataFrame,
indicateur_rythme_artificialisation_sau: DataFrame
) -> DataFrame:
def ajouter_synthese_politique_fonciere(donnees_politique_fonciere: DataFrame) -> DataFrame:
log.info(" => Synthèse")
indicateur_sau_par_habitant = indicateur_sau_par_habitant.loc[:,
['nom_territoire',
'categorie_territoire',
'sau_par_habitant_valeur_m2_par_hab',
'sau_par_habitant_note'
]]
indicateur_rythme_artificialisation_sau = indicateur_rythme_artificialisation_sau.loc[:,
['artificialisation_2011_2016_ha',
'rythme_artificialisation_sau_note'
]]
donnees_synthese = indicateur_sau_par_habitant.join(indicateur_rythme_artificialisation_sau)
donnees_synthese = calculer_notes_messages(donnees_synthese)
return donnees_synthese
def calculer_notes_messages(donnees_synthese: DataFrame) -> DataFrame:
donnees_synthese.loc[:, 'synthese_note'] = (
donnees_synthese.apply(
donnees_politique_fonciere.loc[:, 'synthese_note'] = (
donnees_politique_fonciere.apply(
lambda x:
note(
_note(
x['sau_par_habitant_note'],
x['rythme_artificialisation_sau_note']
),
......@@ -43,10 +20,10 @@ def calculer_notes_messages(donnees_synthese: DataFrame) -> DataFrame:
)
)
donnees_synthese.loc[:, 'synthese_message'] = (
donnees_synthese.apply(
donnees_politique_fonciere.loc[:, 'synthese_message'] = (
donnees_politique_fonciere.apply(
lambda x:
message(
_message(
x['sau_par_habitant_valeur_m2_par_hab'],
x['artificialisation_2011_2016_ha'],
x['synthese_note']
......@@ -55,9 +32,10 @@ def calculer_notes_messages(donnees_synthese: DataFrame) -> DataFrame:
)
)
return donnees_synthese
return donnees_politique_fonciere
def note(
def _note(
sau_par_habitant_note,
rythme_artificialisation_sau_note
):
......@@ -68,7 +46,7 @@ def note(
return x
def message(
def _message(
sau_par_habitant_valeur_m2_par_hab,
artificialisation_2011_2016_ha,
synthese_note
......
......@@ -3,11 +3,11 @@ import pandas as pd
from pandas import DataFrame
import numpy as np
import crater.population_agricole.chargeur_actifs_agricoles_permanents as chargeur_population_agricole
import crater.population_agricole.evolution_part_population_agricole as evolution_part_population_agricole
import crater.population_agricole.part_population_agricole_1988 as part_population_agricole_1988
import crater.population_agricole.part_population_agricole_2010 as part_population_agricole_2010
import crater.population_agricole.synthese_population_agricole as synthese_population_agricole
import crater.population_agricole.chargeur_actifs_agricoles_permanents as chargeur_actifs_agricoles_permanents
from crater.population_agricole.evolution_part_population_agricole import ajouter_evolution_part_population_agricole
from crater.population_agricole.part_population_agricole_1988 import ajouter_part_population_agricole_1988
from crater.population_agricole.part_population_agricole_2010 import ajouter_part_population_agricole_2010
from crater.population_agricole.synthese_population_agricole import ajouter_synthese_population_agricole
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
from crater.outils import reinitialiser_dossier, DictDataFrames
......@@ -17,89 +17,57 @@ from crater.territoires.outils import traduire_code_insee_vers_id_commune_crater
def calculer_population_agricole(
territoires: DataFrame,
chemin_fichier_actifs_agricoles_permanents: Path,
chemin_dossier_output: Path,
dossier_population_agricole: Path
chemin_dossier_output: Path
) -> None:
sources = charger_sources(
chemin_fichier_actifs_agricoles_permanents
)
axe = calculer(territoires, sources)
exporter(
axe,
chemin_dossier_output / dossier_population_agricole
)
def calculer(
territoires: DataFrame,
sources_population_agricole: DictDataFrames
) -> DictDataFrames:
log.info("##### CALCUL POPULATION AGRICOLE #####")
donnees_population_agricole = calculer_donnees_population_agricole(
sources_population_agricole = _charger_sources(chemin_fichier_actifs_agricoles_permanents)
donnees_population_agricole = _calculer_donnees_population_agricole(
territoires,
sources_population_agricole
)
donnees_indicateur_part_population_agricole_2010 = part_population_agricole_2010.calculer(donnees_population_agricole)
donnees_indicateur_part_population_agricole_1988 = part_population_agricole_1988.calculer(donnees_population_agricole)
donnees_indicateur_evolution_part_population_agricole = evolution_part_population_agricole.calculer(
donnees_population_agricole)
donnees_synthese = synthese_population_agricole.calculer(
donnees_indicateur_part_population_agricole_2010,
donnees_indicateur_evolution_part_population_agricole
)
donnees_population_agricole = ajouter_part_population_agricole_2010(donnees_population_agricole)
donnees_population_agricole = ajouter_part_population_agricole_1988(donnees_population_agricole)
donnees_population_agricole = ajouter_evolution_part_population_agricole(donnees_population_agricole)
donnees_population_agricole = ajouter_synthese_population_agricole(donnees_population_agricole)
return {
'donnees': donnees_population_agricole,
'indicateur_part_population_agricole_2010': donnees_indicateur_part_population_agricole_2010,
'indicateur_part_population_agricole_1988': donnees_indicateur_part_population_agricole_1988,
'indicateur_evolution_part_population_agricole': donnees_indicateur_evolution_part_population_agricole,
'synthese': donnees_synthese
}
_exporter(
donnees_population_agricole,
chemin_dossier_output
)
def exporter(
population_agricole: DataFrame,
def _exporter(
donnees_population_agricole: DataFrame,
chemin_dossier_output: Path
):
) -> None:
log.info("##### EXPORT POPULATION AGRICOLE #####")
reinitialiser_dossier(chemin_dossier_output)
outils_territoires.exporter_donnees_territoires(
population_agricole['donnees'].drop(columns=['annee_dernier_mouvement_commune'] + IDS_CATEGORIES_TERRITOIRES_SUPRACOMMUNAUX),
(chemin_dossier_output / "donnees.csv")
)
outils_territoires.exporter_donnees_territoires(
population_agricole['indicateur_part_population_agricole_2010'],
(chemin_dossier_output / "indicateur_part_population_agricole_2010.csv")
)
outils_territoires.exporter_donnees_territoires(
population_agricole['indicateur_part_population_agricole_1988'],
(chemin_dossier_output / "indicateur_part_population_agricole_1988.csv")
)
outils_territoires.exporter_donnees_territoires(
population_agricole['indicateur_evolution_part_population_agricole'],
(chemin_dossier_output / "indicateur_evolution_part_population_agricole.csv")
)
outils_territoires.exporter_donnees_territoires(
population_agricole['synthese'],
(chemin_dossier_output / "synthese.csv")
donnees_population_agricole.drop(columns=['annee_dernier_mouvement_commune'] + IDS_CATEGORIES_TERRITOIRES_SUPRACOMMUNAUX
).to_csv(
chemin_dossier_output / "population_agricole.csv",
sep=";",
encoding="utf-8",
index=True,
float_format='%.2f'
)
def charger_sources(
chemin_fichier_actifs_agricoles_permanents
):
def _charger_sources(
chemin_fichier_actifs_agricoles_permanents: Path
) -> DictDataFrames:
log.info("##### CHARGEMEMENT DES DONNEES SOURCES POPULATION AGRICOLE #####")
actifs_agricoles_permanents = pd.merge(
chargeur_population_agricole.charger(
chargeur_actifs_agricoles_permanents.charger(
chemin_fichier_actifs_agricoles_permanents,
"FDS_G_2005_2010.txt"
)[['id_commune', 'valeur']].rename(
columns={'valeur': 'actifs_agricoles_permanents_2010'}, errors='raise'
),
chargeur_population_agricole.charger(
chargeur_actifs_agricoles_permanents.charger(
chemin_fichier_actifs_agricoles_permanents,
"FDS_G_2005_1988.txt"
)[['id_commune', 'valeur']].rename(
......@@ -117,7 +85,7 @@ def charger_sources(
}
def calculer_donnees_population_agricole(
def _calculer_donnees_population_agricole(
territoires: DataFrame,
sources_population_agricole: DataFrame
) -> DataFrame:
......
......@@ -4,22 +4,13 @@ import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
def calculer(donnees_population_agricole: DataFrame) -> DataFrame:
log.info(" => Indicateur évolution part population agricole ***")
def ajouter_evolution_part_population_agricole(donnees_population_agricole: DataFrame) -> DataFrame:
log.info(" => Indicateur évolution part population agricole")
donnees_indicateur = donnees_population_agricole.loc[:,
['nom_territoire',
'categorie_territoire',