CS385 -- Lab 3: Routing

Fall 2004
Objectives Addressed
Purpose

This lab assignment is designed to stimulate creative solutions to problem that is difficult to solve efficiently.

Overview

While asymptotic analysis allows us to evaluate an algorithm's efficiency, it ignores other important issues like implementation complexity and time constants. In this assignment, you should focus on developing an algorithm that will produce the correct answer, scale well to large data sets, and run as quickly as possible on the given data set (listed in order of priority).

Assignment
Input Data

The GPS data available to you consists of a file with multiple trips. Each trip represents one commute from my home to MSOE or back. The first few lines of the file are:

Start time: 2004-03-05 11:09:23
record,fix,hour,min,sec,msec,latitude,longitude,alt
1,3,11,9,24,710,43.0835367,-88.0390017,702.09
2,3,11,9,26,310,43.0835367,-88.0390017,702.09
3,3,11,9,27,310,43.0835367,-88.0390017,702.09
...

The first line indicates the starting time for the first trip. The second line contains labels for the different fields associated with each record. The third line contains the data associated with the first data record. Each record includes (separated by commas) the record number, the number of satellites used to get a fix on the GPS receiver's position, the time the record was made (in hours, minutes, seconds, and milliseconds), the latitude, longitude, and altitude. These records continue until the end of the trip. Data for the second trip follow immediately after the first trip. In this particular example, the first trip has 1336 records. Here are lines 1337-1345 of the data file:

1335,4,11,31,52,750,43.0445550,-87.9081050,639.76
1336,4,11,31,53,750,43.0445550,-87.9081033,639.76
Start time: 2004-03-05 17:10:35
record,fix,hour,min,sec,msec,latitude,longitude,alt
1,3,17,10,36,380,43.0445983,-87.9081033,583.98
2,3,17,10,37,380,43.0445950,-87.9081017,583.98
3,3,17,10,38,380,43.0445917,-87.9081000,583.98
4,3,17,10,39,380,43.0445917,-87.9081033,587.27
5,3,17,10,40,380,43.0445850,-87.9081067,587.27

I would suggest that you begin testing with the smallgps.zip file which contains a few very short trips. At a minimum, your program should be able to produce all of the required statistics for this file. This file contains a subset of the biggps.zip and may be use for testing.

Details
Algorithm Results

Your program should read a data file with GPS trip information (like the input file above) and indicate the following:

You should calculate the starting/ending position as the geometric centroid of all the positions considered to be the same position (using the X meter rule).

Interim report (due 11:00pm, the day prior to week 7, lab)

You should submit a partially completed lab report (fill in header information and questions section) with answers to the following questions.

Lab report (due 11:00pm, the day prior to week 8, lecture 3)

Each pair should submit one lab report. Your report should include:

Oral Presentations (in class week 9, lecture 1)

The first lecture of week 9 will be devoted to student presentations.

Template Lab Report

As with any report you submit, correct spelling and grammar are required. In addition, your report should be submitted electronically following the Electronic Submission Guidelines. (You may wish to consult the sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost.

If you have any questions, consult the instructor.

Last Updated: Thursday, 14-Oct-2004 14:09:27 CDT