Fix public transport waypoint distance#2200
Conversation
Up to standards ✅🟢 Issues
|
f4127d6 to
39e94d3
Compare
lgourdin
left a comment
There was a problem hiding this comment.
le seul point important est le fait d'enlever max_duration_to_pt, le non respect de la limite des 5km c'est un bug de l'API, le paramètre était bien le bon (et fonctionnait dans le passé).
Sinon j'ai pas testé, mais si tu as testé et que ça donne des bons résultats alors ça me va ! Ok pour la fusion des deux passes de sélection.
PS: si tu veux tester en env de dev, je te conseille de tester sur rhone, ça consomme peu de requêtes.
| # Get walking travel time | ||
| journey_response=$(curl -s -H "Authorization: $NAVITIA_API_KEY" \ | ||
| "https://api.navitia.io/v1/journeys?to=$lon%3B$lat&walking_speed=$WALKING_SPEED&max_walking_direct_path_duration=$DURATION&direct_path_mode%5B%5D=walking&from=$stop_id&direct_path=only_with_alternatives") | ||
| "https://api.navitia.io/v1/journeys?to=$lon%3B$lat&walking_speed=$WALKING_SPEED&max_duration_to_pt=$DURATION&direct_path_mode%5B%5D=walking&from=$stop_id&direct_path=only_with_alternatives") |
There was a problem hiding this comment.
Suite à la discussion du ticket 2208 sur notre plateforme: ça c'est pas bon. C'est bien max_walking_direct_path_duration qu'il faut utiliser, seulement ça marche plus depuis les dernières versions de Navitia a priori à cause d'un bug de leur côté. En attendant, la solution est de laisser ce paramètre et de faire la vérif dans le code, comme proposé dans ce commit : 4c357f0
Le paramètre max_duration_to_pt est censé être utilisé quand le trajet inclut des transports en commun seulement a priori.
Un autre fix temporairement possible est de supprimer direct_path, mais on évite de faire ça car on perdrait la garantie que le trajet arrêt -> waypoint ne contient pas de partie en TC.
| walk_duration=$(echo "$journey_response" | jq -r '.journeys[0].duration // 0') | ||
| distance_km=$(awk "BEGIN {printf \"%.2f\", ($walk_duration * $WALKING_SPEED) / 1000}") | ||
|
|
||
| over_distance_limit=$(awk "BEGIN {print (($distance_km > $MAX_DISTANCE_KM) ? 1 : 0)}") |
There was a problem hiding this comment.
ha ben voilà on a fait plus ou moins la même chose, ça je pense qu'on peut le garder tant qu'on est pas sur de la fiabilité des résultats retournés par l'API.
| DURATION=$(echo "scale=0; $MAX_DISTANCE_WAYPOINT_TO_STOPAREA / $WALKING_SPEED" | bc) | ||
| MAX_STOP_AREA_FETCHED=$((MAX_STOP_AREA_FOR_1_WAYPOINT * 3)) | ||
| MAX_DISTANCE_KM=$(awk "BEGIN {printf \"%.6f\", $MAX_DISTANCE_WAYPOINT_TO_STOPAREA / 1000}") | ||
| # Augmenter le nombre d'arrêts récupérés pour avoir plus de choix |
There was a problem hiding this comment.
pour MAX_STOP_AREA_FETCHED: 6 fois ?
pour MAX_DISTANCE_KM: %.6f peut être pas nécessaire mais ok
There was a problem hiding this comment.
mêmes commentaires que sur le 1er fichier
No description provided.