Commit Graph

234 Commits

Author SHA1 Message Date
Dustin Carlino
3cda1342ab Fix nondeterminism in z-ordering for lanes, hopefully removing noise from the screenshot diff test.
(Ideally there'd be no overlapping lanes in the first place, but that's
quite hard)
2021-06-25 12:29:55 -07:00
Dustin Carlino
5161474955 Stop building huge_seattle twice in the importer workflow
I have some fuzzy vision of declaring all importer pieces as a dependency graph, with optional caching of some input, that would express this kind of thing better. But... in the meantime.

Now regenerating everything...
2021-06-25 12:18:04 -07:00
Dustin Carlino
44171500b7 Get the Green Lake map to complete without gridlock!!!
- Allow blocking the box around two complex intersections in Green Lake.
  This makes the vehicle behavior much more realistic there, by visual
  inspection.
- Amp up offstreet parking to 10 per building. I noticed the simulation
  completes easily with --infinite_parking. This is an approximation of
  that. We make really bad guesses about carpooling and the amount of
  parking available around here, so effectively just remove it from
  consideration for now.
2021-06-23 13:56:42 -07:00
Dustin Carlino
799fdfbbc0 Don't start lane-changing while still being a laggy head. Fixes the crash. #392
Now prebake data again, and upload everything
2021-06-22 18:36:35 -07:00
Dustin Carlino
e08ddba241 Bring in fresh Seattle OSM data with the new cycletrack mapped around
Green Lake, and fix some missing support for bidi cycletracks.
2021-06-22 08:31:16 -07:00
Dustin Carlino
69152f00ad Fix critical dynamic blockage math bug. Stops some crashes in some cases, including the tests -- which run again. Manually verified the turn goldenfile diff in the UI and regenerated prebaked data. #392 2021-06-21 20:37:11 -07:00
Dustin Carlino
03db0675cc Add a Seattle map covering Green Lake 2021-06-20 10:51:30 -07:00
Dustin Carlino
3b748ee9fa Implement dynamic blockages and use them for lane-changing. #392
This is conceptually simple and improves the behavior of vehicles
that're following a LCing leader.

Regenerate prebaked results -- no new gridlock!
2021-06-19 12:35:19 -07:00
Dustin Carlino
8f199177f5 Upgrade to Rust 1.53
- arrays are now iterable directly
- switch to using BTree{Set,Map}::retain!
- a round of clippy
- regenerate scenarios and prebaked data; not sure why, but there's a
  diff
2021-06-17 23:04:35 -07:00
Dustin Carlino
0f7299f091 Found the bug with the previous commit. Keeping this separate to point out the issue. Reasoning using get_active_cars is super dangerous; likely going to remove it. #555
But finally, regenerate prebaked data successfully and commit all of
this. It's done. Blocking driveways on exit works now
2021-06-17 13:39:26 -07:00
Dustin Carlino
321e7cd0ee Allow exiting a driveway onto any lane (in the same road direction). #555
- Support this at the pathfinding level, when transforming v2->v1
- Adjust how the vehicle's body is rendered as it exits a driveway onto
  a farther lane

No support yet for blocking any intermediate lanes; vehicles may clip
through each other without any conflict. Planning to add that
separately.

Regenerating all scenarios and prebaked data...
2021-06-16 15:46:09 -07:00
Dustin Carlino
484720d648 Add code to include pass-through trips (border->border) from Soundcast data. #665
... But leave it disabled, until we can handle such larger file sizes
and levels of traffic.

And although this should be a behavioral no-op, there's a diff in the
scenario files, so recalculate them.
2021-06-14 16:23:14 -07:00
Dustin Carlino
972f5b0187 Lower the priority of service roads when placing stop signs
Regenerate all data. Wallingford started gridlocking due to this change;
plowing ahead and will follow up and fix it.
2021-06-11 09:40:44 -07:00
Dustin Carlino
fc4f0a8c8e Some Tempe fixes:
- Stop importing rail in Tempe. Not simulating anything on it yet, and it complicates gridlock. #672
- Update the GMNS timing.csv import based on slight format change. #626
2021-06-09 16:35:46 -07:00
Dustin Carlino
d827673ace Periodically free memory in the middle of screenshot test, to avoid
running out on my current machine. Fixes #671.

