Update 3 and Summary – Optimization of Tribe Pathways

This is the final update and summary of the project thus far. I am happy to say data transcription and mapping are finally finished.  Below is the simplified map I created based off of the data I collected on campus. Compared to the official campus map available on the William and Mary website, the new set of data includes multiple new paths, does not show buildings or pathways which no longer exist, and contains data on the features of each pathway in the code. This new map is not intended to be used to navigate but offers the opportunity to display the data I collected.



Official campus map

Simplified point line graph

Simplified point line graph

In the new map, blue dots represent buildings  and red dots represent areas where paths intersect. The original idea of the program was to be able to navigate to any building on the map from another building. In the final version, I added the ability to navigate to any node. Now users have the ability to pick any dot from the map above a find the shortest path there from whichever dot they are on, regardless of buildings or not.

Screenshot from 2017-08-25 14-33-03

Each path was measured in feet. Values were rounded up or down when not exact.

After creating the simplified map, I used the satellite measurement tools provided with google earth to get precise measurements for each path on the map. With distance values for the paths between nodes, I was able to manually transcribe the length of each path into the algorithm. After plugging in the data, the program was ready to run.

Screenshot from 2017-08-25 15-11-24

Basic functionality of code with simple menu system.

To the best of my testing ability, the program runs correctly and accurately. Each node is given a letter or series of letters to identify it by.  The paths can be identified using the two nodes it connects. For example, the program will identify the path connecting point ‘a’ and point ‘d’ as path [‘a’,’d’]. If connected to an image of the path, this setup would eventually allow for the program to highlight the path on a map so a user could follow it.

A user can now choose to exclude paths based off of conditions like whether the path is in the woods or has stairs. This feature works by setting the distance for all the paths that contain that feature to infinity. The program works by searching for the shortest distance between points, so if the final output is infinite, it indicates that there is no way to connect the points.

In summary, this project ended up teaching me a lot about coding and maybe even more about the campus itself. I have spent a lot of time plugging paths and figuring out which way is the shortest. As a tool, I think with enough development it will be very helpful or at least interesting to students on campus. The project took longer than anticipated but was not as complicated as I assumed. The biggest time factor came from measuring data and creating the map. Rather than being able to just measure the full paths, I had to measure individual parts of the path from node to node. This time consuming process prevented me from including the entire scope of campus which I was originally hoping for but I believe the current scope more than shows off the functionality. I will be presenting my research in the 2017 Charles Center’s Summer Research Showcase. I I hope to spend any last time before that working on visual representation of my code.