Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New features for EPC map #105

Draft
wants to merge 78 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
f74fc70
covid_scn: fixes hwy101 geometry loops; limits maximum zoom out dista…
Feb 2, 2021
f589b1f
covid_scn: update bar chart legend text colors
bhargavasana Feb 6, 2021
5265206
covid_scn: update bar chart x-axis labels
bhargavasana Feb 6, 2021
0b8f240
covid_scn: update top margins for headings
bhargavasana Feb 6, 2021
d37fc4c
trnobstrips: add street layer on top and make choropleth opaque
bhargavasana Feb 18, 2021
bcc9309
trnobstrips: update basemap
bhargavasana Feb 18, 2021
4572283
trnobstrips: text updates
bhargavasana Feb 20, 2021
bab89b1
cmprt: switch to cmp plus network
bhargavasana Mar 23, 2021
c8f7ba1
cmprt: different rounding for VMT and auto speeds
bhargavasana Mar 23, 2021
05ad859
cmprt: no decimal places for VMT
bhargavasana Mar 23, 2021
491d1ec
new viz: link aggregator initial commit
bhargavasana Mar 30, 2021
87961c2
test commit
Mar 30, 2021
e36a9ff
linkagg_inrix: added the agg link view and table
bhargavasana Mar 30, 2021
c7b36fb
Adding first working version of inrix link aggregation.
mdalfaro Mar 31, 2021
d142241
Adding the aggregate view and table modified by Bhargava earlier today.
mdalfaro Mar 31, 2021
7b9969e
Initial commit of TNC Parking Visualization.
mdalfaro Mar 31, 2021
85523ec
Added layers toggles; added user input form for aggregation details. …
mdalfaro Apr 1, 2021
7df3c83
Adding POST to API functionality, though not functional yet.
mdalfaro Apr 1, 2021
ee8c818
Fixes seg_id increment error; fixes cmp_name error; fixes colring; ad…
mdalfaro Apr 2, 2021
b5f976d
Completed: color coded link buttons; added xd_id feature to pushed co…
mdalfaro Apr 2, 2021
f637ce1
Completed: Added remove-from-db functionality. To Do: Fix a variety o…
mdalfaro Apr 2, 2021
24e751e
Fixed inability to click aggregated link more than once. cleaned up u…
mdalfaro Apr 2, 2021
11d4380
Adding length tracking functionality: 1) Displays on tooltip. 2) Adds…
mdalfaro Apr 5, 2021
85d966c
Blocked ability to remove original aggregated links; created loading …
mdalfaro Apr 14, 2021
452163c
Fixing minor link highlight bug.
mdalfaro Apr 14, 2021
1939196
linkagg_inrix: wait should be called in an async function
bhargavasana Apr 14, 2021
77921cf
linkagg_inrix: the geometry column in view is offset, not geom column
bhargavasana Apr 15, 2021
bbeb1ac
linkagg_inrix: move to new INRIX map v2101
bhargavasana Apr 15, 2021
82f5ab5
linkagg_inrix: replaced gid with either xdsegid or cmp_segid since th…
bhargavasana Apr 15, 2021
ea66450
linkagg_inrix: use non-offset geomjson for creating geometry for comb…
bhargavasana Apr 16, 2021
395d6ce
Offset enhancements; removed reliance on GID as key; removed window a…
mdalfaro Apr 19, 2021
e868cd3
Fixing cmpid creation bug
mdalfaro Apr 20, 2021
cdbbadf
linkagg_inrix: use cmp_segid for aggregate segment button removal
bhargavasana Apr 21, 2021
c78e8cc
Added ability to edit information in pushed aggregate links. Disallow…
mdalfaro Apr 23, 2021
a621bf0
Adding agg edit functionality.
mdalfaro Apr 23, 2021
826c005
Adds ability to edit pushed aggregated links. Removes functionality f…
mdalfaro Apr 23, 2021
18aa06d
Fixing edit aggregate link feature.
mdalfaro Apr 26, 2021
a06e0eb
Fixing edit aggregated link feature.
mdalfaro Apr 26, 2021
522e63b
Access to updated TNC Parking data; general outline of future end viz…
mdalfaro Apr 27, 2021
0fb0739
Fixing bugs in link editing tool. Move all listeners outside creation…
mdalfaro May 26, 2021
e0bdda7
Fixing bugs in link editing tool. Move all listeners outside creation…
mdalfaro May 26, 2021
b1c2b45
Fixing bugs in link editing tool. Move all listeners outside creation…
mdalfaro May 26, 2021
5bf9455
Fixing minor bug in link editing tool. Move all event listeners outsi…
mdalfaro May 26, 2021
05fe9d3
add a new cmp long-term tracker staging site
bhargavasana Nov 24, 2021
f997c07
Merge branch 'develop' of https://github.com/sfcta/prospector into de…
bhargavasana Nov 24, 2021
1d768bf
new viz: SF EPCs replace CoCs, based on updated ACS data
bhargavasana Nov 28, 2021
e989c86
cmp: add auto buffer time index metric and 2021 data export file
bhargavasana Dec 8, 2021
c4a05b9
cmprt: major update to include (1) expanded network and (2) an option…
bhargavasana Feb 1, 2022
0cec7ee
new viz: trnskims to visualize SF-CHAMP transit skims
bhargavasana Feb 5, 2022
84c681d
trnskims: bugfix, map not refreshing for transit submodes other than …
bhargavasana Feb 7, 2022
59f0eaa
fix the version of Vue to avoid breakage in future
bhargavasana Feb 8, 2022
90facbe
trnskims: ability to select skim attributes to map
bhargavasana Feb 9, 2022
597730e
cmprt: reduce hourly slider size
bhargavasana Mar 7, 2022
fa7b8a5
cmprt: play through time of day feature
bhargavasana Mar 7, 2022
98dd397
cmprt: stop play if VMT metric chosen
bhargavasana Mar 11, 2022
c4019d1
cmprt: remove references to week and replace with month
bhargavasana Mar 11, 2022
b5a3089
cmprt: turn on lazy loading for sliders
bhargavasana Mar 25, 2022
a23c253
cmprt: add a play/animate button for the month slider and account for…
bhargavasana Mar 26, 2022
40cccd5
cmprt: keep x-axis values constant in the trend chart
bhargavasana Mar 28, 2022
8fa9357
cmprt: change individual segment hourly chart type from area to line
bhargavasana Apr 1, 2022
b6542c4
cmprt: bugfix in TOD play where hr value was resetting to 1am instead…
bhargavasana Apr 1, 2022
1b9d79e
cmprt: update spedd diff and vmt diff color palette
bhargavasana Apr 14, 2022
c753364
cmprt: fix hover text to show year-month
bhargavasana Apr 14, 2022
bbbfb1b
cmprt: update hourly chart to include pre-COVID curve(s)
bhargavasana Apr 15, 2022
dd0e98e
cmprt: adjust pointsize for reference series in the hourly chart
bhargavasana Apr 15, 2022
618a432
cmprt: update help text for expanded and enhanced tracker
bhargavasana Apr 20, 2022
4a7872b
cmprt: improve play speed a little bit
bhargavasana Apr 28, 2022
b5557c8
cmprt: legend text udpate for speed pctdiff map
bhargavasana May 2, 2022
08b9139
update to show new 2022 sup district boundaries
bhargavasana Jun 24, 2022
cb76c17
epc: update sup dist key
bhargavasana Jun 24, 2022
2fc663a
Create epc2
nataliemakhijani Aug 1, 2022
7a3a706
Add donut chart
nataliemakhijani Aug 1, 2022
800da3d
Add bar charts, default back to city-wide details if no tract selecte…
nataliemakhijani Aug 18, 2022
962e37a
Add hightlighting
nataliemakhijani Aug 19, 2022
a758281
Standarise breakpoints for percentage rendering colours
nataliemakhijani Oct 19, 2022
453791c
Migrate new EPC vis into EPC page
nataliemakhijani Oct 19, 2022
7459e4b
Adds percentage toggle for chart data
nataliemakhijani Oct 20, 2022
41aaeae
Move additional layer controls below chart
nataliemakhijani Oct 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 4 additions & 2 deletions prospector-frontend/src/_includes/cmp.html
Expand Up @@ -90,6 +90,8 @@ <h2 style="margin-bottom:0px;">Congestion in San Francisco</h2>
<ul>
<li><b>Auto Level-of-Service (LOS)</b> grades road segments by vehicle delay with "A" describing free flow,
and "F" describing bumper-to-bumper conditions.</li>
<li><b>Auto Buffer Time Index</b> indicates auto travel time reliability. It is the extra time needed on average to not be late more than once a month.
A lower number means travelers experience more consistent travel times.</li>
<li><b>Transit Speed</b> reflects the average speeds including both when the buses are in motion as well as waiting at stops.</li>
<li><b>Transit Reliability</b> shows the variability in transit travel speeds. A lower percentage means transit speeds are more consistent.</li>
<li><b>Auto-Transit Speed Ratio</b> compares auto speeds to to transit speeds, with lower values indicating where transit is more competitive with auto.
Expand All @@ -99,7 +101,7 @@ <h2 style="margin-bottom:0px;">Congestion in San Francisco</h2>
<h2 style="margin-top:10px; margin-bottom:0px;">How to use this map</h2>
<hr style="margin-bottom:5px;margin-top:5px"/>
<ul>
<li>Select a metric to display it on the map for all segments, for the latest year (2019).</li>
<li>Select a metric to display it on the map for all segments, for the latest year (2021).</li>
<li>Move the year slider to map historic data.</li>
<li>Choose time period to display metric for AM or PM peak.</li>
<li>Click on a colored roadway segment on the map to see segment-specific trends.</li>
Expand All @@ -110,7 +112,7 @@ <h2 style="margin-top:10px; margin-bottom:0px;">How to use this map</h2>
&nbsp;OK&nbsp;
</button>

