-
Notifications
You must be signed in to change notification settings - Fork 12
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
[BACKEND] Fix create_update_segments_excursions: cas 1 seul position par MMSI dans batch non couvert #349
Comments
On a une autre erreur liée : |
merde |
@ejamet73 t'as eu le temps de jeter un oeil ? |
oui mais rapidement je l'ai pas résolu, l'erreur vient du fait que geopy.distance contienne des valeurs non valides donc des NaN (j'imagine) : soit start_latitude start_longitude end_longitude end_latitude |
je vais regarder demain si j'ai le temps. je maitrise moins cette partie mais je connais le problème des NaN/Inf car je l'ai déjà au côté API. Par contre bizarre que ça n'apparaissait pas avant la modif de primary keys |
L'ereur vient du cas ou on reçoit une seule position mmsi par batch & c'est la toute première position du navire ( last_segment est vide). Je corrige le code mais ça a des conséquences sur une grande partie du script c'est long ^^ |
Coucou ! En creusant le script, j'ai vu une autre erreur qui a un impact important. J'ai tout décortiqué et repris. L'erreur est la suivante : quand on reçoit des positions pour un navire qui n'a pas de segment en base, ses positions ne sont pas prises en compte et ne sont pas sauvées (exemple pour Ortegal dos). Je pensais que vous ne bosseriez pas dessus, je me suis du coup mise dessus juste. |
@ejamet73, on a qu'a bosser à 2 dessus. J'ai vraiment tout repris parce que la logique du code n'était pas clair du tout et il y avait donc ces 2 erreurs de df à 1 row et segments jamais sauvés en base |
Le sujet avait été abordé par Sébastien et Nicolas, je ne sais pas si ça
été implémenté comme ça mais dans ce cas on avait parlé de créer un segment
avec deux point identiques
Une autre solution était de mettre un point a Null ce qui a l'avantage
d'être explicite
Dans les deux cas il faut venir tester les valeur du segment précédent pour
mettre la première nouvelle valeur en tant que deuxième point du segment
qui existait déjà
J'ai pas regardé dans le détail mais globalement c'était ça l'idée et je ne
sais pas comment ou si ça été implémenté comme ça
Le lun. 23 déc. 2024, 08:54, marthevienne ***@***.***> a
écrit :
… @ejamet73 <https://github.com/ejamet73>, on a qu'a bosser à 2 dessus.
J'ai vraiment tout repris parce que la logique du code n'était pas clair du
tout et il y avait donc ces 2 erreurs de df à 1 row et segments jamais
sauvés en base
—
Reply to this email directly, view it on GitHub
<#349 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADLDQDQTPV3PQETEBJQVATL2G66TBAVCNFSM6AAAAABTNRIK6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJZGA4TQNBYHE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
On peut très faire évoluer la class Segment pour y ajouter une méthode du genre segment.isValid() qui resterait si les deux points sont identiques ou null |
Où est ce que tu travailles ? j'ai créé une nouvelle PR à partir de la même branche de travail 373-fix-checking-of-the-excursion-of-the-last-segment |
Là, j'ai fait un notebook pour décortiquer le code sur une branche en local. |
C'est effectivement le cas |
(.venv) (base) ➜ backend git:(main) ✗ python3 bloom/tasks/create_update_excursions_segments.py
/Users/marthevienne/12_bloom/backend/.venv/lib/python3.11/site-packages/pydantic/_migration.py:283: UserWarning: pydantic.generics:GenericModel has been moved to pydantic.BaseModel.
warnings.warn(f'{import_path} has been moved to {new_location}.')
[bloom INFO @ 21:20:17] DEBUT - Création / mise à jour des excursions et des segments
[bloom INFO @ 21:20:18] Lecture des nouvelles positions depuis le 2024-11-11 20:14:57.333136+00:00
[bloom INFO @ 21:20:18] 1028 nouvelles positions
[bloom INFO @ 21:20:29] Création des excursions
[bloom ERROR @ 21:20:29] Session rollback because of exception
Traceback (most recent call last):
File "/Users/marthevienne/12_bloom/backend/.venv/lib/python3.11/site-packages/pandas/core/indexes/range.py", line 413, in get_loc
return self._range.index(new_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: 0 is not in range
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/marthevienne/12_bloom/backend/bloom/infra/database/database_manager.py", line 32, in session
yield session
File "/Users/marthevienne/12_bloom/backend/bloom/tasks/create_update_excursions_segments.py", line 160, in run
df_start.loc[-1] = df_start.loc[0]
The text was updated successfully, but these errors were encountered: