🔬 Synopsis Technique

Le script verizon.py (V69) est un moteur ETL conçu pour la résilience extrême. Il traite les fichiers CSV Verizon en mode Bytes bruts pour contourner les erreurs d’encodage système (Windows CP1252) courantes lors des transferts FTP. Il reconstruit la logique de trajet via une segmentation cinématique et temporelle.

📚 Dictionnaire de Lignage (CRUD & Flux)

  • 📥 Sources (Read) :

    • Système de fichiers : Répertoire /var/tmp/data_import/verizon.

    • MySQL : assoamhd.jsmc_machines (Matching via Regex sur les 3 derniers chiffres de l’immatriculation).

    • MySQL : assoamhd.ref_chauffeurs (Liaison Nom/ID Conducteur).

  • 📤 Cibles (Write) :

    • MySQL : assoamhd.agg_trajets_recap.

    • Système de fichiers : Renommage des fichiers traités avec le suffixe _DONE en mode Bytes.

⚙️ Cœur Algorithmique : Segmentation & Ralenti

Le script utilise une State Machine pour décider quand « fermer » un trajet :

  1. Coupure Contact : Si le champ « Allumage » passe à OFF.

  2. Rupture GPS : Si le delta temps ($dt$) entre deux points excède 300 secondes.

  3. Ralenti Forcé (IDLE) : Si le véhicule est stationnaire (Vitesse < 3 km/h) pendant plus de 2 minutes (IDLE_FORCE_CUT_MIN).

📐 Équations & Harmonisation IPMVP

Pour garantir l’uniformité entre les sources, la vitesse est recalculée à partir de la distance segmentaire fournie par Verizon :

$$V_{inst} = \frac{\Delta Distance \cdot 3600}{\Delta Temps}$$

L’insertion en base force valhalla_processed = 0 pour garantir que chaque trajet Verizon subisse le même enrichissement cartographique que les flux API. Cela assure que la Distance Valhalla (base du calcul de gain IPMVP) est la métrique souveraine pour toutes les sources.

Retour en haut