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 & 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!
        