3.2 KiB
3.2 KiB
Commande d'import des mesures thématiques depuis CSV
Cette documentation décrit l'utilisation de la commande app:import-cityfollowup-csv
qui permet d'importer des mesures thématiques depuis des fichiers CSV pour une ville donnée.
Description
La commande app:import-cityfollowup-csv
permet d'importer des données de suivi thématique (CityFollowUp) depuis des fichiers CSV générés par les scripts de comptage d'objets OSM. Elle compare les mesures existantes en base de données avec celles du fichier CSV et ajoute uniquement les nouvelles mesures, en excluant celles qui ont une valeur de 0.
Prérequis
- Les fichiers CSV doivent être présents dans le répertoire
/counting_osm_objects/test_results/
- Le format du nom de fichier doit être
commune_{code_insee}_{theme}.csv
- La ville (entité Stats) doit exister en base de données avec le code INSEE correspondant
Format du fichier CSV
Le fichier CSV doit contenir les colonnes suivantes :
date
: Date de la mesure (format YYYY-MM-DD)zone
: Zone de la mesure (format commune_{code_insee})theme
: Thématique de la mesure (ex: borne-de-recharge)nombre_total
: Nombre total d'objetsnombre_avec_operator
: Nombre d'objets avec un opérateur (optionnel)nombre_avec_capacity
: Nombre d'objets avec une capacité (optionnel)pourcentage_completion
: Pourcentage de complétion (optionnel)
Utilisation
php bin/console app:import-cityfollowup-csv <insee> <theme> [--dry-run]
Arguments
insee
: Code INSEE de la ville (obligatoire)theme
: Thématique à importer (ex: borne-de-recharge, defibrillator) (obligatoire)
Options
--dry-run
: Simule l'import sans modifier la base de données
Exemples
Import des bornes de recharge pour Paris
php bin/console app:import-cityfollowup-csv 75056 borne-de-recharge
Simulation d'import des défibrillateurs pour Paris
php bin/console app:import-cityfollowup-csv 75056 defibrillator --dry-run
Comportement
- La commande vérifie d'abord que la ville existe en base de données avec le code INSEE fourni.
- Elle recherche ensuite le fichier CSV correspondant dans le répertoire des résultats.
- Elle lit le contenu du fichier CSV et récupère les mesures existantes en base de données.
- Pour chaque ligne du CSV :
- Les lignes avec des valeurs manquantes sont ignorées
- Les mesures avec une valeur de 0 sont ignorées
- Les mesures déjà existantes en base de données sont ignorées
- Les nouvelles mesures sont ajoutées en base de données
- La commande affiche un résumé des opérations effectuées.
Correspondance des thématiques
La commande effectue une conversion entre les noms de thématiques utilisés dans les fichiers CSV et ceux utilisés dans la base de données :
Nom dans le CSV | Nom dans CityFollowUp |
---|---|
borne-de-recharge | charging_station |
defibrillator | defibrillator |
... | ... |
Notes
- Les mesures sont importées par lots de 50 pour éviter de surcharger la mémoire.
- Seules les mesures qui n'existent pas déjà en base de données sont importées.
- Les mesures avec une valeur de 0 sont ignorées conformément aux spécifications.