Calcul de trajet auto après scrape + recalcul local intelligent
- trajet.py : fonction couts() pure (calcul des coûts sans appel réseau) - app.py : mémorisation distance/durée/péage + adresses dans le CSV ; auto-calcul best-effort après ajout (scrape simple et en lot) ; api_distance recalcule en local si adresses inchangées, complet sinon - index.html : affichage auto du trajet en cache à l'ouverture du prospect
This commit is contained in:
19
trajet.py
19
trajet.py
@@ -75,14 +75,15 @@ def itineraire(depart, arrivee):
|
||||
return route["distance"] / 1000.0, route["duration"] / 60.0, metres_autoroute / 1000.0
|
||||
|
||||
|
||||
def calculer(adresse_depart, adresse_arrivee, conso_l_100km, prix_carburant, cout_peage_km=0.0):
|
||||
"""Estime distance, durée, coût carburant et péage (aller simple et aller-retour).
|
||||
def couts(distance_km, duree_min, km_peage, conso_l_100km, prix_carburant, cout_peage_km=0.0):
|
||||
"""Données géographiques + tarifs -> dict complet (coûts aller simple et aller-retour).
|
||||
|
||||
Calcul purement local (aucun appel réseau) : permet de réappliquer de nouveaux prix
|
||||
sur une distance déjà connue sans re-géocoder ni re-router.
|
||||
|
||||
Le péage est estimé : km d'autoroute du trajet × `cout_peage_km` (tarif moyen
|
||||
paramétrable, en €/km). Mettre 0 pour ne pas compter de péage.
|
||||
"""
|
||||
distance_km, duree_min, km_peage = itineraire(
|
||||
geocoder(adresse_depart), geocoder(adresse_arrivee))
|
||||
carburant = distance_km / 100.0 * conso_l_100km * prix_carburant
|
||||
peage = km_peage * cout_peage_km
|
||||
cout_aller = carburant + peage
|
||||
@@ -100,6 +101,16 @@ def calculer(adresse_depart, adresse_arrivee, conso_l_100km, prix_carburant, cou
|
||||
}
|
||||
|
||||
|
||||
def calculer(adresse_depart, adresse_arrivee, conso_l_100km, prix_carburant, cout_peage_km=0.0):
|
||||
"""Estime distance, durée, coût carburant et péage (aller simple et aller-retour).
|
||||
|
||||
Fait les appels réseau (Nominatim + OSRM) puis délègue le calcul des coûts à `couts`.
|
||||
"""
|
||||
distance_km, duree_min, km_peage = itineraire(
|
||||
geocoder(adresse_depart), geocoder(adresse_arrivee))
|
||||
return couts(distance_km, duree_min, km_peage, conso_l_100km, prix_carburant, cout_peage_km)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
if len(sys.argv) != 3:
|
||||
|
||||
Reference in New Issue
Block a user