Project 1 - Somebody's Watching Me

Due Monday 9/23 at 8:59pm Chicago time

The purpose of this project is to give you experience using high-resolution large format display to view a single large dataset - in this case data about the Chicago area.

For this project you will use OmegaLib and osgEarth to display data about the Chicago area in CAVE2. You will create a 3D environment in the CAVE and map data onto that environment.

You have been given the assignment of creating the crime computer for Chicago's new resident superhero. Da-El came to Earth from a highly sophisticated alien world with a clean and modern public transit system. Using the name χ-guy ("chi-guy"), Da-El fights a never ending battle for truth and justice, and always takes the CTA instead of flying or driving in the city.

Some data sources to get you started:

City of Chicago Data Portal - and a good starting point is
CTA Train Tracker API -
CTA Bus Tracker API -
The Rail and Bus routes are available in the KML files if you parse the files manually

and a nice place to look for osgearth sample files:

To get a C on the project ...

To get a B you need to add ...

To get an A you need to add ...
Also note that there is a big difference between getting something working and getting it working well. The first is not that hard. The second takes much more time. You are expected to have things working well.

Here is some omegalib code to get you started. This code loads in a list of latitude and longitude locations for the CTA L stops and displays them on osgEarth using omegalib in the cave.

and if you are interested, here is some simple code to start off with the entire planet.

There is a data component to the project - grabbing the static data and getting access to the dynamic data, then filtering it, and getting it into a form that can be visualized efficiently. Then there is the visualization and interaction component. These two parts affect each other, so its a good idea to work on them both in parallel.

I will be holding office hours after class in the cave so people will have some time to test out your work. These sessions tend to get very busy near the deadline so its a good idea to start early.

To turn in your project you should set up a web page with several pages describing your work, including the well-commented source code and required files to be able run your program in the cave, and some photographs showing what your application looks like when its running. You should then email andy with the location of this website before the deadline. It would probably be a good idea to put a backup copy of the web page at a second website just in case I can't get to the first one.

These webpages should include:

all of which should have plenty of screenshots or photographs with meaningful captions.

Be sure to document any external libraries or tools that you make use of - give credit where credit is due.

You should also create a 2-3 minute YouTube video in the CAVE showing your application running and feature the video prominently on your project webpage. The video should be narrated and rehearsed to show off the important features of your project.

Remember that this website may be useful to you later on when you are looking for a job and want to show off the projects you have done.

When you send andy the location of your webpage you should also email a scaled down version of your favorite photo that is 320 pixels wide by 240 pixels tall in jpg format named p1.<your_last_name>.jpg. This image will be used on the class web pages along with the link to your project web page.

Each student will also give a short demonstration about your project in-class and answer some questions about your work. Be sure to practice your presentation so you finish within the allotted time so everyone has equal time to present.

last revision 9/5/13 - updated the downloadable sample files MAP.tar.gz and EARTH.tar.gz