Prendre en compte les nouvelles donnée sur les OTEX
Objectif : ajouter les informations sur la spécialisation agricole des territoires (on appelle cela l'OTEX) dans l'api
Détail :
- prendre en compte un nouveau fichier dans les données de crater-data-résultat, dans crater/territoires/otex/otex_territoires.csv. Commencer par ajouter ce fichier dans les tests unitaires de crater-api Son contenu est sur le format suivant (liste de communes, de territoires, et valeurs à adapter pour les tests) :
id_territoire;nom_territoire;categorie_territoire;nb_communes_otex_grandes_cultures;nb_communes_otex_maraichage_horticulture;nb_communes_otex_viticulture;nb_communes_otex_fruits;nb_communes_otex_bovin_lait;nb_communes_otex_bovin_viande;nb_communes_otex_bovin_mixte;nb_communes_otex_caprins_autres_herbivores;nb_communes_otex_porcins_volailles;nb_communes_otex_polyculture_polyelevage;nb_communes_otex_non_classees
P-FR;France;PAYS;1;1;1;1;1;1;1;1;1;1;1
R-1;Région;REGION;1;1;1;1;1;1;1;1;1;1;1
D-1;Département;DEPARTEMENT;1;1;1;1;1;1;1;1;1;1;1
RC-1;Regroupement communes;REGROUPEMENT_COMMUNES;1;1;1;1;1;1;1;1;1;1;1
E-1;Epci;EPCI;1;1;1;1;1;1;1;1;1;1;1
C-1;Commune grande culture;COMMUNE;1;0;0;0;0;0;0;0;0;0;0
C-2;Commune horticulture;COMMUNE;0;1;0;0;0;0;0;0;0;0;0
C-3;Commune viticulture;COMMUNE;0;0;1;0;0;0;0;0;0;0;0
C-4;Commune fruits;COMMUNE;0;0;0;1;0;0;0;0;0;0;0
C-5;Commune bovin lait;COMMUNE;0;0;0;0;1;0;0;0;0;0;0
C-6;Commune bovin viande;COMMUNE;0;0;0;0;0;1;0;0;0;0;0
C-7;Commune bovin mixte;COMMUNE;0;0;0;0;0;0;1;0;0;0;0
C-8;Commune caprins;COMMUNE;0;0;0;0;0;0;0;1;0;0;0
C-9;Commune porcins;COMMUNE;0;0;0;0;0;0;0;0;1;0;0
C-10;Commune polyculture;COMMUNE;0;0;0;0;0;0;0;0;0;1;0
C-11;Commune non classee;COMMUNE;0;0;0;0;0;0;0;0;0;0;1
Rq : règle de remplissage du fichier : pour une commune, il y a toujours une seule colonne valorisée à 1, les autres sont à 0. Pour les autres territoires, la valeur dans chaque cellule est la somme des valeurs des communes du territoire
-
créer les entités en conséquence
-
puis alimenter l'api, en modifiant son design. modifier le fichier crater-openapi.yml comme suit Modifier le schéma de Diagnostic pour ajouter nbCommunesParOtex
Diagnostic:
type: object
properties:
idTerritoire:
type: string
description: identifiant de territoire (commune, epci, département, etc...)
nomTerritoire:
type: string
population:
type: number
nullable: true
superficieHa:
type: number
nullable: true
idTerritoireParcel:
type: string
description: Identifiant du territoire dans l'application PARCEL
nbCommunesParOtex:
$ref: '#/components/schemas/NbCommunesParOtex'
surfaceAgricoleUtile:
$ref: '#/components/schemas/SurfaceAgricoleUtile'
politiqueFonciere:
$ref: '#/components/schemas/PolitiqueFonciere'
consommation:
$ref: '#/components/schemas/Consommation'
populationAgricole:
$ref: '#/components/schemas/PopulationAgricole'
intrants:
$ref: '#/components/schemas/Intrants'
pratiquesAgricoles:
$ref: '#/components/schemas/PratiquesAgricoles'
productionsBesoins:
$ref: '#/components/schemas/ProductionsBesoins'
production:
$ref: '#/components/schemas/Production'
proximiteCommerces:
$ref: '#/components/schemas/ProximiteCommerces'
required:
- idTerritoire
- nomTerritoire
- population
- superficieHa
- idTerritoireParcel
- nbCommunesParOtex
- surfaceAgricoleUtile
- politiqueFonciere
- consommation
- populationAgricole
- intrants
- pratiquesAgricoles
- productionsBesoins
- production
- proximiteCommerces
Déclarer le schéma NbCommunesParOtex dans components.schemas
NbCommunesParOtex:
type: object
properties:
grandesCultures:
type: number
nullable: false
maraichageHorticulture:
type: number
nullable: false
viticulture:
type: number
nullable: false
fruits:
type: number
nullable: false
bovinLait:
type: number
nullable: false
bovinViande:
type: number
nullable: false
bovinMixte:
type: number
nullable: false
caprinsAutresHerbivores:
type: number
nullable: false
porcinsVolailles:
type: number
nullable: false
polyculturePolyelevage:
type: number
nullable: false
nonClassees:
type: number
nullable: false
required:
- grandesCultures
- maraichageHorticulture
- viticulture
- fruits
- bovinLait
- bovinViande
- bovinMixte
- caprinsAutresHerbivores
- porcinsVolailles
- polyculturePolyelevage
- nonClassees
Edited by Lionel