<button v-on:click="this.window.open('/assets/sfcta_cmp_data_2019.zip')"
<button v-on:click="this.window.open('/assets/sfcta_cmp_data_2021.zip')"
class="small ui right labeled icon floated yellow button"
style="margin-right:5px">
<i class="icon download"></i>
Expand Down
132 changes: 132 additions & 0 deletions prospector-frontend/src/_includes/cmp_test.html
@@ -0,0 +1,132 @@
<div id="container">

<div id="slide-panel" v-bind:class="{ shrunken: isPanelHidden}">
<div id="layer-widgets">
<button class="ui tiny green icon button"
v-on:click="clickedShowHide">
<i class="angle double icon"
v-bind:class="{ left: isPanelHidden, right: !isPanelHidden}"></i>
</button>
</div>
</div>

<div id="panel" v-bind:class="{ shrunken: isPanelHidden}">
<div id="preheader">
<hr/>
<h3 class="apptitle">CONGESTION EXPLORER</h3>
<div id="helpbar">
<button class="ui mini right labeled icon violet button"
v-on:click="clickToggleHelp">
<i class="help circle icon"></i>
What is this?
</button>
&nbsp;
<button class="ui mini right labeled icon violet button"
v-on:click="this.window.open('https://www.sfcta.org/congestion','_blank')">
<i class="arrow right icon"></i>
Learn More
</button>
<hr/>
</div>

