Documentation

03.14.2017

Emily Kampa, Evie Rosenberg, Allie Warren, Phoebe Wooldridge

GoScenic Senior Comps Project

Computer Science Department

Carleton College

March 12, 2017

Advisor: Dave Musicant

*** Documentation for the GoScenic Intelligent User Interfaces Comps group ***

This project contains 5 folders:

(1) ClassifiedPoints

- Contains .csv files with all of the points we classified. Includes (latitude, longitude) values for each point, as well as the top 3 scenic likelihoods, with corresponding probabilities. Named with the index of the first point in that file.

- all_classified_points.csv contains all of the points we classified in the entire state of Washington.

- Contains two Python scripts:

- classified_points_parser.py determines how many points there are of each scenic type in a given file. Prints this information.

- combine_classified_files.py combines multiple .csv files with classified points into one .csv file with all of those points.

(2) GridCoords

- Contains all the files with all the (latitude, longitude) pairs of the original grid of coordinates across the state of Washington.

(3) RoadCoords

- Contains all the files with all of the (latitude, longitude) pairs of the original grid of coordinates across the state of Washington after they have been converted to the nearest road coordinates.

(4) static

- Contains all of our .css and .js files (for the home page and the route page)

- Contains all images necessary in our project.

(5) templates

- Contains all of our .html files (for the home page and the route page)

This project also contains 10 Python files (each file contains further comments). They are:

(1) caffe_3images.py

(2) check_user_input.py

(3) classify_grid.py

(4) create_grid_coords.py

(5) create_road_coordinates.py

(6) distance_matrix.py

(7) find_relevant_area.py

(8) go_scenic.py

(9) gsv_3images.py

(10) new_heuristic.py

Finally, this project contains one .csv file outside of the cooridinate points data:

(1) categories.csv

This file was used to re-categorize all of our original classifications into the 6 scenic types we cared about (water, moutains, fields, nature and woods, sightseeing, non-scenic).

To run the GoScenic application, navigate with your terminal to the the main project folder with all the Python files. If you run the command:

python go_scenic.py

You should begin running GoScenic on the localhost on port 8000. Go to the following web address to view the application:

http://localhost:8000/

If you wish to run GoScenic from another server, you will need to copy the following files to that server's location:

(1) ClassifiedPoints/all_classified_points.csv

(2) static/

(3) templates/

(4) check_user_input.py

(5) distance_matrix.py

(6) find_relevant_area.py

(7) go_scenic.py

(8) new_heuristic.py

You must make two small changes to the source code in order to run the application from this new server:

(1) templates/route.js

BEFORE

line 216: window.location.href="http://localhost:8000/";

AFTER

line 216: window.location.href="http://NEW_SERVER_NAME:5000/";

(2) go_scenic.py

BEFORE

line 73: app.run(host='localhost', port=8000, debug=True, use_reloader=True)

AFTER

line 73: app.run(host='0.0.0.0', port=5000, debug=True, use_reloader=True)

Now the GoScenic application can be run by running the same command in the terminal, while navigated to the correct directory on the server:

python go_scenic.py

And going to the following web address:

http://NEW_SERVER_NAME:5000/

Enjoy the ride!