essaie .getAboundance() .... j'ai l'impression que Abundance est devenue Aboundance (http://api.isis-fish.org/fr/ifremer/isisfish/types/RecruitmentInput.html) Le 09/12/2021 à 15:27, dedah.ahmed-babou@ird.fr a écrit :
Merci Stéphanie pour cet appui.
En fait, ce code me retourne un bug au niveau de la ligne : MatrixND N = recruitmentInputs.get(1).getAbundance(); et ce qui m'embrouille depuis ce matin.
L'objet recruitmentInputs disponible dans l'éditeur est une instance de la classe RecruitmentInputMap et non pas de RecruitmentInput, alors que les méthodes getBiomass(), getAbundance() et getRepro() sont des méthodes de la classe RecruitmentInput.
En appliquant .get(1) à l'objet de RecruitmentInputMap je m'attend à ce qu'il me retourne un objet RecruitmentInput pour pouvoir lui appliquer getBiomass() etc. cependant l'objet retourné d'après la doc est une instance de la classe HashMap (Object) ...
Donc, j'imagine que le problème se résume dans la façon où on peut récupérer un objet de RecruitmentInput (j'ai essayé en passant par pop, mais rien encore).
Merci et à plus.
Dedah.
----- Mail original ----- De: "Stephanie MAHEVAS" <Stephanie.Mahevas@ifremer.fr> À: "isis-fish-users" <isis-fish-users@list.isis-fish.org> Envoyé: Jeudi 9 Décembre 2021 14:37:32 Objet: Re: [Isis-fish-users] Individus contribuant au rectrutement
sur le site web dans shared sripts il y a un exemple de relation stock/recrutement qui peut t'aider (http://isis-fish.org/v4/downloads/ModifRepro.java)
double nbM = recruitmentInputs.size(); // nb de mois de repro
pour tout m in {0,...,nbM-1} recruitmentInputs.get(m) contient les abondances, biomasses, et Repro du mois m de la reproduction (hhttp://api.isis-fish.org/fr/ifremer/isisfish/types/RecruitmentInput.html#rec...)
recruitmentInputs.get(m).getBiomass() (qui est une matrice groupe*zone) recruitmentInputs.get(m).getAbundance() (qui est une matrice groupe*zone) recruitmentInputs.get(m).getRepro() (qui est une matrice zone)
du coup il faut que tu boucles sur les zones pour le groupe 2 MatrixND N=recruitmentInputs.get(m).getAbundance(); List <PopulationGroup> groups = pop.getPopulationGroup(); List <Zone> zoneRepro = pop.getReproductionZone(); double NG2=0; for (Zone zone:zoneRepro){ for (PopulationGroup cr : groups){ if cr.getId()== 2 //je dirais que pour toi c'est plutot getId() car tu as des stades NG2 += N.getValue(cr,zone) } }
A faire verifier par Eric mais tu peux toujours tester
sinon, envoie ton algo et ton code associé
Steph
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
-- ...................................................................... Stephanie MAHEVAS (stephanie.mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) https://annuaire.ifremer.fr/cv/16343/ Tel: (33) 2 40 37 41 81 - 06 75 83 59 33 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................