Controls

Several departures after the selected time can be evaluated for walk + transit.

Opens the Green Corridor Planner and carries the selected location and any generated isochrones with you.

Map

Loading...

Biodiversity Access Score

Transit Access Score

Isochrone-Benchmarked Biodiversity Access Index

Closest Greenspace

Closest RSF Program

Citywide Biodiversity Access Profile — BAI Dimensions

Center = 0th percentile Outer ring = 100th percentile Farther out = higher / more favourable

Each polygon is one independently scored isochrone. The spoke labels state exactly what is being ranked. Species richness uses the total number of unique GBIF species. Equity is oriented so farther outward means lower EJ burden. Percentiles are always calculated against the matching SF mode × travel-time reference; profiles are never averaged or pooled.

Loading...
ACCESS
Transit access · Muni route access
BIODIVERSITY EVIDENCE
Species richness · GBIF sampling density
GREEN ENVIRONMENT
Vegetation NDVI · Greenspace cover
EQUITY CONTEXT
SF EJ context · outward = lower burden

Data Confidence / Observation Coverage

BAI Dimensions — Raw Values + Citywide Percentiles

Summary Data

Loading...

Biodiversity & Transit Metrics by Mode

Loading...

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. Each point is scored independently against its own matching mode × time reference before the spider plot and difference table are shown.

Point A

Loading...
Click the map or search an address to place Point A.

Point B

Loading...
Click the map or search an address to place Point B.

Biodiversity Access Profile — Point A vs Point B

Point A vs Point B Farther outward = higher / more favourable percentile

Each point is ranked independently against the SF reference matching its own selected mode and travel time. The chart compares relative citywide standing, while the difference table below pairs the raw values with their citywide percentiles.

Loading...
ACCESS
Transit access · Muni route access
BIODIVERSITY EVIDENCE
Species richness · GBIF sampling density
GREEN ENVIRONMENT
Vegetation NDVI · Greenspace cover
EQUITY CONTEXT
SF EJ context · outward = lower burden

Difference (Point B − Point A)

Point B minus Point A for each metric. Percentile differences are percentile-point differences after each point has been independently benchmarked against its own matching mode × time reference. Raw values are also retained.

Loading...

Green Corridor Planner

Draw a proposed street corridor, habitat patch, pocket park, or other green intervention. The planner compares it with mapped existing San Francisco greenspace, identifies potential habitat links, and estimates nearby population and equity context.

Screening tool: Connectivity is based on a user-selected distance rule. It does not yet model species-specific movement, road barriers, vegetation quality, land ownership, or project feasibility.

Scenario Controls


Uses existing San Francisco greenspace: Your proposal is checked against 3,899 mapped OSM greenspace polygons loaded for the city.

1. Draw the intervention
Use the line tool on the map for a street corridor or the polygon tool for a park, garden, or habitat patch.

This setting affects line drawings only. Polygon drawings already have an area and ignore this control.

2. Choose the connection rule

This is a structural planning threshold, not a species-specific movement distance. The 500 m and 1,000 m options are broad exploratory screens and may connect many urban patches.

3. View the result

Export this scenario
The report card is a self-contained HTML file. Open it in a browser and choose Print → Save as PDF if needed. Download Corridor HTML report card

This purple area is used only to estimate nearby population and equity context. It is not habitat and does not affect connectivity.
Map colors
Green = existing mapped greenspace
Active analysis isochrone = the only access area used for scenario BAI
Blue = your proposed intervention
Orange = existing greenspaces reached
Purple = optional population-estimate area

Corridor Scenario Map

Loading...

What This Proposal Connects

Existing Greenspaces Reached

These are existing mapped greenspaces within the selected connection rule. They are highlighted in orange and numbered on the map.

Potentially Reached Residents

Connectivity results are available now. To compare the proposal with the Biodiversity Access Index, first generate isochrones in the Isochrone Explorer, then use Evaluate a green intervention within these isochrones .

Planned Conservation Action — BAI Before vs After

Loading...
ACCESS
Transit access · Muni route access
BIODIVERSITY EVIDENCE
Species richness · GBIF sampling density
GREEN ENVIRONMENT
Vegetation NDVI · Greenspace cover
EQUITY CONTEXT
SF EJ context · outward = lower burden
Connectivity is displayed alongside the BAI as a separate structural-connectivity outcome; it is not inserted as an eighth BAI axis.

Detailed BAI Change — Selected Isochrone

Detailed standardized BAI dimensions for the selected Explorer isochrone (0–100 scale).

Loading...

Green Investment & Displacement Context

Context screen — not a green-gentrification risk score. This tab places greenspace access and SF environmental-justice context side by side. The current app does not contain the housing-market variables needed to estimate displacement risk.

Use this view to identify places where a greening opportunity overlaps with greater environmental-justice burden, and therefore where community governance and anti-displacement safeguards may deserve explicit consideration. Do not interpret the plot as evidence that a proposed greening action will cause displacement.

Selected Isochrone Context

Greenspace Access Gap × EJ Burden Context

Each point is one independently scored isochrone. Farther right means a larger relative greenspace-access gap; farther up means greater EJ burden context. The 50/50 guide lines are descriptive visual references, not validated risk thresholds.

