Controls
Map
Biodiversity Access Score
Transit Access Score
Biodiversity Access Index
Closest Greenspace
Closest RSF Program
Biodiversity Access Index Profile
This spider plot summarizes biodiversity access across mobility, biodiversity, observation intensity, environmental quality, and equity context.
Summary Data
Biodiversity & Socioeconomic Summary
GBIF Records by Institution
Biodiversity & Transit Metrics by Mode
Bivariate Isochrone Plot: Biodiversity vs Environmental Justice
Each point is a generated isochrone. Higher x-values indicate more unique species reachable. Higher y-values indicate lower environmental justice burden. Point size reflects greenspace cover.
Compare two locations side by side
Place two points (click a map or search an address), pick one transport mode and travel time for each, then press Compare. The spider plots and difference table summarise how biodiversity access differs between the two.
Point A
Point B
BAI Spider — Point A vs Point B
Both points on one axis: Point A vs Point B . Each spoke is scored 0–100 against the citywide distribution.
Difference (Point B − Point A)
Point B minus Point A for each metric. Greenspace is reported by name, so its row shows the gap in distance to the nearest greenspace.
Filters
Data Summary
Observations vs. Species Richness
This plot displays the relationship between the number of observations and species richness.
Partner Community Organizations
Community Organizations Data
Exploring equitable access to urban biodiversity across San Francisco
About This Tool
The SF Biodiversity Access Decision Support Tool is an interactive web application developed by the Reimagining San Francisco (RSF) Data Working Group to investigate how equitably San Francisco residents can reach urban biodiversity depending on their transportation options and socioeconomic context.
Users select any location in San Francisco — by clicking the map or geocoding an address — choose one or more transport modes and travel-time thresholds, and the app generates isochrones (reachable-area polygons). Within each isochrone the app computes biodiversity, greenspace, transit, socioeconomic, environmental quality, and equity metrics, and synthesises them into the Biodiversity Access Index (BAI) .
- Diego Ellis Soto
- Avery Hill
- Lizzy Edson
- Álvaro Casanova
- Christopher J. Schell
- Carl Boettiger
- Rebecca Johnson
Reimagining San Francisco
Reimagining San Francisco is an initiative integrating ecological, social, and technological dimensions to shape a sustainable future for the Bay Area. The RSF Data Working Group co-develops frameworks that bring together multiple sources of socio-ecological biodiversity information for decision-support.
California Academy of SciencesSource Code
diego-ellis-soto/SF_biodiv_access_shiny
Why Biodiversity Access Matters
Access to urban biodiversity is deeply unequal. Legacies of redlining, disinvestment, and car-centric planning have concentrated green, biodiverse spaces in wealthier neighbourhoods, while lower-income and environmental-justice communities often face longer travel distances and fewer transit options to reach them.
Areas with higher biodiversity support essential ecosystem services — pollinators, carbon sequestration, urban heat mitigation — and provide documented cultural, recreational, and mental health benefits to local residents.
Cities are complex socio-ecological systems shaped by ongoing human pressures and historical decisions. The RSF initiative integrates multiple facets of biodiversity with variables used by city planners, public health practitioners, and equity advocates to support a more integrative, justice-oriented lens for urban sustainability.
This tool is designed to make those inequities visible, quantifiable, and actionable — surfacing where the gaps are largest and where investment could make the greatest difference.
How to Use
- Go to the Isochrone Explorer tab in the left sidebar.
-
Pick a location.
- Click on Map: click anywhere in SF; a red marker confirms selection.
- Address (Geocode): type a street address in the search box.
- Select transport modes. Driving, Walking, Cycling, and Driving with Traffic use Mapbox. Transit and Walk + Transit use the SF Muni GTFS timetable. Extra sliders appear for departure hour and first/last-mile walking budgets.
- Choose time budgets — 5, 10, and/or 15 minutes.
- Click Generate Isochrones. Shaded polygons appear for each mode × time combination. Click a polygon for a summary popup.
- Toggle map layers (top-right layer control) to overlay income, species richness, greenspace, CalEnviroScreen, EJ communities, transit routes, and NDVI.
-
Explore the panels below the map:
- Score boxes: biodiversity access percentile, transit density, and BAI.
- Closest Greenspace: nearest OSM green area, distance, and % greenspace cover.
- Spider / Radar Plot: 7-axis BAI profile comparing all isochrones.
- Summary Table: full per-isochrone metrics.
- Metric Plots: species, population, GBIF institutions, and transit by mode.
- GBIF Summaries tab — filter records by class or family; explore richness vs. sampling effort.
- Community Science tab — map and table of RSF partner organisations.
- Click Clear to reset the map for a new query.
Map Layers
All layers are toggled in the map's layer-control panel (top-right). The default base map is CartoDB Positron; you can switch to Street or Satellite.
| Layer | Description | Source |
|---|---|---|
| Income | Median household income per census block group | ACS 5-yr |
| Greenspace | OSM parks, gardens, and public green areas | OpenStreetMap |
| Greenspace Distance | Raster showing distance (m) to the nearest greenspace pixel | Derived from OSM |
| RSF Program Projects | Partner project polygons from the Reimagining SF Initiative | RSF Initiative |
| RSF Program Distance | Raster showing distance (m) to the nearest RSF program polygon | RSF Initiative |
| Hotspots (KnowBR) | Block groups with anomalously high species richness relative to sampling effort | KnowBR / GBIF |
| Coldspots (KnowBR) | Block groups with anomalously low species richness relative to sampling effort | KnowBR / GBIF |
| Species Richness | Unique GBIF species per census block group | GBIF |
| Data Availability | Total GBIF occurrence records per block group | GBIF |
| CalEnviroScreen (CI Score) | Cumulative environmental and health burden by census tract | OEHHA |
| SF EJ Communities | SF Environment Dept. environmental justice community burden scores | SF Environment |
| Transit Routes | All SF Muni routes from GTFS shapes, coloured by official SFMTA route colour | SFMTA GTFS |
| Transit Stops | All SF Muni stops with AM peak headway and departure frequency | SFMTA GTFS |
| Isochrones | Generated travel-time polygons (one per mode × time combination) | Mapbox / gtfsrouter |
| NDVI Raster | Sentinel-2 NDVI cropped and masked to the isochrone union | Sentinel-2 |
Transportation Modes
Six modes are supported across two routing engines. Walk + Transit is an approximation combining a Mapbox first-mile walk, GTFS stop-to-stop reachability (SF Muni), and a last-mile walk buffer — not a full door-to-door multimodal isochrone.
| Mode | Engine | Data Source | Notes |
|---|---|---|---|
| Driving | Mapbox | OSM road network | Free-flow speed |
| Walking | Mapbox | Pedestrian network | Pedestrian paths and crossings |
| Cycling | Mapbox | Bicycle network | Dedicated cycle lanes where available |
| Driving with Traffic | Mapbox | Traffic-aware road network | Real-time + historical congestion |
| Transit (GTFS) | gtfsrouter | SF Muni GTFS | Timetable-based stop-to-stop reachability from nearest stop |
| + Walk + Transit | Mapbox + gtfsrouter | Pedestrian + SF Muni GTFS | First-mile walk → Muni ride → last-mile walk within one total time budget |
Biodiversity Access Index (BAI) & Spider Plot
The Biodiversity Access Index (BAI) is a composite indicator benchmarked against citywide empirical distributions (ECDFs across all SF census block groups). Each dimension is scaled 0–1, where 1 means the isochrone ranks at the top of the city-wide distribution for that metric.
| # | BAI Dimension | Variable | What it measures | Direction |
|---|---|---|---|---|
| 1 | Mobility Access |
Transit_Access_Score
|
Muni stops per km² within the isochrone | Higher = better |
| 2 | Route Access |
Unique_Muni_Routes
|
Distinct Muni route IDs crossing the isochrone | Higher = better |
| 3 | Biodiversity Potential |
GBIF_Species
|
Unique GBIF species recorded within the isochrone | Higher = better |
| 4 | Sampling Density |
SamplingDensity_km2
|
GBIF occurrence records per km² — proxy for community science coverage | Higher = better |
| 5 | Environmental Quality |
MeanNDVI
|
Mean Sentinel-2 NDVI within the isochrone | Higher = better |
| 6 | Greenspace Cover |
Greenspace_percent
|
% of isochrone area covered by OSM greenspace polygons | Higher = better |
| 7 | Equity Context |
SF_EJ_Score (inverted)
|
Lower EJ burden → more favourable access context | Lower burden = better |
The BAI is the unweighted mean of all seven standardised components:
BAI = mean( Mobility_Access, Route_Access, Biodiversity_Potential, Sampling_Density, Environmental_Quality, Greenspace_Cover, Equity_Context )
Data Sources & Cyberinfrastructure
| Dataset | Source | Format | Use in App |
|---|---|---|---|
| GBIF occurrences | Global Biodiversity Information Facility | Parquet | Species richness, sampling density, taxonomic breakdowns |
| ACS / Census | US Census Bureau (tidycensus) | .Rdata | Population and median income per census block group |
| NDVI raster | Sentinel-2 (pre-processed) | GeoTIFF | Vegetation quality within isochrones |
| OSM Greenspace | OpenStreetMap | GeoPackage | Greenspace cover %, distance raster, map layer |
| SF Muni GTFS | SFMTA | CSV / ZIP | Transit isochrones, stop density, route access, headways |
| CalEnviroScreen 4.0 | OEHHA | File GDB | Cumulative environmental burden scores |
| SF EJ Communities | SF Environment Dept. | Shapefile | Environmental justice burden and equity context |
| Hotspots / Coldspots | KnowBR analysis on GBIF | Shapefile | Under- and over-observed biodiversity areas |
| RSF Program Projects | RSF Initiative | GeoPackage | Partner project areas overlay |
Greenspace, CBG, hotspots, NDVI, and GBIF data are hosted on
HuggingFace (boettiger-lab/sf_biodiv_access)
. The cloud deployment streams these via GDAL's
/vsicurl/
virtual filesystem — no large files need to be bundled in the Docker image.
GBIF occurrence records (~3M rows for SF) are stored as a local
.parquet
file and queried on-the-fly using
DuckDB
with the spatial extension. SQL
ST_Intersects
filters records to the isochrone without loading the full dataset into memory.
Full source code, data pipeline scripts, and setup instructions are available at:
github.com/diego-ellis-soto/SF_biodiv_access_shiny
Status & Roadmap
This tool is a decision-support prototype co-developed with the RSF Data Working Group. The BAI should be treated as an exploratory indicator; variable weights and reference distributions are subject to revision through ongoing stakeholder engagement.
- Impervious surface coverage layer
- National Walkability Index integration
- CDC Social Vulnerability Index
- NatureServe biodiversity and rarity maps
- Frequency-weighted multimodal transit accessibility score
- Pre-cached transit isochrones for faster querying
- Stakeholder-driven BAI dimension weighting
- Historical and comparative isochrone analysis