Taxonomy Interactive – Organizing the chaos

For information aesthetics we are coding our own program which reads a dataset and displays it to the user.  I chose to collect taxonomy information from the Integrated Taxonomic Information System. The dataset I collected consists of a list of names starting with the Kingdom ‘Animalia’ down to all Genuses ( I was having trouble downloading a list which included all species, probably because it would be huge). To give more context to the dataset I manually input the levels of ‘Life’ and ‘Domain’.  Then I parsed the data ( which was .csv) into strings representing the paths which looked like:

‘Life>Eukaryota>Animalia>Chordata>Aves>Strigiformes>Oscines>Podargidae>Batrachostominae’

Which represents the taxonomic levels:

‘Life>Domain>Kingdom>Phylum>Class>Infraclass>Order>SubOrder>Genus’

The path is then interpreted and presented to the user as circles which can be moved on the screen. Right now, the placement of circles has no correlation to relationship. Just the idea that larger circles represent more abstract groups of organisms (‘Life’ followed by ‘Domain’) while smaller circles represent more defined groups ( ‘Genus’ ). When the user hovers over a circle the lowest level name of that path is displayed, while the entire path is displayed at the top of the screen.

The program you see above only runs a sample of my dataset, as the entire taxonomic list is ridiculously extensive.

So for my final…

…I decided to continue with this project. I think its great I was able to parse the data, but this isn’t really how I want to display it. I want some sort of relationship between each node and the path be evident. So my goals for the final project are to:

  • Make the ellipses into spheres, so they are more representative of a 3D space.
  • Allow the user to rotate in the 3D space.
  • Display one level at the beginning of the application, then display the contents of a level when a node is clicked (if you click the node again its contents will hide, i.e. a toggle effect).
  • Arrange the positioning of the nodes, so that appropriate nodes are within proximity of each other ( no longer random placement).
  • Check and ensure the nodes are not overlapping.

If I have time left, I might try to implement a slider that allows the user to quickly go from displaying just the ‘Life’ node to all nodes… I just really like the idea of having a center node and then others radiating out from this node. I am not sure if I want connection lines. While I think they give better context, I enjoy the chaos within the organization. Because ultimately taxonomy is just a way for us to organize and comprehend the chaos.

So to get started I went through a tutorial by Jer Thorp on Spherical Coordinates:

This image links to screenshot of me playing the interactive

This image links to screenshot of me playing the interactive

I used spheres instead of ellipses ( as he does ). I like how the nodes move along spherical paths (oppose to moving linearly in x, y, z space) and I am hoping this tutorial will help me keep the nodes realative to each other , using undrawn spheres as boundaries.

If anyone has other suggestions for how to improve the first iterative, please share :D! By the end of the semester you should see some progress.

About these ads

2 thoughts on “Taxonomy Interactive – Organizing the chaos

  1. This looks like a very cool (and complex) project! Out of curiosity, will your project only be showing extant taxa? If not, it would be interesting (but perhaps another level of complexity) to be able to click on two organisms and ‘zoom out’ to show their most recent common ancestor or ancestor group as far as we can tell. I realize, however, that this is always changing. Even the nomenclature and placement of extant fauna changes. I look forward to seeing where this goes!

    • The data-set I have is ‘hand-pruned’ but there are some data-sets available which include extinct taxa. I ideally, as long as they have the same path ( domain > kingdom > phylum > … ). When I started the project I was trying to pull from the database, and I am sure there are ways to do this each time the program rus (therefore updated as the data-set updates).

      I do like the zoom idea tho, maybe I can put that in for this time around. Thanks for the suggestions :D!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s