Finally regenerate screenshots for the first time in ages... just
blindly accepting everything, because the slightly different screen size
means everything was slightly shifted down.
2021-06-09 14:31:40 -07:00
Dustin Carlino
ecce96fd75 Grab new Tempe OSM data after lots of fixes upstream to 13th/Mill. #654 2021-06-07 19:10:02 -07:00
Dustin Carlino
5127a82b54 Import Tehran 2021-06-01 10:19:06 -07:00
Dustin Carlino
cf6b2f6db7 Rewrite the heuristics for stop signs. Similar to traffic signals, only
count incoming roads when figuring out if an intersection is degenerate.
Also make link roads (on/off ramps) lower priority than the main part of
the road.

Regenerated everything.

(and fixing up the cloud scripts)
2021-05-27 15:37:46 -07:00
Dustin Carlino
53430319b1 Filter out trips between the same place. Regenerate all Britain background scenarios. Fixes #664 2021-05-27 07:57:25 -07:00
Dustin Carlino
455399b90e Collapse degenerate intersections between cycle+footpaths. At various
times in the past, I've also tried doing this for other roads, but wound
up reverting for reasons only git remembers. But it seems like an
obvious win for bike paths; especially around Seattle, the ways are
split because of all of this raised curb data we're ignoring anyway.

Tested manually around Montlake.

Finally regenerating all data... Only Phinney breaks. One for tomorrow.
2021-05-26 22:27:29 -07:00
Dustin Carlino
e4a95b604e Fix Rainier Valley gridlock, fallout from #664.
https://www.openstreetmap.org/changeset/105381427 mapping a turn lane is
the fix, preventing crazy U-turns using the service road. Not sure how I
missed that lane when looking here before. I made the edit to .osm
locally instead of grabbing fresh data for all of Seattle.
2021-05-26 15:02:20 -07:00
Dustin Carlino
9fc79b1089 Use explicit start/endpoints for trips in scenarios. This is necessary
for people that leave one border, then re-enter a different one. #664

Alternative considered: insert a dummy remote trip between the two
borders. We used to do something like this at non-trivial code
complexity expense and having to explain the trip in the UI.

Regenerated all scenarios and prebaked data.

- Modest file size increase, as expected. Montlake scenario goes from
  1.3MB to 1.5, downtown from 37MB to 43MB, all Seattle scenarios from
  280MB to 327MB
- Eyeballed a few of the previously broken trips; they work now!
- Montlake goes from 3127 cancelled trips to just 302!
- No new gridlock, except in Rainier Valley -- disabling that for now
- I discovered missing validation in Poundbury for no-op trips between
  the same building. I'll filter those out and restore prebaked results
  there in a followup.
2021-05-26 14:30:01 -07:00
Dustin Carlino
3b375078b1 Prebake data until the simulation is done, not just until midnight. That
way, we have trip stats for people starting near the end of the day, and
we stop incorrectly showing failed trips when comparing.

