bonjour il semblerait que les calculs de temps de route ne soient pas corrects. Je suis allee voir la formule de plus pres. Il me semble qu'il y a une erreur. Les latitudes et longitudes sont multipliees dans la formule par 180/pi, transformation necessaire pour passer de radian en degre. Les longitudes et latitudes ne sont-elles pas deja en degre? (C'est ainsi qu'elles apparaissent dans l'interface). merci a benjamin de verifier et de faire la correction tel est le cas. bonne soiree stephanie -- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) Tel: 02 40 37 41 81 Fax: 02 40 37 40 75 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................
On Tue, 06 Jun 2006 18:49:07 +0200 Stephanie MAHEVAS <Stephanie.Mahevas@ifremer.fr> wrote:
bonjour
il semblerait que les calculs de temps de route ne soient pas corrects. Je suis allee voir la formule de plus pres. Il me semble qu'il y a une erreur. Les latitudes et longitudes sont multipliees dans la formule par 180/pi, transformation necessaire pour passer de radian en degre. Les longitudes et latitudes ne sont-elles pas deja en degre? (C'est ainsi qu'elles apparaissent dans l'interface).
merci a benjamin de verifier et de faire la correction tel est le cas.
Bonjour, Si dans les calculs que vous m'avez fourni il y a une multiplication par 180/pi alors dans mais calcul elle doit aussi y etre :) Voici le calcul complet de distance entre 2 mailles, pour moi il n'y a pas multiplication mais division par 180/pi. Nous avions verifie ce calcul avec dominique et j'avais les meme resultat qu'elle. public float distance(Maille m1, Maille m2){ double earthRadius = 6378.388; double p = 180/Math.PI; /*#if(log.isLoggable(Level.FINEST)) log.finest("p: " + p);#*/ double m1lat = m1.getLatitude(); double m2lat = m2.getLatitude(); double m1lon = m1.getLongitude(); double m2lon = m2.getLongitude(); /*#if(log.isLoggable(Level.FINEST)) log.finest( " m1lat=" + m1lat + " m2lat=" + m2lat + " m1lon=" + m1lon + " m2lonx=" + m2lon );#*/ double m1lat_div_p = m1lat/p; // <------ ici on divise par p qui est 180/pi double m2lat_div_p = m2lat/p; double m1lon_div_p = m1lon/p; double m2lon_div_p = m2lon/p; /*#if(log.isLoggable(Level.FINEST)) log.finest( " m1lat_div_p=" + m1lat_div_p + " m2lat_div_p=" + m2lat_div_p + " m1lon_div_p=" + m1lon_div_p + " m2lon_div_p=" + m2lon_div_p );#*/ double sin_m1lat_div_p = Math.sin(m1lat_div_p); double sin_m2lat_div_p = Math.sin(m2lat_div_p); double cos_m1lat_div_p = Math.cos(m1lat_div_p); double cos_m2lat_div_p = Math.cos(m2lat_div_p); /*#if(log.isLoggable(Level.FINEST)) log.finest( " sin_m1lat_div_p=" + sin_m1lat_div_p + " sin_m2lat_div_p=" + sin_m2lat_div_p + " cos_m1lat_div_p=" + cos_m1lat_div_p + " cos_m2lat_div_p=" + cos_m2lat_div_p );#*/ double cos_m1lon_div_p_minus_m2lon_div_p = Math.cos(m1lon_div_p - m2lon_div_p); /*#if(log.isLoggable(Level.FINEST)) log.finest( " cos_m1lon_div_p_minus_m2lon_div_p=" + cos_m1lon_div_p_minus_m2lon_div_p);#*/ double acos = Math.acos( sin_m1lat_div_p * sin_m2lat_div_p + cos_m1lat_div_p * cos_m2lat_div_p * cos_m1lon_div_p_minus_m2lon_div_p ); /*#if(log.isLoggable(Level.FINEST)) log.finest( " acos=" + acos);#*/ double result = earthRadius * acos; return (float)result; } -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
le probleme ne doit pas venir de la car les latitudes et les longitudes ne sont pas multipliées mais bien divisées par 180/Pi (dans l'equation) : ce qui revient donc a transformer des degres en radians. a suivre Stephanie MAHEVAS a écrit:
bonjour
il semblerait que les calculs de temps de route ne soient pas corrects. Je suis allee voir la formule de plus pres. Il me semble qu'il y a une erreur. Les latitudes et longitudes sont multipliees dans la formule par 180/pi, transformation necessaire pour passer de radian en degre. Les longitudes et latitudes ne sont-elles pas deja en degre? (C'est ainsi qu'elles apparaissent dans l'interface).
merci a benjamin de verifier et de faire la correction tel est le cas.
bonne soiree stephanie
-- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) Tel: 02 40 37 41 81 Fax: 02 40 37 40 75 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................
Bonjour, il semble y avoir un problème supplémentaire dans le calcul du numberOfTrips dans 'strategie' car il ne prend pas en compte les temps d'inactivité entre les sorties en mer: tripType: *semaine (5jours en mer/2jours) il trouve 6 trips dans le mois (=> 30/5...) *journee (1jour en mer/0.4jour) il trouve 30 trips (30/1...) a suivre Stephanie MAHEVAS a écrit:
le probleme ne doit pas venir de la car les latitudes et les longitudes ne sont pas multipliées mais bien divisées par 180/Pi (dans l'equation) : ce qui revient donc a transformer des degres en radians. a suivre
Stephanie MAHEVAS a écrit:
bonjour
il semblerait que les calculs de temps de route ne soient pas corrects. Je suis allee voir la formule de plus pres. Il me semble qu'il y a une erreur. Les latitudes et longitudes sont multipliees dans la formule par 180/pi, transformation necessaire pour passer de radian en degre. Les longitudes et latitudes ne sont-elles pas deja en degre? (C'est ainsi qu'elles apparaissent dans l'interface).
merci a benjamin de verifier et de faire la correction tel est le cas.
bonne soiree stephanie
-- -------------------------------------------------------- François Bastardie French Research Institute for the Development of the Sea (IFREMER) Ecologie et Modèles pour l'Halieutique Rue de l'Ile d'Yeu BP 21105 44311 NANTES Cedex 03 - France Tél : 02 40 37 41 64 Fax : 02 40 37 40 75 E-mail : francois.bastardie@ifremer.fr
participants (3)
-
Benjamin POUSSIN -
Francois.Bastardie@ifremer.fr -
Stephanie MAHEVAS