Comme je n’arrivais pas à créer les « cartes Généalogiques » que je souhaitais avec le logiciel Heredis, j’ai regardé comment je pouvais faire autrement.
Ce document est donc un tutoriel destiné à ceux qui utilisent Heredis comme logiciel de généalogie. Plus précisément la version Heredis 2018 ou 2020.
Mais le tutoriel s’appliquera à toutes les versions Heredis et à tous les logiciels de généalogie qui offre un export des données au format SQLite. Il vous faudra néanmoins probablement adapter les requêtes au modèle de données de la version.
A noter que dans Heredis 2018, l’onglet « Histoire / Migrations » permet d’afficher sur une carte les personnages liés à un individu, sur 4 générations (personnage, enfants, parents, grands-parents).

Pour ma part, je souhaitais avoir sur une même carte :
– tous les événements de type naissance de mes ascendants sosa, quelque soit le nombre de générations,
– un marqueur par ascendant, permettant d’afficher les informations le concernant,
– la possibilité de filtrer la carte par génération.
Vous pouvez voir cette carte des naissances en bas de cette page.
Les étapes du tutoriel sont les suivantes :
1/ Export des données sous la forme d’une base SQLite.
2/ Exécution de requêtes SQL sur la base pour produire, sous la forme d’un fichier au format csv, des données tabulées.
Le tableau devant contenir une colonne latitude et une colonne longitude pour pouvoir afficher, sur une carte, les résultats sous la forme de marqueurs.
Pour cela le tutoriel suggère l’installation du logiciel gratuit de lecture d’une base SQLite DB Browser for SQLite
3/ Affichage sur une carte uMap, des événements de type naissance sous la forme de calques. Chaque calque contenant les naissances d’une génération d’ascendants sosa.
L’utilisation d’une carte uMap nécessite la création gratuite d’un compte uMap
NB 1: Certains logiciels disposent de fonctions d’export au format .csv. Dans ce cas les étapes 1/ et 2/ du tutoriel ci-dessus sont inutiles. Utiliser ces fonctions d’export plutôt que de mettre au point de complexes requêtes SQL. Assurez-vous néanmoins d’avoir, dans ces données exportées, les informations de localisation (latitude, longitude).
NB 2: La version Heredis 2019, avec le nouveau module des listes paramétrables (qui n’existe pas en version 2018) permet semble-t’il davantage d’exports au format CSV ou même Excel. Si vous utilisez cette version, seule l’étape 3 du tutoriel, avec la création de la carte uMap et la mise en forme des calques vous intéressera vraiment.
En complément de la carte des naissances, le tutoriel présente également :
– une carte des mariages
Cette carte montre tous les lieux de mariage sur plusieurs générations.
En désignant un marqueur, on obtient les informations sur le mariage (date, ville) mais aussi sur l’époux (nom/prénoms, âge, profession, n°Sosa) et l’épouse.
Le menu de gauche permet d’ Afficher / Masquer les différentes générations.
– une carte carte NPMD (Naissance Parents Mariage Décès)
Cette carte montre tous les lieux de naissance sur plusieurs générations.
En désignant un marqueur, on obtient les informations sur la naissance (date, lieu), la profession, les Parents (Nom, Prénoms), le ou les Mariage(s) (date, lieu), le ou les conjoint(s), le nombre d’enfants par mariage, le Décès (date, lieu) d’un individu.
Le menu de gauche permet d’ Afficher / Masquer les différentes générations.
Cartes généalogiques
Version 1.4 – 6 Février 2020 – 31 pages – 3.5 Mo
Cartes généalogiques
– Historique des versions –
Version 1.3 – 26 Janvier 2020 – (4 téléchargements)
Version 1.2 – 17 Décembre 2019 – (non publiée)
Version 1.1 – 29 Octobre 2019 – (117 téléchargements)
Version 1.0 – 28 octobre 2019 – Version initiale. (8 téléchargements)
Voici la carte des naissances produite à l’issue du tutoriel :
N’hésitez pas à zoomer ou à cliquer sur un marqueur pour voir le détail des naissances.
Voici la carte des mariages présentée dans le tutoriel :
N’hésitez pas à zoomer ou à cliquer sur un marqueur pour voir le détail des mariages.
Voici la carte NPMD (Naissance Parents Mariage Décès) présentée dans le tutoriel :
N’hésitez pas à zoomer ou à cliquer sur un marqueur pour voir le détail des individus.
N’hésitez pas à me faire part de vos remarques pour enrichir / améliorer ce tutoriel.
— Publié le 28 octobre 2019 —
ST LOUIS JC
Bonjour, merci pour ces requêtes !
Pour éviter les doublons dans les zones concaténées de la la carte NPMD (Naissance Parents Mariage Décès), j’ai modifié votre requête comme suit (naissance) :
j’ai remplacé (Evenements.EventType = 4 OR Evenements.EventType = 8) par (Evenements.EventType = 4 OR
(Evenements.EventType = 8 AND NOT EXISTS (SELECT NULL FROM Individus I, Evenements E
WHERE I.CodeID = NumerosSosa.CodeIndi
AND E.CodeProprietaire = Individus.CodeID
AND E.EventType = 4)))
et pour les (décès) :
(Evenements.EventType = 6 OR
(Evenements.EventType = 12 AND NOT EXISTS (SELECT NULL FROM Individus I, Evenements E
WHERE I.CodeID = NumerosSosa.CodeIndi
AND E.CodeProprietaire = Individus.CodeID
AND E.EventType = 6)))
Cordialement, JC
Philippe SURMELY
Bonjour,
vous trouverez ci-dessous la requête SQL NPMD corrigée (quelques noms de champ à modifier). Pour les mariages, j’ai également rajouté les ‘autres unions’ dont le code est 69.
[EDIT] Requête SQL supprimée pour alléger le commentaire. La requête est disponible dans le document PDF. [/EDIT]
Cordiales salutations
ToutesLatitudes
Un grand merci pour votre contribution.
Pour alléger les commentaires, je supprime la requête SQL du commentaire et je la reporte dans le document.
Philippe SURMELY
Bonjour,
vous trouverez ci-dessous la requête SQL mise à jour pour HEREDIS 2020. Plusieurs noms de champ ont été modifiés dans la nouvelle mouture. J’ai également rajouté des tests sur les champs Latitude et Longitude pour éliminer ceux qui sont vides ainsi qu’un test sur les lieux définis par un ? car dans ce cas l’import dans umap génère une erreur ‘fatale’.
SELECT NumerosSosa.XrefIndividu as « Code Indi », NumerosSosa.SosaNumStr as « Sosa Num »,
NumerosSosa.Generation as « Generation », Noms.Nom as « Nom », Individus.Prenoms as « Prénoms » ,
Evenements.TriTypeUCD as « Evenement » , Evenements.DateGed as
« Date », Lieux.Ville as « Ville », Lieux.latitude as « Latitude », Lieux.longitude as « Longitude »
FROM NumerosSosa
LEFT OUTER JOIN Individus ON Individus.CodeID = NumerosSosa.XrefIndividu
LEFT OUTER JOIN Noms ON Noms.CodeID = Individus.XrefNom
LEFT OUTER JOIN Evenements ON Evenements.XrefIndividuProprio = Individus.CodeID
LEFT OUTER JOIN Lieux ON Lieux.CodeID = Evenements.XrefLieu
WHERE (Evenements.EventType = 4 OR Evenements.EventType = 8 ) AND (NumerosSosa.Generation = 2) AND (Lieux.latitude IS NOT NULL) AND (Lieux.longitude IS NOT NULL) AND (Lieux.Ville != ‘?’)
ORDER BY NumerosSosa.SosaNumStr
Cordiales salutations
ToutesLatitudes
Merci pour votre contribution.
Comme j’ai mis au point une requête SQL permettant d’afficher simultanément les informations de naissance/parents/mariage/décès d’un individu j’ai prévu de rédiger une mise à jour du document. J’en profiterai pour proposer les requêtes pour H2020.