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.
The data analyzed in this project was compiled from the following sources:
-
Units of the National Park Service system were gathered from the GitHub repository of Franklin Webber.
-
Annual attendance records for all national parks were taken from the National Park Service statstical report site.
-
Points of interest within each national parks was derived from the National Park Service's ArcGIS geocoordinate system.
-
Land mass and area for each NPS unit came from the National Park Service's nps boundary ArcGIS dataset.
-
On GitHub, navigate to the project repository page titled
papadiscobravo/National-Park-Places-and-Scale
, or click on this link. -
Clone the repository to your local machine.
-
Open a new terminal in the repository and source activate the Python environment.
-
In the same terminal, launch a Jupyter Notebook. Open the file
natParksETL.ipynb
and clickRestart and Clear Output
. Do not run the notebook at this time. -
Inside your local repo, update the file called "TAconfig.py with your PgAdmin4 password and save the file.
-
Inside your local repo, update the .gitignore file by adding "TAconfig.py" on the first line and save the file.
-
Launch pgAdmin4 to access your local postgreSQL Database. Generate a new database titled
natParks
. -
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 titledtable_schemata.sql
. -
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.
-
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 clickRestart and Run All
. This takes all of the cleaned data from the CSVs and connects them to the tables created in postgreSQL. -
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 eachSELECT * 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. -
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
. -
Copy and paste the flask server link into your Chrome browser to launch to webpage.
-
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.
-
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. TheHome
hyperlink in the upper lefthand corner will take you back to the landing page. -
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!