<div id="picker">
<div id="vizbuttons" class="ui vertical buttons">
<button v-for="item in vizlist"
v-on:click="clickViz(item)"
class="ui grey button"
v-bind:class="{ active: item==selectedViz, yellow: item==selectedViz }">
${vizinfo[item]['TXT']}
</button>
</div>
</div>
</div>
<div id="header">
<div id="stats-panel">
<hr style="margin-bottom:-5px;" />
<div id="chartinfo"><h3 style="font-size: 22px;">${chartTitle}</h3></div>
<div id="geoinfo"><h5>${chartSubtitle}</h5></div>
<div id="longchart">
<div class="ui active dimmer">
<div class="ui text loader">Loading</div>
</div>
</div>
</div>
</div>

<div class="logo">
<div class="pickers">
<h5 style="margin-top:10px">CHOOSE YEAR:</h5>
<vue-slider v-bind="timeSlider" v-model="sliderValue"></vue-slider>

<h5>CHOOSE TIME PERIOD:</h5>
<button v-on:click="pickAM"
v-bind:class="{ active: isAMActive, yellow: isAMActive}"
class="mini ui grey button">
AM</button>
<button v-on:click="pickPM"
v-bind:class="{ active: isPMActive, yellow: isPMActive }"
class="mini ui grey button">
PM</button>
</div>
<br>

<hr/>

<div class="logo">
<a class="agency-link" target="_blank" href="https://www.sfcta.org">
<img class="img-logo" src="/assets/SFCTA Logo dark-background.svg" width="80%">
</a>
</div>
</div>
</div>

<div id="helpbox" v-if="showHelp" class="ui segment">
<div v-cloak> <!-- hides everything until Vue finished loading -->
<h2 style="margin-bottom:0px;">Congestion in San Francisco</h2>
<hr style="margin-bottom:5px;margin-top:5px"/>
Use this tool to explore performance metrics for both automobiles and buses on major San Francisco streets and highways.
These are monitored every two years, in accordance with state law for San Francisco’s Congestion Management Program.

<ul>
<li><b>Auto Level-of-Service (LOS)</b> grades road segments by vehicle delay with "A" describing free flow,
and "F" describing bumper-to-bumper conditions.</li>
<li><b>Transit Speed</b> reflects the average speeds including both when the buses are in motion as well as waiting at stops.</li>
<li><b>Transit Reliability</b> shows the variability in transit travel speeds. A lower percentage means transit speeds are more consistent.</li>
<li><b>Auto-Transit Speed Ratio</b> compares auto speeds to to transit speeds, with lower values indicating where transit is more competitive with auto.
If the ratio is 1 then auto and transit travel times are equal.</li>
</ul>

<h2 style="margin-top:10px; margin-bottom:0px;">How to use this map</h2>
<hr style="margin-bottom:5px;margin-top:5px"/>
<ul>
<li>Select a metric to display it on the map for all segments, for the latest year (2019).</li>
<li>Move the year slider to map historic data.</li>
<li>Choose time period to display metric for AM or PM peak.</li>
<li>Click on a colored roadway segment on the map to see segment-specific trends.</li>
</ul>

<div style="margin-top:20px;">
<button v-on:click="clickToggleHelp" class="small ui right floated violet button">
&nbsp;OK&nbsp;
</button>

<button v-on:click="this.window.open('/assets/sfcta_cmp_data_2019.zip')"
class="small ui right labeled icon floated yellow button"
style="margin-right:5px">
<i class="icon download"></i>
Download data (.zip)
</button>

<button v-on:click="this.window.open('https://www.sfcta.org/congestion','_blank')"
class="small ui right floated basic violet button"
style="margin-right:5px">
Learn more&hellip;
</button>

</div>
</div>
</div>

<div id="sfmap"></div>

</div>
47 changes: 39 additions & 8 deletions prospector-frontend/src/_includes/cmprt.html
Expand Up @@ -55,10 +55,35 @@ <h3 class="apptitle">COVID-ERA CONGESTION TRACKER</h3>

<div class="logo">
<div class="pickers">
<h5 style="margin-top:10px">CHOOSE WEEK:</h5>
<vue-slider v-bind="timeSlider" v-model="sliderValue"></vue-slider>

<div v-if="isHRActive & !isTPHidden">
<h5 style="margin-top:10px">CHOOSE TIME OF DAY:</h5>
<vue-slider v-bind="hrSlider"
v-model="hrValue"
style="width:85%; margin-right:5px; float:left">
</vue-slider>
<button class="mini ui inverted button"
style="padding: 5px 10px; margin-left: 10px;"
v-on:click="clickTODPlay"
v-bind:class="{ active: isPlayTODActive, red: isPlayTODActive}">
<div v-if="isPlayTODActive"><b>&#2405;</b></div>
<div v-else>&#9658;</div>
</button>
</div>

<h5 style="margin-top:20px">CHOOSE MONTH:</h5>
<vue-slider v-bind="timeSlider" v-model="sliderValue"
style="width:85%; margin-right:5px; float:left">
</vue-slider>
<button class="mini ui inverted button"
style="padding: 5px 10px; margin-left: 10px;"
v-on:click="clickMonPlay"
v-bind:class="{ active: isPlayMonActive, red: isPlayMonActive}">
<div v-if="isPlayMonActive"><b>&#2405;</b></div>
<div v-else>&#9658;</div>
</button>
<div v-if="!isTPHidden">
<h5>CHOOSE TIME PERIOD:</h5>
<h5 style="margin-top:3px">CHOOSE TIME PERIOD:</h5>
<button v-on:click="pickAM"
v-bind:class="{ active: isAMActive, yellow: isAMActive}"
class="mini ui grey button">
Expand All @@ -67,6 +92,10 @@ <h5>CHOOSE TIME PERIOD:</h5>
v-bind:class="{ active: isPMActive, yellow: isPMActive }"
class="mini ui grey button">
PM</button>
<button v-on:click="pickHR"
v-bind:class="{ active: isHRActive, yellow: isHRActive }"
class="mini ui grey button">
1-Hour</button>
</div>
</div>
<br>
Expand All @@ -88,11 +117,11 @@ <h2 style="margin-bottom:0px;">COVID-Era Congestion Tracker</h2>
Explore how congestion in San Francisco has changed since the March 2020 shelter-in-place order.
Automobile Level-of-Service (LOS) and Vehicle Miles Traveled (VMT) per mile are presented for key segments in the transportation network.
In addition, changes in these metrics relative to pre-COVID conditions can be viewed.</br>
The LOS are calculated using speed data from INRIX Roadway Analytics. Speeds are weekly averages calculated using
The LOS are calculated using speed data from INRIX Roadway Analytics. Speeds are monthly averages calculated using
data from Tuesday through Thursday of each week.
VMT metrics are derived using imputed vehicle volumes from observed speeds and Volume Delay Functions (VDF).
VMT estimates are derived using imputed vehicle volumes from observed speeds and Volume Delay Functions (VDF).
Total peak period VMT for key segments is expanded to Daily Citywide estimate by applying expansions factors derived from historic Caltrans VMT estimated for San Francisco.
The data on this website are updated every one to two weeks.
The data on this website are updated every month.

