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 - https://data.cityofchicago.org and a
good starting point is
https://data.cityofchicago.org/Public-Safety/Crimes-2001-to-present/ijzp-q8t2
CTA Train Tracker API -
http://www.transitchicago.com/developers/traintracker.aspx
CTA Bus Tracker API -
http://www.transitchicago.com/developers/bustracker.aspx
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:
https://github.com/gwaldron/osgearth/tree/master/tests
To get a C on the project ...
- Your application should start by showing the Chicago area as
a 3D interactive environment in the CAVE
- Allow the user to easily navigate through the space, rescale
the space, rotate the space
- it should be easy to get an overview of the city
- It should be easy to fly to a particular location
- The user should be able to switch between different map
backgrounds - at minimum a map version and an aerial photo
version
- Map the major crime types from the 2013 Chicago Crime Data
onto the environment
- allow the user to filter by type of major crime
interactively
- show locations of individual crimes
- break the city into zones and show the number of crimes in
those zones
- show amount of crimes in a zone as a function of the time
of day, day of week, and season of the year
To get a B you need to add ...
- Have a menu that allows the user to jump to different
neighbourhoods quickly
- Show the data from 2001 through 2013 and allow the user to
pick a particular year or aggregate all the years
- Make appropriate use of audio in your application
To get an A you need to add ...
- Use the 2012 crime data as simulated real time data for 2013
(i.e show the data from last year at the same date and time)
as though it was happening now
- Show the CTA L lines and integrate the real-time CTA train
location feeds to show the current locations of all the CTA L
trains in the city
- Impress Me
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:
- 1 page on how to use
your application and the things you can do with it.
- 1 page on the data
you used including where you got it, what you did to it.
- 1 page with links to
the source code and any instructions necessary to install and
run it.
- 1 page on what
interesting things you found using your application.
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