forum Ancestrologie

Ancestrologie - Plugins et Outils => BOA => Discussion démarrée par: DDdeBerdeux le 20 Mai 2006 à 08:28:18

Titre: Option Conserver uniquement la branche de l'individu courant
Posté par: DDdeBerdeux le 20 Mai 2006 à 08:28:18
J'ai quelques doûtes sur la "portée" de la branche sélectionnée par cette option. Sur ma généalogie personnelle, elle ne garde que 2296 individus, alors que "Suppression complète d'une branche" (ou plutôt son inverse) en garde 2489 sans les témoins. La différence de 193 semble être dans des descendants d'ascendants ou de leurs conjoints, mais est difficile à cerner. J'ai en tout cas constaté que les individus manquants avaient bien un lien de parenté avec mes ascendants.

Quelqu'un d'autre a-t-il fait la comparaison?

A+

André
Titre: Option Conserver uniquement la branche de l'individu courant
Posté par: Lau le 21 Mai 2006 à 11:34:56
Cela fait longtemps que j'ai programmé cela, mais il me semble que les 2 choix ne représentent pas la même chose :

"Ne conserver les individus de patronyme..." ramènera tous les individus qui ont le patronyme choisi, qu'ils soient de la même branche ou non.

Conserver uniquement la branche de l'individu courant conservera des individus d'autre patronyme, mais lié à cet individu.
Titre: Option Conserver uniquement la branche de l'individu courant
Posté par: DDdeBerdeux le 21 Mai 2006 à 14:11:24
Bonjour,

Je ne parle pas de la sélection utilisant le patronyme, mais de la comparaison entre la méthode que tu as incorporée dans le BOA sous l'option "Conserver uniquement la branche de l'individu courant" et celle introduite par l'option "Suppression complète d'une branche" du menu Outils.

Cette dernière option est l'interface de la PROC_GROUPE. Avec

Mode= Complète

Initialisation=Oui

Témoins=Non

Stricte indifférent

Effet="Suppression des individus absents du groupe"

Les 2 méthodes devraient donner le même résultat. Mais ce n'est pas le cas, ta méthode semble oublier quelques individus.

Sans te demander de te replonger trop loin dans ton programme, pourrais-tu dire qu'elle est la prcédure stockée utilisée?

A+

André
Titre: Option Conserver uniquement la branche de l'individu courant
Posté par: Lau le 24 Mai 2006 à 21:02:49
De mémoire, c'était PROC_LR_SEL_GROUPE et PROC_LR_MIX_GROUPES.

Pour l'élagage : garder seulement les personnes de nom..., j'utilisais PROC_LR_ELAGAGE_DOSSIER
Titre: Option Conserver uniquement la branche de l'individu courant
Posté par: DDdeBerdeux le 25 Mai 2006 à 14:11:16
Bonjour Laurent,

C'est bien parce que le temps incite à rester chez soi faire de la généalogie ou du sql...

Le problème vient de PROC_LR_SEL_GROUPE.

A l'intérieur de la boucle

while ((O_NB_GENERATIONS < I_NB_GENERATIONS) and (continuer=1) do

tu vas chercher successivement les ascendants puis les descendants, en forçant "continuer" à 1 ou 0 en fonction du nombre d'individus sélectionnés à la fin de chacune des phases (ascendance puis descendance). Mais s'il n'y a plus de descendance, continuer est remis à 0, même s'il y avait une ascendance (continuer=1), arrêtant de ce fait la recherche des ascendants.

Je proposerai les modifs suivantes:

Après le WHILE initialiser continuer=0

Après chaque phase de recherche des ascendants et descendants, inverser le test en mettant:

if (NOMBRE>0) then continuer=1;

au lieu de

if (NOMBRE<=0) then continuer=0;

Es-tu OK pour que je fasse cette modif dans une prochaine maj de la base?

A+

André
Titre: Option Conserver uniquement la branche de l'individu courant
Posté par: Lau le 26 Mai 2006 à 14:51:49
Je n'ai pas vérifié, mais no problemo, André ! Tu peux faire la modif.