Commit dd0b507d authored by Benjam's avatar Benjam
Browse files

séparation nette du module de calcul de la sau (calcule lui-même son...

séparation nette du module de calcul de la sau (calcule lui-même son referentiel de territoires et exporte dans son dossier)
parent c36ab226
......@@ -51,12 +51,24 @@ def loguer_duree_etapes():
def lancer_calcul_surface_agricole_utile(nombre_traitements_paralleles: int):
debut = time.time()
reinitialiser_dossier(CHEMIN_OUTPUT_DATA / DOSSIER_SURFACE_AGRICOLE_UTILE)
calculer_referentiel_territoires(
CHEMIN_SOURCE_COMMUNES_ET_ARRONDISSEMENTS,
CHEMIN_SOURCE_MOUVEMENTS_COMMUNES,
CHEMIN_SOURCE_EPCIS,
CHEMIN_SOURCE_DEPARTEMENTS,
CHEMIN_SOURCE_REGIONS,
CHEMIN_SOURCE_CODES_POSTAUX,
DOSSIER_CONFIG / "regroupements_geographiques",
CHEMIN_OUTPUT_DATA / DOSSIER_SURFACE_AGRICOLE_UTILE
)
referentiel_territoires = charger_referentiel_territoires(
CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES
CHEMIN_OUTPUT_DATA / DOSSIER_SURFACE_AGRICOLE_UTILE
)
reinitialiser_dossier(CHEMIN_OUTPUT_DATA / DOSSIER_SURFACE_AGRICOLE_UTILE)
communes_sig = calculateur_surface_agricole_utile.charger_communes_sig(
CHEMIN_SOURCE_COMMUNES_SIG,
referentiel_territoires
......@@ -71,6 +83,8 @@ def lancer_calcul_surface_agricole_utile(nombre_traitements_paralleles: int):
nombre_traitements_paralleles
)
stocker_duree_etape('CALCUL_SURFACES_AGRICOLES_UTILES', time.time() - debut)
def lancer_etape_crater(etape: Callable):
debut = time.time()
......@@ -107,10 +121,10 @@ def lancer_calcul_territoires():
)
# On recharge les dataframes des territoires a partir des fichiers calculés ci-dessus pour avoir systématiquement
# le même fonctionnement (erreurs d'arrondis possible pour les floats sinon)
territoires = charger_referentiel_territoires(CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES)
referentiel_territoires = charger_referentiel_territoires(CHEMIN_OUTPUT_DATA / DOSSIER_TERRITOIRES)
calculer_donnees_territoires(
territoires,
referentiel_territoires,
CHEMIN_SOURCE_POPULATION_TOTALE,
CHEMIN_SOURCE_POPULATION_TOTALE_HISTORIQUE,
CHEMIN_OUTPUT_DATA / DOSSIER_SURFACE_AGRICOLE_UTILE / 'sau_par_commune_et_culture',
......@@ -281,15 +295,15 @@ if __name__ == '__main__':
2017,
CHEMIN_CRATER_DATA_SOURCES / DOSSIER_IGN
)
elif (args.ETAPE_CALCUL == 'crater-territoires'):
log.info("Génération des fichiers résultats CRATER pour les territoires")
lancer_calcul_territoires()
elif (args.ETAPE_CALCUL == 'sau-calculer-surfaces'):
log.info("Génération des fichiers résultats CRATER des surfaces agricoles utiles")
lancer_calcul_surface_agricole_utile(nombre_traitements_paralleles)
elif (args.ETAPE_CALCUL == 'crater-complet'):
log.info("Génération des fichiers résultats CRATER")
lancer_calcul_complet_traitement_crater(nombre_traitements_paralleles)
elif (args.ETAPE_CALCUL == 'crater-territoires'):
log.info("Génération des fichiers résultats CRATER pour les territoires")
lancer_calcul_territoires()
elif (args.ETAPE_CALCUL == 'crater-production-besoins'):
log.info("Génération des fichiers résultats CRATER pour l'axe production/besoins")
lancer_calcul_production_besoins()
......
......@@ -63,13 +63,13 @@ CHEMIN_OUTPUT_DATA = Path("../crater-data-resultats/data")
DOSSIER_RPG = Path("rpg")
DOSSIER_PARCEL = Path("parcel")
DOSSIER_SURFACE_AGRICOLE_UTILE = Path("surface_agricole_utile")
DOSSIER_TERRITOIRES = Path("crater/territoires")
DOSSIER_SURFACE_AGRICOLE_UTILE = Path("crater/surface_agricole_utile")
DOSSIER_POPULATION_AGRICOLE = Path("crater/population_agricole")
DOSSIER_POLITIQUE_FONCIERE = Path("crater/politique_fonciere")
DOSSIER_PRATIQUES_AGRICOLES = Path("crater/pratiques_agricoles")
DOSSIER_PRODUCTION_BESOINS = Path("crater/production_besoins")
DOSSIER_CARTES = Path("crater/crater_geojson")
DOSSIER_CARTES = Path("crater/geojson")
URL_SOURCE_RPG = "ftp://RPG_ext:quoojaicaiqu6ahD@ftp3.ign.fr/"
NOMS_FICHIERS_RPG = {
......
......@@ -19,7 +19,7 @@ CODE_CATEGORIE_SAU_PEU_PRODUCTIVE = 'PEU_PRODUCTIVE'
def calculer_donnees_territoires(
territoires: DataFrame,
referentiel_territoires: DataFrame,
chemin_fichier_population_totale: Path,
chemin_fichier_population_totale_historique: Path,
chemin_fichiers_sau: Path,
......@@ -36,7 +36,7 @@ def calculer_donnees_territoires(
)
territoires_enrichi = _ajouter_colonnes_donnees_territoires(
territoires,
referentiel_territoires,
sources_donnees_territoires
)
......@@ -75,13 +75,13 @@ def charger_referentiel_et_donnees_territoires(dossier_territoires: Path) -> Dat
def _ajouter_colonnes_donnees_territoires(
territoires: DataFrame,
referentiel_territoires: DataFrame,
sources: DictDataFrames
) -> DataFrame:
log.info("##### AJOUT DES DONNEES COMPLÉMENTAIRES DES TERRITOIRES #####")
territoires = _ajouter_colonnes_sau(
territoires,
referentiel_territoires,
sources['sau'],
sources['correspondance_nomenclature_rpg_vers_crater']
)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment