mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-10-04 17:04:53 +02:00
import city followup from csv
This commit is contained in:
parent
eee5d6349a
commit
dfeaf123f4
4 changed files with 35253 additions and 1 deletions
81
docs/import-cityfollowup-csv-command.md
Normal file
81
docs/import-cityfollowup-csv-command.md
Normal file
|
@ -0,0 +1,81 @@
|
|||
# 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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
php bin/console app:import-cityfollowup-csv 75056 borne-de-recharge
|
||||
```
|
||||
|
||||
### Simulation d'import des défibrillateurs pour Paris
|
||||
|
||||
```bash
|
||||
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.
|
Loading…
Add table
Add a link
Reference in a new issue