Open Mind-the-Cap opened 5 months ago
Attention: Patch coverage is 30.05671%
with 370 lines
in your changes are missing coverage. Please review.
Project coverage is 74.64%. Comparing base (
52276bf
) to head (aff4a02
).:exclamation: Current head aff4a02 differs from pull request most recent head 74ce0ae. Consider uploading reports for the commit 74ce0ae to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@FlxPo j'ai cette erreur en faisant tourner l'exemple trip_localizer
:
2024-02-28 10:53:23.175 INFO Clustering network vertices...
Traceback (most recent call last):
File ~\AppData\Local\miniforge3\envs\mobility\Lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)
File c:\users\dubrocac\documents\github\mobility\examples\trip_localizer\example.py:25
loc_trips = mobility.LocalizedTrips(trips)
File ~\Documents\GitHub\mobility\mobility\localized_trips.py:20 in __init__
car_travel_costs = TravelCosts(transport_zones, "car")
File ~\Documents\GitHub\mobility\mobility\travel_costs.py:54 in __init__
super().__init__(inputs, cache_path)
File ~\Documents\GitHub\mobility\mobility\asset.py:45 in __init__
self.get()
File ~\Documents\GitHub\mobility\mobility\asset.py:76 in get
asset = self.create_and_get_asset()
File ~\Documents\GitHub\mobility\mobility\travel_costs.py:83 in create_and_get_asset
costs = self.dodgr_costs(transport_zones, graph)
File ~\Documents\GitHub\mobility\mobility\travel_costs.py:131 in dodgr_costs
costs = pd.read_parquet(self.cache_path)
File ~\AppData\Local\miniforge3\envs\mobility\Lib\site-packages\pandas\io\parquet.py:503 in read_parquet
return impl.read(
File ~\AppData\Local\miniforge3\envs\mobility\Lib\site-packages\pandas\io\parquet.py:244 in read
path_or_handle, handles, kwargs["filesystem"] = _get_path_or_handle(
File ~\AppData\Local\miniforge3\envs\mobility\Lib\site-packages\pandas\io\parquet.py:102 in _get_path_or_handle
handles = get_handle(
File ~\AppData\Local\miniforge3\envs\mobility\Lib\site-packages\pandas\io\common.py:865 in get_handle
handle = open(handle, ioargs.mode)
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\dubrocac\\.mobility\\data\\projects\\97b07ce9913cc025ed6e5d2037bcf9e8-dodgr_travel_costs_car.parquet'
Est-ce que ça te dit quelque chose ?
Le fichier 97b07ce9913cc025ed6e5d2037bcf9e8-dodgr_travel_costs_car.parquet devrait être généré par la fonction dodgr_costs de la classe TravelCosts, qui est appelée ici dans la classe LocalizedTrips.
Les bugs dans R n’arrêtent pas l’exécution du code, donc tout continue comme si le fichier de sortie du script R allait être disponible ensuite. Il faudrait probablement tester que le fichier existe bien et stopper le code si ce n'est pas le cas.
Tu peux modifier la classe RScript ici pour logger tout l'output de R et vérifier que le code s’exécute bien. On pourrait ajouter une variable d'environnement "MOBILITY_LOG" et ajuster le niveau de verbosité en fonction (debug, warn, info...).
L'erreur R que je vois en faisant ça est :
2024-02-28 17:07:52.335 INFO Error in sample.int(m, k) : invalid first argument
2024-02-28 17:07:52.336 INFO Calls: [ ... [.data.table -> cluster_vertices -> kmeans -> sample.int
2024-02-28 17:07:52.336 INFO Execution halted
C'est lié au fait que dans la vertices_table
qui est préparée, toutes les transport_zone_id
sont NA. J'ai l'impression que cela vient du spatial join qui semble ne pas fonctionner chez moi : https://github.com/mobility-team/mobility/blob/baf83ec9b103c62939e73c7393592f2ac84cd64d/mobility/prepare_dodgr_costs.R#L35
@FlxPo : codes INSEE testés : 25307, 64102, 64546
@FlxPo avant de faire le st_join à la ligne indiquée, en faisant tourner le code sur le code INSEE 64256
avec un rayon de 10 km, j'ai :
vertices
2024-03-05 18:11:52.102 INFO id component n geometry
2024-03-05 18:11:52.102 INFO 1 2955548371 1 0 POINT (833418.8 6518730)
2024-03-05 18:11:52.103 INFO 2 1635859109 1 1 POINT (839384.7 6502962)
2024-03-05 18:11:52.103 INFO 3 443697815 1 2 POINT (839277.7 6502921)
2024-03-05 18:11:52.104 INFO 4 3868074749 1 3 POINT (845827.8 6522287)
2024-03-05 18:11:52.104 INFO 5 346678567 1 4 POINT (852843.4 6521450)
2024-03-05 18:11:52.104 INFO 6 3060622108 1 5 POINT (852832.6 6521547)
2024-03-05 18:11:52.105 INFO 7 910391477 1 6 POINT (834128.1 6531371)
2024-03-05 18:11:52.105 INFO 8 910391518 1 7 POINT (834133.5 6531305)
2024-03-05 18:11:52.106 INFO 9 279631461 1 8 POINT (849148.6 6515121)
2024-03-05 18:11:52.106 INFO 10 298632265 1 9 POINT (849175 6515057)
transport_zones
:
2024-03-05 18:11:52.127 INFO 1 0 64134 Bonloc city R
2024-03-05 18:11:52.127 INFO 2 1 64147 Briscous city R
2024-03-05 18:11:52.128 INFO 3 2 64160 Cambo-les-Bains city B
2024-03-05 18:11:52.128 INFO 4 3 64255 Halsou city B
2024-03-05 18:11:52.128 INFO 5 4 64282 Jatxou city B
2024-03-05 18:11:52.129 INFO 6 5 64256 Hasparren city I`
Ensuite il y a le st_join et ça ne se passe pas très bien :
2024-03-05 18:11:52.505 INFO id component n 2024-03-05 18:11:52.505 INFO id component n transport_zone_id admin_id name admin_level
2024-03-05 18:11:52.505 INFO 1 2955548371 1 0 NA <NA> <NA> <NA>
2024-03-05 18:11:52.506 INFO 2 1635859109 1 1 NA <NA> <NA> <NA>
2024-03-05 18:11:52.507 INFO 3 443697815 1 2 NA <NA> <NA> <NA>
2024-03-05 18:11:52.508 INFO 4 3868074749 1 3 NA <NA> <NA> <NA>
2024-03-05 18:11:52.508 INFO 5 346678567 1 4 NA <NA> <NA> <NA>
2024-03-05 18:11:52.509 INFO 6 3060622108 1 5 NA <NA> <NA> <NA>
2024-03-05 18:11:52.509 INFO 7 910391477 1 6 NA <NA> <NA> <NA>
2024-03-05 18:11:52.510 INFO 8 910391518 1 7 NA <NA> <NA> <NA>
2024-03-05 18:11:52.510 INFO 9 279631461 1 8 NA <NA> <NA> <NA>
2024-03-05 18:11:52.511 INFO 10 298632265 1 9 NA <NA> <NA> <NA>
Manifestement que des NA dans transport_zone_id, puisqu'après le !is.na ça donne 2024-03-05 18:11:52.682 INFO Empty data.table (0 rows and 5 cols): id,transport_zone_id,area,X,Y
J'imagine que c'est ça qui cause l'erreur ensuite, mais il va sans dire que je ne suis pas sûre de moi sur ce coup.
@Mind-the-Cap Je viens de faire un commit avec plusieurs corrections :
Ca tourne sur mon poste pour les communes 25307, 64102, 64546, 69382.
Deux ajouts parmi ceux décrits dans https://github.com/mobility-team/mobility/issues/83
Ajout de code R pour gérer les zones de transport.