osm-labo/docs/import-cityfollowup-csv-command.md
2025-08-08 18:09:29 +02:00

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'objets
  • nombre_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

  1. La commande vérifie d'abord que la ville existe en base de données avec le code INSEE fourni.
  2. Elle recherche ensuite le fichier CSV correspondant dans le répertoire des résultats.
  3. Elle lit le contenu du fichier CSV et récupère les mesures existantes en base de données.
  4. 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
  5. 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.