Wp - v-l-m/vlm GitHub Wiki

La gestion des WP est essentielle pour définir les courses & les classements dans Vlm.

FIXME : renvoyer sur la doc du wiki documentaire ?

  • module [wiki:base base] la définition des courses (FIXME, à complèter)
  • module [wiki:moteur moteur] :
    • check_waypoint_crossing.php est chargé de vérifier le franchissement des WP
  • module [wiki:phpcommon phpcommon]
    • functions.php, les fonctions :
      • giveEndPointCoordinates() est destiné à fournir le point le plus proche de franchissement du prochain WP. (Cette fonction utilise maintenant vlm-c)
      • giveWaypointCoordinates() permet, pour un boat donné d'obtenir les coordonnées du prochain WP.

Les waypoints sont définis par la table "waypoints". Elle contient les coordonnées des waypoints de type "ligne à couper" et celles des lignes définies à partir d'un unique point. Si les couples latitude/longitude (1 et 2) désignent des points différents, alors il s'agit d'une ligne à couper. Dans le cas contraire, il s'agit d'un waypoint qui devra être laissé à un relèvement précisé dans la table "races_waypoints".

  • Copier coller rapide du SQL en pseudo doc :

       " SELECT WP.longitude1, WP.latitude1, WP.longitude2, WP.latitude2, RW.laisser_au " .
       " FROM  waypoints WP, races_waypoints RW" .
       " WHERE RW.wporder = " . $idwp . 
       " AND   RW.idraces = " . $idraces . 
       " AND   WP.idwaypoint = RW.idwaypoint ";
    
  • Cas d'un WP : long1=long2 && lat1=lat2: c'est un WP ouvert de type "Laisser au", dans ce cas, on s'intéresse à la colonne "laisser_au" de la table "races_waypoints", qui donne le gisement/relèvement du waypoint.

       (laisser au 0 signifie qu'il faut passer au sud, laisser_au 45 signifie qu'on doit passer au sud-ouest)
       dans le cas d'un waypoint de type "ligne", la colonne "laisser_au" est valorisée à 999.
    
    • libellé de la table waypoints : le champ est aujourd'hui libre,

    • champ "wptype" de la table races_waypoints : il est prévu de l'utiliser et de s'intéresser à sa valeur : ** si elle contient "IceGate", alors le traitement d'affichage des classements n'en tiendra plus compte.

      ** dans le cas contraire, pas de signification spécifique, et on note "classement" pour la plupart des WP, sauf le dernier , repéré par "Finish".