Skip to methodology
EmPath

How EmPath is made

Transportation and MobilityClimate Action and ResilienceGeoAI for Social Good

How EmPath works.

We combine walking networks, tree predictions, surface heat and traffic to compare routes and residential access.

Data and analysis.

  1. 1

    Collect data

    Paths, destinations, aerial imagery, heat, traffic and Census areas.

  2. 2

    Clean and connect

    Align coordinates, clean categories and geometry, connect origins and services to the network, and flag gaps.

  3. 3

    Find lowest-cost routes

    Add environmental penalties to walking time. Dijkstra finds the connected route with the lowest total cost.

  4. 4

    Rank residential areas

    Find the best trip in each selected category, average those costs and rank eligible residential areas.

Paths & places

OpenStreetMap / Geofabrik

Tree predictions

2022 USDA NAIP + Restor TCD

Surface heat

Summer 2025 Landsat

Road volume

TxDOT traffic counts

Areas & context

Plano GIS · Census · ACS

Walking time × environmental multiplier → route cost → area comparison

More exposed, hotter or busier segments receive higher costs. “Effort minutes” are comparison units, not elapsed time.

AI predicts trees. The effort settings are chosen preferences. Dijkstra is the routing algorithm, not the AI.

4,402Census blocks in the city analysis
25destination categories
1,648mapped destinations
3 kmcontext beyond Plano

Origins are residential block reference points, not individual homes. A required category without a reachable destination makes the complete score unavailable.

Tree detection from aerial imagery.

A pretrained Restor TCD model predicts tree-covered pixels. Their fraction near each walking segment feeds the effort model.

75025: aerial photograph, aligned AI tree-pixel predictions, and walking paths colored by nearby predicted tree cover
Example area in 75025

1. The photograph

USDA NAIP imagery shows the landscape in 2022.

2. The tree prediction

Restor’s TCD SegFormer-B0 model marks predicted trees in green. Local prediction accuracy remains unverified.

3. The path measurement

Sample beside each path to calculate nearby tree fraction. Trees outside its corridor do not count.

These pilot figures use 5 m corridors. Current routing uses 20 m-wide corridors (10 m per side), sampled at seven lateral offsets and at most 8 m apart along a path. The figures retain their original pilot scores.

Cost calculation simulator.

Adjust the sliders to see how trees, heat and traffic change one segment’s modeled effort.

Try an illustrative segment

Modeled segment cost

Estimated walking time: 4 min

6.2

effort minutes

4 minutes × 1.56 multiplier

Segment effort = walking time × environmental multiplierThe multiplier is at least 1; effort minutes are comparison units.
See the formula and what is chosen

w = (L ÷ 1.2) × [1 + 6(1 − C)²(1 + H) + Q]

L is length in meters; C is nearby predicted tree fraction; H and Q are the normalized heat and traffic features. Each feature is between 0 and 1. Divide the result by 60 for effort minutes.

Squaring the tree deficit emphasizes exposed paths. Heat amplifies this penalty. The coefficient 6 and exponent 2 are chosen preference settings, not fitted behavioral estimates.

The proposal writes the general version as wθ(e,t) = T(e)[1 + fθ(xₑ,hₜ)]: ordinary time multiplied by a nonnegative environmental penalty. Learning that penalty from route-choice observations is a research goal; the current prototype does not fit θ or predict time-specific shade.

Baseline walking time assumes 1.2 m/s. Heat and traffic are indices from 0 to 1, not temperatures or vehicle counts. These controls illustrate the model; they do not change the map.

Limitations and next steps.

Current limitations

  • Nearby trees are a shade proxy; surface heat is not live weather.
  • Effort settings are not calibrated to local walkers.
  • Entrances, crossings and sidewalk continuity need field audits.

Validation and expansion

  • Audit tree predictions and pedestrian connections.
  • Collect route preferences; evaluate fitted settings on held-out routes and people.
  • Expand city by city, refreshing local data and checking coverage.

Community development

  • Use feedback to prioritize features.
  • Explore opt-in walk logging and social features.
  • Invite developers to reuse and improve PathéResistance.
Technical guide · equations, assumptions & validation

The pilot began with ZCTA areas 75025, 75024, 75074 and 75023; the current analysis uses Plano’s municipal boundary plus surrounding context.

See the original implementation roadmapSeven-stage implementation pathway from data collection to evaluation, and inputs flowing through PathéResistance to EmPath

The roadmap proposes a learned friction model. The prototype uses a stated-preference formula; fitting preferences to observations remains future work.

Trees

Nearby predicted trees indicate potential shade, not measured sidewalk shade at a specific hour.

Heat

Summer 2025 Landsat surface temperatures provide heat context, adjusted by nearby canopy deficit. This is not air temperature or live weather.

Traffic

Nearby TxDOT road-volume counts add a normalized traffic cost, not a collision-risk prediction.

Network representation

A graph is a map of connections.

Dots mark junctions; lines represent mapped walking segments. Their connections let us compare routes.

