An examination of externalities associated with alternative routing criteria and third-party platforms.
- Choose geographic area and download OSM-based road network from Mapzen
- Generate grid covering city area
- preprocessing/grid_creation.py
- Generate od-pairs for a grid
- preprocessing/generate_od_pairs.py
- Gather Flickr and Twitter data for study region
- Score each grid cell based on Empath analysis of Flickr/Twitter data
- preprocessing/generate_grid_scores.py
- Generate mapping of grid cells to census tracts (or equivalent) for city
- utils/gridcell_to_ct_mapping.py
- Gather crime data for city
- Aggregate grid data to census tract equivalent and set threshold for unsafe areas
- utils/aggregate_grid_values_to_ct.py
- Get Google and Mapquest routes for od-pairs
- mapping_platforms/get_routes.py
- Get GraphHopper routes for od-pairs
- see https://github.com/joh12041/graphhopper
- com.graphhopper.reader.osm.AlternativeRoutingExternalities
- Match Google and Mapquest routes to GraphHopper network for final metrics
- see https://github.com/joh12041/graphhopper
- com.graphhopper.reader.osm.AlternativeRoutingExternalities
- Merge together GraphHopper metrics and original data
- utils/merge_api_gh_results.py
- Route-level analyses between all routes
- routelevel-externalities/routelevel_externalities.ipynb
- Compute signiificant differences with GraphHopper fastest routes
- utils/significant_diff_segments.py
- Run community-level analyses
- community_externalities/calc_hmi.py
- Load in statsobjs_routeexternalities.pkl in routelevel_externalities/routelevel_externalities.ipynb