A4-SushrutPavanaskarDavidZats

From CS 294-10 Visualization Sp10

Jump to: navigation, search

For this assignment, we decided to use the same data as Sushrut used in his earlier assignment. We wanted to work on the difficulties he faced because of the volume of the data and wanted to create a more meaningful and accessible visualization which will help the users get the required piece of information quickly without going through enormous tables.

Data: Our data is a US Department of transportation data sheet published for the third quarter of 2009. This table, table 6, located on this page lists all the airport-airport pairs of US domestic air travel market which carry at least 10 passengers per day between them. There are approximately 6000 records. Each record has the number of one-way passenger trips per day, the nonstop distance, the average market fare, and identifies the airlines with the largest market share and the lowest average fare; market share and average fares are provided for both airlines. Average fares are average prices paid by all fare paying passengers. Definitions for the column headings and other related information about the table are located at here.

Story: Manually sorting through the table would be unmanageable because the user would have to look through 6000 rows. Additionally the user will be interested only in a couple of rows of the table and will mostly be concerned with the fare columns. We wish to present exactly that data to the users, easily. Users can view either complete information about a particular sector (route) of interest, or, they can find out a fare based source or destination if they are planning budget air-travel and are flexible about destinations.

To achieve our goal, we plan to make a flash-based visualization in FLARE.

Description:

Our visualization will start with a map of the country and will have major cities in each state already shown. The visualization will always have two input fields as seen and one slider. Input fields will be for the airport codes of source and destination and the slider will be for average fares. We will make the visualization as interactive as possible, i.e. as each letter is entered into an input field, we will appropriately restrict the set of visible routes.

Initially it will be seen as:

When the user inputs the first airport code, all the flights originating from that airport will be seen as lines between those two airport locations. These lines will have a color encoding depending on the airline which has largest market share and lowest fare. So this will look as follows. The lines will be filtered if the slider for average fare is moved.

Later if the user specifies second airport location then only that route will be seen as a single line. When hovered around that line additional information about that route will be seen in a pop-up box as indicated below. This information will come from the data sheet. Optionally a user planning a vacation with predefined fare limit can simply specify the origin city and then adjust the fare slider to see all those air travel routes from that airport (as lines) within that specified fare range.

About the technology to implement: We were inspired by the employment visualization that was developed in FLARE. We believe our fileset is small enough to be implemented using normal file parsing techniques. To make the visualization look aesthetically pleasing, we will also attempt to make use of the Google Maps API available for flash.

Map courtesy Department of Geography, University of Alabama.


Part II

Final Visualization

Our final visualization is located here: [1]. The visualization works almost intuitively. The initial screen shows the whole data set that we chose for this assignment. Thus, it shows all 6378 flight routes in the domestic US market (as reported to DOT in the 3rd quarter of 2009). As mentioned earlier, all of the reported routes carry at least 10 passengers per day.

Our aim was to provide users with the flexibility of choosing to see air travel routes with a sense of fare. Thus the slider below initially permits all routes to be shown. User can then type in the first airport code. As the user starts typing, our visualization filter starts removing routes not belonging to the airports of interest. The airport filter works letter by letter and so if a user starts typing OAK but has typed only O, then all the airports with O remain visible with attached routes but all others vanish. Finally after typing OAK, just the routes from Oakland are seen. This can be seen in the three screen-shots below.

Further, after zeroing down to OAK, if user wants to see how many routes are below USD200 round-trip, then (s)he can set the slider to 200 and the fares higher than that will not be displayed. This is seen below.

In another scenario, a curious traveler can find out all those routes that are under a particular budget etc. It can be seen that initially the lower fare routes are constrained to western and eastern parts of the country before the transcontinental routes start showing up.

An interesting set of screen shots is reproduced below showing all the possible routes from SEA, Washington as the fare slider is increased from 100 to 400 dollars. Such an interactive exercise helps show that longer routes do in fact cost more and provides the ability to pin-point anomalous routes which cost more or less than expected. More generally, this provides an example of how the user can quickly make sense of a large dataset.

Changes

We have made a few changes to the look and feel of the actual visualization as we proposed above. Some of them were owing to practical limitations in terms of time and some were mere cosmetic. We have not implemented one small part of the proposed visualization (displaying a route information window) for lack of time. Cosmetic changes include not using the Google Maps API and instead using a flattened map of the country so that every airport's Longitude and Latitude could be easily converted into the Cartesian coordinate system employed in Flash (i.e. pixel location). The airport locations were obtained from an external source: [2].

Development Process

Use of FLASH and FLARE As mentioned earlier, we used a combination of Flare and Flash in order to create our visualization. In general, both of these toolkits were very useful and provided the ability for us to create visualizations using relatively few lines of code. However, we spent significant amounts of time sorting through the Flash documentation. For example, it was very difficult to find the API for a slider. We eventually obtained one by using the FlashControls.swc library found at: [3]. Additionally, we were not able to understand the data representation employed in Flare and ended up loading the data through static arrays.

Other scripts Before inputting the DOT data into the visualization, we had to extensively process it. Also, converting from the longitude/latitude locations obtained online to the US map employed in flash was challenging. As mentioned above, we used an external source to obtain an extensive list of all the weather stations in US and their latitudes/longitudes. This list was then filtered using the available DOT data so only airport locations were retained. Afterwards, the coordinates in this list were transformed using standard geometrical transformations and scaling to fit them on the Cartesian coordinate system employed by Flash. Then the DOT routes data was augmented to include the appropriate transformed coordinates. Finally, the text file was generated in the array format used by flash. Matlab scripts and external files created during this transition are here File:Intermediate.zip.

Project Breakdown In this project, Sushrut focused on developing the system necessary to format the data so that it could be easily utilized in the Flash application. During that time, David focused on developing the logic used in the Flash application. Both David and Sushrut wrote portions of the report.

Reference Code The complete reference code for our visualization is located here: File:SPDZProject4.zip. This is a Flex-created project archive.



[add comment]
Personal tools