/National-Park-Places-and-Scale

Project 2 homework for Data Analytics and Visualization Bootcamp, University of Minnesota

Primary LanguageJupyter Notebook

Discover America's Story: National Parks Points of Interest, Relative Scale, and Average Attendance

NPS

Team Members

Project Overview

This one-page dashboard shows a map of places in the U.S. National Park System.  When site visitors click on a map marker, a pop-up appears with facts about that place, a graph is drawn of that park's 2011-2020 attendance, and concentric circles appear around the marker.  Clicking on a different place and plotting the same diameter circles around a new place while staying at the same zoom level allows visitors to compare the scale of different places.

Data Sources

The data analyzed in this project was compiled from the following sources:

Database Recreation and Launch

  1. On GitHub, navigate to the project repository page titled papadiscobravo/National-Park-Places-and-Scale, or click on this link.

  2. Clone the repository to your local machine.

  3. Open a new terminal in the repository and source activate the Python environment.

  4. In the same terminal, launch a Jupyter Notebook. Open the file natParksETL.ipynb and click Restart and Clear Output. Do not run the notebook at this time.

  5. Inside your local repo, update the file called "TAconfig.py with your PgAdmin4 password and save the file.

  6. Inside your local repo, update the .gitignore file by adding "TAconfig.py" on the first line and save the file.

  7. Launch pgAdmin4 to access your local postgreSQL Database. Generate a new database titled natParks.

  8. Open a new query tool in this database and navigate to the folder icon in the upper lefthand corner. Navigate to the Desktop folder and then the cloned repository. Within that folder, navigate to the resources folder and open the file titled table_schemata.sql.

  9. Once opened, run each block of code individually (spanning from lines 1 - 106) in order to drop any existing tables and then generate new tables with the national parks points of interest. Leave pgAdmin4 open and running.

  10. Navigate back to the Juptyer Notebook and create a config.py file that contains your username, password, host, port, and database for postgresSQL. The database is referenced as natParks Once saved, go back to the Jupyter Notebook and click Restart and Run All. This takes all of the cleaned data from the CSVs and connects them to the tables created in postgreSQL.

  11. Go back to PgAdmin to the table_schemata.sql you opened in the query tool. Now that the Jupyter Notebook is connected to the database, run each SELECT * FROM command one at a time in order to upload the cleaned data into their respective points of interest tables. Minimize both the pgAdmin4 window and the Jupyter Notebook window once finished.

  12. Navigate back to the cloned repository folder and open a new terminal window. Source activate the Python environment, and activate the Flask server by typing python app.py.

  13. Copy and paste the flask server link into your Chrome browser to launch to webpage.

  14. The landing page titled National Park Explorer will load displaying all interactive charts. Note that this website contains the following:

  • A satellite view of the United States with NPS arrowheads indicating all the National Parks
  • A horizontal bar graph showing the number of annual visits for a selected park spanning from 2011 - 2020
  • A gauge chart indicating the average number of annual visits for a selected park
  • A stacked scatter plot comparing acreage of each national park broken down by latitude and longitude.
  1. In the upper righthand corner of the navigation bar, there is a hyperlink titled Notes. Navigate to this webpage and take not of the information regarding data sources and acknowledgments for project assistance. The Home hyperlink in the upper lefthand corner will take you back to the landing page.

  2. Navigate to any National Park of your choice and learn about all the points of interest, the relative scale of interests within the park, and plan what time of year to visit based on annual attendance!