Jump to content
Virtual Regatta Club House

Créer un routeur en python (ou pas).


bref.

Recommended Posts

Bonjour tout le monde, après 3 ans passés  sur VR, j'ai envie de m'essayer à créer un routeur pour la voile virtuelle, c'est une idée encore fraîche et j'ai pas beaucoup d'informations ni d'idées concrètes sur comment en créer un à part quelque petites choses d'où l'idée de ce post pour peut être avoir de petites idées.

Les seules choses que j'ai pour l'instant ("On" est une amie qui s'y connaît un peu mais pas en python) :

-On m'a dit que c'était une bonne idée de le coder en Python, je suis en train d'apprendre, j'ai la base des bases (je ne suis pas modeste en disant ça).

-On m'a expliqué comment fonctionne en gros un routeur (je m'en doutais mais c'est ça de pris), je prend mon point de départ, j'applique la polaire en 360deg. et je sais desormais où je peux être au mieux 1h plus tard, je prends plusieurs points de l'isochrone et je recommence, ensuite je fais un chaînage avec tout les meilleurs points et j'obtiens un routage en gros

Je fais ce post pour savoir si quelqu'un à des idées concrètes de code python ou justement pas en python, je prend tout, je prend littéralement n'importe quelle info qui puisse m'aider de près ou de loin, tant que c'est bienveillant, mon but est d'avoir le plus d'informations possibles autour de la création d'un routeur en nav virtuelle.

Merci d'avance à ceux qui prendront le temps de répondre 😄

Link to comment
Share on other sites

Non, c'est pas parce que on connaît un langage informatique que tout d'un coup je vais faire, "Ah bah oui c'était logique, ben voyons, maintenant je vais coder zezo, hop, voilà".

Pas mal de gens s'y connaissent vraiment bien en routeur et il y en a même qui en ont déjà fais un sur ce forum. Je vais enlever python du titre parce que ça effraye j'ai l'impression.

Tout ce que je cherche c'est un endroit par où commencer, genre une piste, dans mon post je ne pouvais pas être plus clair, je ne connais que très peu d'informations au sujet de la création des routeurs virtuels, et même si j'étais un dieu en python ou en je ne sais quoi (j'ai parlé du python parce que on m'en a parlé rien de plus) je ne saurais pas comment on fait pour en faire un concrètement.

Si personne ne peut m'aider, dommage, m'enfin, je suis assez sûr que beaucoup de gens sur ce forum pourrait m'aider.

Merci pour ta réponse franck.

J'arrive pas à changer le titre, tant pis.

Link to comment
Share on other sites

Je pense que Python est le meilleur langage de programmation pour ce que tu veux faire. Je te conseille de regarder  les extensions de Python suivantes:

-PyGrib www.pypi.org/project/pygrib/ qui permet de lire les fichiers GRIB

-Basemap www.matplotlib.org/basemap/ pour tracer les isochrones

et Scipy.

Ce projet contient des informations et explications très utiles www.github.com/erikson1970/SuperSailor

Bonne chance

Link to comment
Share on other sites

Bonjour,

Je me suis fait un routeur en Python, le principe est bien celui que tu indiques, mais si tu es débutant en python la route est longue d'autant plus que certains modules ne fonctionnent bien que sous linux. Il vaut mieux également avoir des bonnes bases en math.

Le principe est bien celui que tu indiques il faut   

Charger les gribs sur NOAA de manière automatique.

Récupérer les polaires et les transformer sous un format lisible par ton programme 

Calculer les déplacements a partir des polaires   en faisant a chaque fois des interpolations à la fois pour les calculs de vent ( interpolation en trois dimensions )et de polaires.

Eliminer a chaque iteration les points en surnombre ( si tu calcules 100 caps par point d'isochrone sur 200 points, tu as 20000 calculs de polaires et de deplacement à faire qu'il faut ensuite ramener à 200 )  

Calculer des isochrones jusqu'à ton point d'arrivée

Estimer ton point le plus près à l'arrivée.

refaire le chemin à l'envers pour avoir ta route 

tracer le tout sur une carte et le mettre éventuellement sur un serveur   (HTML et javascript ) 

Le tout en optimisant à fond les calculs pour éviter que ça ne prenne 3 heures de calcul.

 

Pour ma part pour exploiter les gribs, je me suis servi de cfgrib et xarray, je fais une grosse utilisation de numpy et j'affiche les resultats sur un serveur web avec flask en utilisant  leaflet ou folium pour la cartographie. ( pour info j'avais commencé avec pygrib et basemap mais regarde plutôt cfgrib/xarray et folium )

Voila si je ne t'ai pas fait peur, tu peux y aller la démarche est passionnante et tu apprends beaucoup de choses. Pour te rassurer au debut je n'étais pas extrêmement fort en python mais j'ai beaucoup appris.

 

 

  • Like 1
Link to comment
Share on other sites

Désolé pour le retard de mon remerciement (j'ai pas trop regardé le forum ces derniers jours), merci beaucoup pour tes précisions, je suis en train de le coder ce routeur, à commencer par l'affichage des polaires (c'est déjà du boulot pour un débutant), je vois déjà que je progresse jour à jour, recherches par recherches, effectivement.

Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...