Johnny Vector
Member
But then you'll miss out on the fiberglass moose!Sweet. My parents' summer place is 2 miles away. Beats the rest areas in Kennebunk.
You can install our site as a web app on your iOS device by utilizing the Add to Home Screen feature in Safari. Please see this thread for more details on this.
Note: This feature may not be available in some browsers.
But then you'll miss out on the fiberglass moose!Sweet. My parents' summer place is 2 miles away. Beats the rest areas in Kennebunk.
I'm further up in Maine. I can still see the moose when I'm on the way home from places south of Kittery.But then you'll miss out on the fiberglass moose!
supercharge.info. Bottom-most chartThat was really fast…any idea what the record is for Supercharger construction?
I don't think that's what that chart shows. It's all the ones currently in a given state, not how long each one was in that state, right? The database may have the necessary info to find how long a given station was in construction status, but it doesn't appear in the "data" tab, and that's as much as I know.supercharge.info. Bottom-most chart
Wells actually wasn't that fast... construction started on or about 2/6/2023 and opened 5/26/2023. There have been some projects using the pre-fab supercharger technique that have opened in about 2 weeks start-to-finish although that's unusual.That was really fast…any idea what the record is for Supercharger construction?
I don't think that's what that chart shows. It's all the ones currently in a given state, not how long each one was in that state, right? The database may have the necessary info to find how long a given station was in construction status, but it doesn't appear in the "data" tab, and that's as much as I know.
Also the dates there are when they were entered on the site, not necessarily when construction started. Stations are often discovered and entered when almost complete, so the time in construction status on supercharge.info isn't necessarily the actual time it took to construct.
Thanks for pointing this out - I've relayed this for awareness.You can use the Supercharge.info changes tab to grab a lot of the status changes, but unfortunately they've changed it to use a graphic for the status, which means copy-paste doesn't include the status, making it harder to do a calculation. Probably need to identify the service and download. I've copy-pasted the HTML using browser tools, but not edited and calculated yet.
But more to the point, locations aren't always identified as being under construction as soon as construction begins so while we might see a short time on Supercharge.info, it could be longer.
We have two APIs available for further manipulation of the data, but I think we're going to restore the status text in the changes tab soon so this older behavior is enabled again. Generally you can use the "all sites" endpoint and each entry either has an "open date" or a "status days" field filled out so you don't have to combine the site list with the changes list.You can use the Supercharge.info changes tab to grab a lot of the status changes, but unfortunately they've changed it to use a graphic for the status, which means copy-paste doesn't include the status, making it harder to do a calculation. Probably need to identify the service and download. I've copy-pasted the HTML using browser tools, but not edited and calculated yet.
But more to the point, locations aren't always identified as being under construction as soon as construction begins so while we might see a short time on Supercharge.info, it could be longer.
// First visit https://supercharge.info/service/supercharge/allChanges
let data = JSON.parse(document.body.innerText).reduce((a,c) => {
a[c.id]=c;
return a
}, {});
let grouped = Object.keys(data).sort().reduce((a,c) => {
if (!(data[c].siteId in a)) {
a[data[c].siteId] = [c];
} else {
a[data[c].siteId].push(c);
}
return a
}, {});
let results = Object.keys(grouped).reduce((a,c) => {
let e = grouped[c].filter(e => ['CONSTRUCTION','OPEN'].includes(data[e].siteStatus));
if(e.length >= 2 && data[e[0]].siteStatus == 'CONSTRUCTION' && data[e[1]].siteStatus == 'OPEN') {
a[c] = (new Date(data[e[1]].date) - new Date(data[e[0]].date))/86400/1000
}
return a
}, {});
let top100 = Object.keys(results).sort((a,b) => results[a] - results[b]).slice(0, 100).map(e => data[grouped[e][0]].siteName + ' - ' + results[e] + ' days');
console.log(top100.join('\r\n'))