GIS322FinalProject / README.md
cmande62's picture
fix: add README frontmatter remove binary files
894fbd3
metadata
title: GIS322FinalProject
sdk: docker
app_port: 7860
pinned: false

Urban Vegetation Dashboard — Maricopa County, AZ

Christian Anderson GIS 322 Spring 2026 Instructor: Debayan Mandal


Description

This interactive Solara dashboard explores the relationship between NDVI vegetation index, tree equity scores, and U.S. Census demographics at the block-group level across Maricopa County, Arizona. Users can visualize a bivariate choropleth map comparing greenness to demographic variables (Income, % Minority), toggle a Tree Equity Score overlay, and inspect a summary statistics table and chart of the top 15 block groups most in need of tree canopy investment.


Screenshot

Dashboard preview


Data Sources

Dataset Source License
NDVI (vegetation index) Google Earth Engine — Landsat/Sentinel composites Free for research/education
Block-group demographics U.S. Census Bureau ACS 5-Year Estimates Public domain
Tree Equity Scores American Forests — Tree Equity Score Free download
Block-group boundaries U.S. Census TIGER/Line Shapefiles Public domain

Environment Setup

1. Virtual environment

pip install -r requirements.txt

2. Census API key (free)

Sign up at https://api.census.gov/data/key_signup.html, then either paste your key into data_pipeline.py when defining CENSUS_API_KEY

3. Google Earth Engine (free for students)

  1. Sign up at https://earthengine.google.com with your Google account.
  2. Authenticate in anaconda prompt:
    python -c "import ee; ee.Authenticate()"
    
  3. Create a project at https://console.cloud.google.com (free tier).
  4. Paste your project ID into data_pipeline.py where it says ee.Initialize(project="gis322final").

4. Tree Equity Scores (free)

  1. Go to https://treeequityscore.org/map/
  2. Click Download Data → Arizona → Shapefile
  3. Save to data/raw/az_tes.shp

5. Build the database

Run this once (~5 min) to fetch and process all data into processed_dashboard.db:

python data_pipeline.py

Run Instructions

solara run app.py

Project Files

File Purpose
data_pipeline.py Run once to fetch data and build processed_dashboard.db
app.py Solara dashboard — launch with solara run app.py
dashboard_helpers.py Map and chart builder functions used by app.py
requirements.txt Python dependencies
data/raw/ Place downloaded raw files here