Rusian genealogy

Maintained by: Christian Raffensperger ( and David J. Birnbaum ( [Creative Commons BY-NC-SA 3.0 Unported License] Last modified: 2017-06-05T14:54:04-0400 About this site:

Introduction | About | Browse | Query | Sources | Family Trees | Maps

Family tree generation

The next enhancement planned for this project is a facility to generate on demand a graphical family tree for any individual within the genealogical database. Given certain user-specified parameters (the individual at the center of the tree and the number of generations up and down), a custom-designed algorithm is able to draw the appropriate family tree and present it to the user. This family tree allows for visual display of the data, while simultaneously enabling navigation throughout the project as well; clicking on the name of an individual on the family tree takes the user to the information profile of that person.

This system is still in development as of May 2012, though the program has produced highly promising results already. The code, programmed primarily by Jacob Deitloff, was presented as a final presentation for the University of Pittsburgh First Experiences in Research spring 2012 symposium. However, development of this tool is ongoing.

Below are some example tree generations as produced by the program:

  1. Sviatoslav Igorich. An example of a fairly large family tree graph, displaying the scalability of the program thus far. (1 generation up, 2 generations down)
  2. Mieszko of Poland. A demonstration of a family tree containing a number of generations but that manages to stack properly. (2 generations up, 2 generations down)
  3. Sofia Iaroslavna. A larger family tree displaying the problem with overly-horizontal family trees, which the program will need to address by staggering the members of the generation. This family tree has a female focal point, displaying the program’s ability to function properly given a male or female focus point. (2 generations up, 2 generations down)

It is our hope to continue to develop this program and remove a number of rendering bugs, as well as further the code and the capabilities of the program. The most immediate goals include: