gedcom_to_kepler.py - interaktive Vorfahrenkarte auf Basis der Geburtsdaten

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • dfrein
    Benutzer
    • 12.08.2024
    • 96

    #1

    gedcom_to_kepler.py - interaktive Vorfahrenkarte auf Basis der Geburtsdaten

    Liebe Forengemeinde,

    nachdem ich bisher mit meinem Vorhaben, die Herkunft unserer Vorfahren als Karte ansprechend darzustellen, kaum vorwärts kam, hatte ich nun unverhofft Erfolg und möchte das Ergebnis mit euch teilen: Meine Ziel war die Erstellung eine Karte, die mit Pfeilen die Orte und Bewegungen der Vorfahrengenerationen darstellt, auf Basis der vorhandenen Familiendatei. Nun habe ich mich durch eine KI "beraten" lassen und so das online-Tool kepler.gl entdeckt, mit dem dies ziemlich einfach möglich ist, eine entsprechende Daten-Datei vorausgesetzt. Hierfür habe ich mir von der KI die Basis für ein einfaches Python-Programm schreiben lassen, was die Daten entsprechend aufbereitet:


    Im Ergebnis entstand das beigefügte Python-Programm, welches auf Basis von etwa 200 Zeilen und mit Hilfe von zwei zusätzliche Python-Bibliotheken (für GEDCOM und openstreetmap) und der Familiendatei im GEDCOM-Format die Daten auswertet und aufbereitet. Rudimentäre Python- und Linux-Kenntnisse sind bei der Nutzung von Vorteil, aber nicht erforderlich. Sobald die Python-Umgebung mit den beiden zusätzlichen Paketen steht (siehe Beschreibung am Anfang des Python-Skriptes), müssen am Anfang der Programmdatei noch der Name der Familiendatei und die ID der Ausgangsperson angegeben werden. Beim ersten Durchlauf fragt das Programm die Ortsangaben bei nominatim.openstreetmap.org ab (und speichert diese dann in eine json-Datei). Die shell-Ausgabe des Programms sollte auf Fehlermeldungen bei der Ortszuordnung überprüft werden, und auch die erstellte json-Cachedatei nach fehlerhaften Koordinaten (mit "null" statt Koordinaten).

    Damit die Zuordnung von Koordinaten zu den Ortsnamen zuverlässig funktioniert, ist es wichtig, dass diese gut gepflegt sind (z.B. "Ort, Stadt, Kreis, Bundesland, Land" statt nur den Ortsnamen). Fehler können entweder in der json-Datei korrigiert werden, oder diese Einträge dort gelöscht und parallel die Orte in der GEDCOM-Datei überarbeitet. Beim nächsten Aufruf ergänzt dann das Programm neue Orte.

    Auf dieser Basis und mittels der Geburts- (oder Taufdaten) wird dann eine CSV-Datei für die Verwendung mit kepler.gl erstellt. Diese muss dann lediglich in die kepler.gl-Demo-Instanz "gezogen" und dort noch die Ebene "source -> target arc" für die Verbindungen auf sichtbar gestellt werden. Die Karte kann dann noch nach Belieben angepasst werden (Thema, Farben, Elemente), es bietet sich an, die Verbindungsbögen auf Basis der Generation oder des Geburtsjahrs einzufärben. Und fertig ist die interaktive Karte. Exportfunktionen gib es auch, für den Druck bietet sich ein helles Kartenthema wie "Voyager" an.

    Ich hoffe das ist verständlich erklärt und vielleicht auch für andere von Nutzen, ein interaktives Beispiel für die Ausgabe liegt als html-Datei im ZIP-Archiv.

    Gibt es Verbesserungsvorschläge? Ich hatte überlegt, auch die Sterbe- und Eheschließungsorte auszuwerten, dann hätte die Jahresangabe jedoch keine eindeutige Bedeutung mehr. Mit diesem Gedanken habe ich noch ein zweite Auswertungsprogramm erstellt, welches die Lebensstationen (Geburt, Eheschließung, Tod) für jede Person ausgibt, das kann dann als weitere Ebene dargestellt werden. Ich fand das jedoch zu unübersichtlich (und habe es daher vorerst nicht beigefügt).

    Viele Grüße
    Daniel​
    Angehängte Dateien
Lädt...