Loading...

What Is Still Needed for Displacement-Risk Screening?

A defensible displacement or green-gentrification screen should add housing and tenure indicators rather than infer risk from EJ or income alone.

  • Renter share / tenure
  • Rent burden
  • Eviction notices or displacement events
  • Recent rent and home-value change
  • Subsidized / permanently affordable housing
  • Housing production and loss
  • An established displacement-vulnerability classification
Current interpretation: equity-sensitive greening context, not predicted displacement.

NGO / Grant Reporting Language

Exploring equitable access to urban biodiversity across San Francisco

Green Corridor Scenario Planner

The corridor workflow links three questions: where habitat is fragmented, where a proposed corridor or stepping-stone intervention could be placed, and how ecological connectivity and equitable human access change under that scenario.

Conceptual framework showing a fragmented baseline landscape, a proposed green corridor, and ecological and human-access outcomes. Conceptual values shown in the figure are illustrative; the app reports results calculated from the user's drawing and selected thresholds.

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) .


Team
  • Diego Ellis Soto
  • Avery Hill
  • Lizzy Edson
  • Álvaro Casanova
  • Christopher J. Schell
  • Carl Boettiger
  • Rebecca Johnson
Institutions
  • UC Berkeley — ESPM
  • California Academy of Sciences

Contact

diego.ellissoto@berkeley.edu

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 Sciences
Source Code

diego-ellis-soto/SF_biodiv_access_shiny

The full source code, setup scripts, and data pipeline are publicly available on GitHub.

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

  1. Go to the Isochrone Explorer tab in the left sidebar.
  2. 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.
  3. 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.
  4. Choose time budgets — 5, 10, and/or 15 minutes.
  5. Click Generate Isochrones. Shaded polygons appear for each mode × time combination. Click a polygon for a summary popup.
  1. Toggle map layers (top-right layer control) to overlay income, species richness, greenspace, CalEnviroScreen, EJ communities, transit routes, and NDVI.
  2. 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: independently benchmarked per-isochrone profiles; mode × time combinations are never averaged or pooled.
    • Summary Table: full per-isochrone metrics.
    • Metric Plots: species, population, GBIF institutions, and transit by mode.
  3. Green Corridor Planner tab — draw a corridor or habitat patch, identify existing greenspaces reached, and compare the proposal with Explorer isochrones.
  4. 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 calculated separately for each generated isochrone. Where a comparable Step-5 reference metric exists, the raw value is converted to a percentile using only the precomputed 100 m SF origins with the same transportation mode and same travel-time budget . Walking 10-minute results are therefore compared only with Walking 10-minute references; different modes and travel times are never pooled. The validated reference contains 24,182 SF 100 m origin cells in each supported mode × time group. For each metric, the percentile uses all finite comparable values from that full matching citywide group. Raw scored metrics use the same explicit 100 m grid support as Step 5: a cell contributes when its projected centroid falls within that one isochrone.

Reference rule: one user isochrone → one matching mode × time reference distribution. If no comparable precomputed reference exists (for example transit, walk + transit, or driving with traffic), the app reports the raw metric and an N/A percentile rather than borrowing a different benchmark.
# BAI Dimension Variable What it measures Direction
1 Mobility Access Transit_Access_Score Muni stops per km² across the isochrone's 100 m grid support Higher = better
2 Route Access Unique_Muni_Routes Distinct Muni route IDs intersecting the selected 100 m support cells Higher = better
3 Biodiversity Potential GBIF_Species Unique GBIF species assigned to selected 100 m support cells Higher = better
4 Sampling Density SamplingDensity_km2 GBIF records per km² across the selected 100 m support cells — proxy for observation coverage Higher = better
5 Environmental Quality MeanNDVI Area-weighted mean of 100 m cell NDVI values selected by the isochrone Higher = better
6 Greenspace Cover Greenspace_percent OSM greenspace area as % of the selected 100 m grid-support area Higher = better
7 Equity Context SF_EJ_Score (inverted) Lower EJ burden → more favourable access context Lower burden = better

The displayed isochrone-benchmarked BAI is calculated only when all seven percentile-standardised dimensions are available for that single isochrone. Unsupported dimensions remain missing and are not replaced with census-block-group benchmarks. The score box reports how many comparable reference dimensions are available; an incomplete seven-axis profile returns BAI = N/A rather than silently changing the denominator.

For each isochrone i:
  percentile(metric_i) = rank within SAME mode × SAME time reference
  BAI_i = mean(all 7 percentile-standardised dimensions for isochrone i)
  if any required axis is unavailable: BAI_i = N/A

No averaging or union across different isochrones occurs.
Prototype / Work in Progress: Variable weighting, spatial units, and benchmark distributions should be refined through stakeholder co-development before the BAI is used as a policy-grade score.

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
Remote Data Hosting

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 Queries via DuckDB

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.

Open Source

Full source code, data pipeline scripts, and setup instructions are available at:
github.com/diego-ellis-soto/SF_biodiv_access_shiny

Status & Roadmap

Current Status

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.

Planned Additions
  • 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