<ul>
<li><b>Auto Level-of-Service (LOS)</b> grades road segments by vehicle delay with "A" describing free flow,
Expand All @@ -109,8 +138,10 @@ <h2 style="margin-bottom:0px;">COVID-Era Congestion Tracker</h2>
<h2 style="margin-top:10px; margin-bottom:0px;">How to use this map</h2>
<hr style="margin-bottom:5px;margin-top:5px"/>
<ul>
<li>Move the week slider to update map with data from chosen week.</li>
<li>Choose time period to update map for AM (7a-9a) or PM (4:30p-6:30p) peak.</li>
<li>Move the month slider to update map with data from chosen month. Click the play button to automatically cycle through months.</li>
<li>Choose time period to update map for AM (7a-9a) peak, PM (4:30p-6:30p) peak or 1-Hour time periods.</li>
<li>Choosing the 1-Hour period provides an additional time-of-day option to update the map for a given hour of the day.</li>
<li>The chart on the side panel shows trends across the months when AM or PM peak periods are selected. It shows the variation across an average day when 1-Hour time period is chosen.</li>
<li>Click on a roadway segment on the map to see segment-specific trends.</li>
</ul>

Expand Down
16 changes: 8 additions & 8 deletions prospector-frontend/src/_includes/covid_scn.html
Expand Up @@ -27,7 +27,7 @@ <h1 class="apptitle">COVID Scenario Tool</h1>
</button>
</div>

<div id="picker" style="margin-top:15px">
<div id="picker" style="margin-top:20px">

<h3>CHOOSE PRESET SCENARIO</h3>
<select v-model="selectedPreset" class="col-3">
Expand All @@ -37,7 +37,7 @@ <h3>CHOOSE PRESET SCENARIO</h3>
</option>
</select>

<div style="margin-top:45px; margin-bottom:20px"><h3>CUSTOMIZE SCENARIO SETTINGS</h3></div>
<div style="margin-top:50px; margin-bottom:20px"><h3>CUSTOMIZE SCENARIO SETTINGS</h3></div>

<div class="col-1"><h5>Unemployment</h5></div>
<div class="col-2"><vue-slider v-bind="dim1Slider" v-model="dim1Value"></vue-slider></div>
Expand All @@ -59,7 +59,7 @@ <h3>CHOOSE PRESET SCENARIO</h3>
<label><h5>COMPARE TO BASELINE (PRE-COVID)</h5></label>
</div>

<h3 style="margin-top:10px">CHOOSE MAP</h3>
<h3 style="margin-top:15px">CHOOSE MAP</h3>
<div id="vizbuttons" class="ui vertical buttons" style="margin-bottom:15px">
<button v-for="item in vizlist"
v-on:click="clickViz(item)"
Expand Down Expand Up @@ -122,7 +122,7 @@ <h5>CHOOSE INCOME CATEGORY</h5>
<h5>SCENARIO: ${scnTitle}
<i class="tooltip question circle icon"><span class="tooltiptext"> ${scnDesc}</span></i>
</h5>
<h5 v-if="selectedScn>1"><span style="color: #348cc0">Baseline</span>&nbsp;&nbsp;&nbsp;<span style="color: #cd7f9e">Scenario</span></h5>
<h5 v-if="selectedScn>1"><span style="color: #7FBADC">Baseline</span>&nbsp;&nbsp;&nbsp;<span style="color: #DBA4AA">Scenario</span></h5>

<div id="chart1" class="chcol1">
<div class="ui active dimmer">
Expand All @@ -133,10 +133,10 @@ <h5 v-if="selectedScn>1"><span style="color: #348cc0">Baseline</span>&nbsp;&nbsp
<div id="chart3" class="chcol3"></div>
<div id="chart4" class="chcol4"></div>

<div class="chcol1">SF-Res Trips (000s)</div>
<div class="chcol2">Avg. Speed (mph)</div>
<div class="chcol3">Muni Brdgs. (000s)</div>
<div class="chcol4">VMT (million)</div>
<div class="chcol1">SF-Res Trips<br>(000s)</div>
<div class="chcol2">Avg. Speed<br>(mph)</div>
<div class="chcol3">Muni Brdgs.<br>(000s)</div>
<div class="chcol4">VMT<br>(million)</div>
<!--h5 style="margin-top:5px">SCENARIO SUMMARY</h5-->
<!--table id="sumtable">
<thead>
Expand Down