A home connected through junctions to a grocery store and a park, with alternative walking routesHome areaGroceryParkAlternative paths stay connected
Node
A connection point in the network.
Edge
A walkable link between points. Direction matters where the data requires it.
Weight
The cost assigned to that link: time alone, or time plus environmental penalties.

OpenStreetMap supplies the connections. We preserve alternative routes so longer paths with better surroundings can compete with faster ones.

Census-block reference points and destinations connect to nearby junctions. Connections over 100 m are flagged. Reference points are not verified entrances; connector walking time and crossing waits are excluded.

What the “home-to-service graph” means

A home-to-service summary shows calculated trip costs; routing still uses the detailed network: 98,193 nodes and 290,552 directed edges across Plano and its search area.

Route and area calculations.

“Friction” is the extra cost assigned to less desirable walking conditions.

For segment costs, use the cost calculation simulator above.

2

Add segments to compare complete routes

Add segment costs to compare complete routes:

3 + 2 + 4 = 9 effort minutes
Illustrative alternatives to the same destination
RouteOrdinary timeEffort cost
A8 min12
B10 min11 · lower effort

Time-only chooses A; modeled effort chooses B. Actual preferences remain untested.

Watch how the route search works

Dijkstra’s algorithm tracks the best total cost to each junction. It examines the lowest unsettled total next, updating neighbors when it finds a cheaper route. Segment costs must be nonnegative.

Illustrative route search from Start through B and A to Destination, with final total cost 642136StartABEndTotal 0Total ∞Total ∞Total ∞

Numbers on lines = segment costs

Start with zero

The start costs zero. No route to the other points has been found yet (∞).

Start → B costs 2; B → A adds 1; A → End adds 3. Total: 6. The direct route through A costs 7, and the route through B alone costs 8.

Route notation

C(P) = Σ w(e), for every segment e in route P

Σ means “add these up.” Dijkstra finds the lowest sum. Unreachable destinations are unavailable.

3

Find a service in each selected category

From each residential reference point, find the lowest-cost destination in each selected category, such as groceries or pharmacies. “Nearest” means route cost, not straight-line distance.

Area score = average of the best trip cost in each selected categoryCategories have equal weight. Lower scores mean lower modeled effort.

The score averages separate one-way trips, not a multi-stop tour or round trip.

How this relates to the proposal’s equation

The proposal’s F(r) = Σ d(r,d) adds costs to specific places. The interface averages costs to the best place in each selected category. For a fixed category count, sum and average rank areas identically; the units and destination choices differ.

Score(b) = (1 / |K|) Σₖ mind ∈ Dₖ cost(b,d)

b is a residential block, K the selected categories, and Dₖ the places in category k. A missing category route makes the complete score unavailable; it never becomes a free trip.

4

Compare areas using the same choices

Rank eligible residential areas by average effort. Changing categories can change the winner.

Try a small example · choose categories
Illustrative best trip costs · effort minutes
AreaPlace of worshipGroceryPharmacyAverage
A8576.7
B6987.7
C4866.0

Area C has the lowest average cost: 6.0 effort minutes.

Invented example; real comparisons use the same network, categories and rule across areas.

What “argmin” means

r* = argminr ∈ R F(r)

“Choose the location with the smallest score.” The result is an area, not a property recommendation. Equal scores tie.

Coverage and validation.

Which areas can be ranked?

Plano Census blocks with recorded housing, a reference point within 100 m of the network and routes to every selected category. An address selects its block, not a door-to-door route.

Why map beyond the city?

Paths, destinations and environmental data extend 3 km past Plano to include cross-boundary trips. A conservative boundary-cost check flags trips that might have a better alternative outside the search area.

What do colors mean?

Colors compare costs using a 2nd–98th percentile display stretch; scores stay unchanged. Gray non-residential areas and incomplete results do not indicate low effort.

What does not change route costs?

Population, housing and demographic estimates provide context, not route weights. Area estimates do not describe individual homes or people.

Checked in the prototype

Does the calculation do what it says?

Checks cover valid weights, shortest paths, route-to-score consistency, coverage and the interface.

Still to establish

Does it match people’s experience?

Tree accuracy, time-specific shade, comfort and preferences need independent evaluation. Sidewalks, entrances and crossings need auditing; mapped connections do not establish safe or accessible passage.

How we would evaluate the next version
  1. Audit a sample of predicted trees and mapped walking connections against independent observations.
  2. Ask volunteers to compare routes to the same destination without first showing the model’s preferred route.
  3. If there are enough suitable observations, fit preference parameters and evaluate on held-out participants and routes.
  4. Compare against ordinary walking time, report uncertainty and check performance across neighborhoods and mobility needs.

Learned preferences and time-dependent features remain future work.

Sources and code.

Environment

2022 USDA NAIP aerial imagery; pretrained Restor TCD SegFormer-B0; summer 2025 USGS Landsat surface temperature; TxDOT traffic counts.

Area context

2020 Census blocks and population; 2020–2024 American Community Survey housing and demographic estimates. Disability context uses tracts. Clipping a boundary does not create finer observations.

For another city, replace local data, rebuild features and repeat validation. Reassess the preference settings.

Interactive map.

Select a topic, then an area.

Open a larger map ↗