-
Notifications
You must be signed in to change notification settings - Fork 4
add property of puissance_nominale_grouped in opendata_stations.csv #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,6 +4,35 @@ Retraitement des données open data des points de recharge pour véhicules élec | |
|
|
||
| Le fichier open data utilisé est le fichier consolidé des bornes de rechage pour véhicules électriques, publié sur [datagouv](https://www.data.gouv.fr/fr/datasets/fichier-consolide-des-bornes-de-recharge-pour-vehicules-electriques). Il s'agit d'un jeu de données qui regroupe l'ensemble des données produites par les différents acteurs territoriaux. | ||
|
|
||
| ## Installation | ||
|
|
||
| ### Créer le dossier de sortie | ||
|
|
||
| Les scripts génèrent des fichiers dans le dossier `output/`. Créez ce dossier avant d'exécuter les scripts : | ||
|
|
||
| ```bash | ||
| mkdir -p output | ||
| ``` | ||
|
|
||
| ### Récupérer le jeu de données IRVE depuis data.gouv.fr | ||
|
|
||
| Le fichier `opendata_irve.csv` doit être téléchargé depuis data.gouv.fr. | ||
|
|
||
| https://www.data.gouv.fr/fr/datasets/fichier-consolide-des-bornes-de-recharge-pour-vehicules-electriques | ||
|
|
||
| **URL de téléchargement direct actuelle** (peut changer) : | ||
| ``` | ||
| https://www.data.gouv.fr/fr/datasets/r/2729b192-40ab-4454-904d-735084dca3a3 | ||
| ``` | ||
|
|
||
| Pour télécharger le fichier avec curl: | ||
|
|
||
| ```bash | ||
| curl -L https://www.data.gouv.fr/fr/datasets/r/2729b192-40ab-4454-904d-735084dca3a3 -o opendata_irve.csv | ||
| ``` | ||
|
|
||
| **Note** : L'ID dans l'URL peut changer si le jeu de données est mis à jour. Vérifiez régulièrement la page du jeu de données pour obtenir l'URL la plus récente. | ||
|
|
||
|
||
| Contrairement à ce que son nom laisse entendre, le jeu de données open data ne contient pas d'informations sur les bornes : il contient des points de recharge, ainsi que des informations sur les stations. | ||
|
|
||
|  | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -245,6 +245,28 @@ def transformRef(refIti, refLoc): | |
| else : | ||
| station['attributes']['accessibilite_pmr_grouped'] = list(accessibilite_pmr)[0] | ||
|
|
||
| # Regroupement de la puissance nominale | ||
| puissances = [] | ||
| for elem in station['pdc_list']: | ||
| puissance_str = elem['puissance_nominale'].strip() if elem['puissance_nominale'] else '' | ||
| if puissance_str and puissance_str.lower() != 'null': | ||
| try: | ||
| puissances.append(float(puissance_str)) | ||
| except ValueError: | ||
| pass | ||
|
|
||
| if len(puissances) == 0: | ||
| station['attributes']['puissance_nominale_grouped'] = None | ||
| elif len(set(puissances)) == 1: | ||
| station['attributes']['puissance_nominale_grouped'] = puissances[0] | ||
|
||
| else: | ||
| # Si plusieurs puissances différentes, on prend la valeur la plus haute | ||
| station['attributes']['puissance_nominale_grouped'] = max(puissances) | ||
| errors.append({"station_id" : station_id, | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. c'est vraiment une erreur d'avoir des puissances nominales différentes sur les différents points de charge d'une station ? (c'est une vraie question, désolée si c'est une question bête 😋 )
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Très bonne question, d'un point de vue utilisateur la valeur la plus haute est la plus pertinente car les puissances d'un point de charge ne se cumulent pas, elles sont limitées au max parmi celles disponibles et qui peut le plus peut le moins. On pourrait tenter de faire ensuite un mapping entre les tags des sockets et ceux de la puissance nominale, mais pour faire simple je pensais plutôt ajouter une info dont je connais l'avantage utilisateur et avec un résultat moins hasardeux. Ce serait bien si les producteurs de données faisaient les choses dans le détail et pouvaient donner clairement les puissances de chaque socket mais bon, on n'y est pas encore et le csv ne permet pas d'avoir clairement l'info. :)
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. d'ailleurs tu m'as donné une idée, on peut avoir une colonne avec la valeur de base et la valeur qui n'a que le max, comme ça les gens qui réutilisent auront le choix. |
||
| "source": station['attributes']['source_grouped'], | ||
| "error": "plusieurs puissances nominales différentes pour une même station", | ||
| "detail": puissances}) | ||
|
|
||
| if len(station['pdc_list']) != int(station['attributes']['nbre_pdc']): | ||
| errors.append({"station_id" : station_id, | ||
| "source": station['attributes']['source_grouped'], | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
est-ce que tu peux déplacer les instructions d'installation à la fin du fichier readme ? je préfèrerais que le début reste lisible par un non codeur qui tomberait sur ce repo depuis Osmose ou le wiki.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok j'ai bougé les instructions d'install en fin de readme