Prebaked data: no change in size (245MB)
Montlake: 3135 "cancelled" trips -> 3127
Lakeslice: 6766 "cancelled" trips -> 6647
2021-05-26 10:22:09 -07:00
Dustin Carlino
4bd79cabbf Upload regenerated map data and address turn restriction PR feedback 2021-05-25 20:24:11 -07:00
Dustin Carlino
f586ca262d Upload new prebaked data after #662. This diff shows the file size
increase
2021-05-25 16:09:35 -07:00
Dustin Carlino
f1aacb04e7 Import Chorlton for a demo 2021-05-24 10:13:09 -07:00
Dustin Carlino
bbc9adc3b7 Initially import Gilbert, AZ 2021-05-21 12:36:20 -07:00
Dustin Carlino
70d6bf52d2 Fix the "growing intersection" bug that happens when repeatedly using
the new road editor, by "untrimming" the road center points. Fixes #655
2021-05-19 22:24:44 -07:00
Dustin Carlino
e876998958 Add new actdev site, Cricklewood in London 2021-05-19 13:35:49 -07:00
Dustin Carlino
4192f74050 Import Auckland... even though the coastline is a bit missing 2021-05-11 11:55:54 -07:00
Dustin Carlino
1e5771897f Fix lakeslice gridlock; S Charles and Rainier has a tiny driveway causing low throughput due to cars not wanting to block the box 2021-05-11 10:55:01 -07:00
Dustin Carlino
5bac09bf2a Restore popdat.bin and Seattle scenarios and prebaked data. For whatever reason, the GDAL transformation is returning coordinates in a flipped order on my new machine.
Lakeslice prebaked disabled, because it starts gridlocking around 5pm.
I'll fix separately.
2021-05-11 09:34:40 -07:00
Dustin Carlino
88f50ee1c3 Regenerate all data...
First time doing this in about a week. Trevor's new amenities should
show up, and lane widths are now adjusted. Haven't yet regenerated
the screenshot diff, because it's segfaulting (!!) for some reason. And
Seattle's popdat.bin and ALL of the scenarios are temporarily hosed. So
if you pull from git head and run the updater, expect some weirdness.
Working on fixing this.
2021-05-10 20:10:23 -07:00
Dustin Carlino
5a86a7cef1 Import part of Maryland for a demo 2021-05-10 14:40:53 -07:00
Dustin Carlino
6d4545eacb Let the updater upload just a few changed/added files. This'll be useful temporarily while my main machine is still hosed, and I think it could be used with AWS Batch to upload results from importing in the cloud. #326
Finally we can push an updated map of Hiroshima for #636.
2021-05-06 12:01:53 -07:00
Dustin Carlino
eea136d2ca Import Frýdek-Místek 2021-04-30 12:03:09 -07:00
Dustin Carlino
f495444c42 Consolidate the actdev import script into one step, and import 8 new
sites
2021-04-27 13:13:14 -07:00
Dustin Carlino
96a39d79f2 Upload Milwaukee data from #625 to S3 2021-04-26 18:57:21 -07:00
Dustin Carlino
a09bbd37c2 Improve the geometry of some consolidated intersections by taking the
convex hull. In many cases, this removes interior "jaggedness".

Regenerate all data... [rebuild]
2021-04-24 12:58:05 -07:00
Dustin Carlino
55127924ea Fix more junctions in Tempe, and opt it into the screenshot testing 2021-04-23 18:04:00 -07:00
Dustin Carlino
37fe59451e Re-import Tempe after many upstream junctions fixed in OSM 2021-04-23 15:25:00 -07:00
Dustin Carlino
298d322054 Record the time of a problem, and add a filter for that in the layer. #600
Also change the dot map color to purple, start with the heatmap by
default, and add the count to the panel.

Regenerate prebaked data
2021-04-23 10:15:52 -07:00
Dustin Carlino
21bfb801d3 Import Hiroshima 2021-04-20 07:58:38 -07:00
Dustin Carlino
7176994a87 Refactor CarID to be a struct, not a tuple
And regenerate prebaked data from a few commits ago
2021-04-19 15:16:48 -07:00
Dustin Carlino
478a146350 Display a caution icon for large intersection crossings, and add tooltips for all drawn problems. #600 2021-04-19 11:40:39 -07:00
Dustin Carlino
96d2f35779 Refactor handling of the fast_paths unused-last-node problem.
Now regenerating everything...
2021-04-16 20:14:16 -07:00
Dustin Carlino
9d4587d000 Import some OSM fixes to render LCID better for a demo. #601 2021-04-15 10:32:26 -07:00
Dustin Carlino
292945c841 Recalculate seattle collision data. The data format got out of sync at some point, and I just now noticed. 2021-04-14 18:02:02 -07:00
Dustin Carlino
361bd7b8ed Shrink boundary around Tempe to focus on the campus 2021-04-12 14:28:49 -07:00
Dustin Carlino
417850cbed Import a part of Singapore 2021-04-11 08:44:49 -07:00