Project 1

Shake, Rattle and Roll

For the first visualization project you will be looking at earthquake hypocenter data.

If you took 491 (424) last term then you looked at this data in 2D. Here we will look at it in 3D so the user will be able to see the magnitude of the quakes and their location under the surface of the Earth.

The data we will use in this project comes from the US Geological Survey's Global Earthquake Search site at

If you ask for spreadsheet format data from the USGS/NEIC (PDE) from 1973 to present you will get a 30 megabyte comma separated list of quakes that starts with:

Year, Month, Day, Time( UTC, Latitude, Longitude, Magnitude, Depth
  1973,01,01,034609.80, -9.21, 150.63,5.3, 41
  1973,01,01,052229.80,-15.01,-173.96,5.0, 33
  1973,01,01,092857.20,-22.16, -65.79,4.8,205

There are over 620,000 earthquakes in this file but some do not have a magnitude so you should filter out all of the lines that are not complete. This should leave you with about 500,000 lines of data.

You will use vtk in connection with a user interface toolkit of your choice to implement the project. You will need to be able to show this app in the classroom so be sure you have it running on an appropriate machine.

The application you develop should help the user investigate questions about earthquakes so you shouldn't be thinking of the application as the end product but as a means to get to the end product, which is knowledge, so its important that ypour application be easy to use and produce visualizations that are easy to understand. One of the requirements to get an A is to use your tool to find some interesting things in the dataset.

You can store the data in any way you prefer that gives you sufficient performance AND is sufficiently portable that andy can easily make your application run on his hardware. Databases are fine, on line storage is fine, flat files are fine.

You may want to also look into some map conversion algorithms since you have data in latitude and longitude.

For a C you should

For a B in addition you should
For an A in addition you should
You might also want to investigate writing an application that runs in 3D (the easy way being to do a left and right stereo pair where you duplicate the user interface but slightly offset the cameras in the two 3D views) as this data looks very nice that way.

You should create a set of web pages that describe your work on the project. This should include:
all of which should have plenty of screenshots with meaningful captions.

You should also create a 2-3 minute youtube video showing the use of your application including narration with decent audio quality, and that video should be linked to your main project web page.

I will be linking your web page to the course notes so please send me a 320 x 240 jpg photo of your visualization for the web. This should be named p1.<your_last_name>.jpg. Web pages like this can be very helpful later on in helping you build up a portfolio of your work when you start looking for a job.

Each student will bring his / her visualization to class to present it and describe its features to the rest of the class. This allows everyone to see a variety of solutions to the problem, and a variety of implementations.

last revision 1/16/11