Commit Graph

7577 Commits

Author SHA1 Message Date
Dustin Carlino
b969dbffe1 Save LTN binary proposals on web, invoking the sacred base64 dance to
work with browser local storage. #856

... and redraw filters after loading a proposal, which I broke a few
days ago
2022-02-10 17:38:08 +00:00
Dustin Carlino
205c17a2f0 Remove the command to do Raw->Map conversion in parallel, now that I've got pueue working. That command has major caveats with a few cities anyway. #326 2022-02-10 16:12:03 +00:00
Dustin Carlino
741040840a Use pueue to import cities in parallel as separate processes. #326
We need to name elevation directories differently to avoid conflicts
2022-02-10 16:02:43 +00:00
Dustin Carlino
9054666a0b Use RDP simplification to road center-lines when we glue them together after collapsing degenerate intersections. This is a followup to #833.
And clean up some other things that RDP does better.

Fallout from regenerating everything:

- Enfield borough crashed, so removed it
- All UK scenarios are now much bigger, due to the changes in #853 being
  picked up
- Poundbury gridlocks now due to that
2022-02-10 14:40:11 +00:00
Dustin Carlino
51e363b39b Bring in some Bristol OSM fixes that unbreak a particularly ridiculous junction, so the LTN tool does better 2022-02-10 11:01:40 +00:00
Dustin Carlino
8c20298c69 ...And forgot to upload data for previous 2022-02-09 22:23:48 +00:00
Dustin Carlino
2cca84c19b Import most London boroughs. #794
I used the simplified boundaries from
https://skgrange.github.io/data.html. 4 boroughs failed early in
conversion, need to investigate separately. Plenty of weird clipping
issues with the Thames.
2022-02-09 22:12:16 +00:00
Dustin Carlino
d5f7756d5f Import another part of Melbourne 2022-02-09 16:39:05 +00:00
Dustin Carlino
3729cba0c7 Always draw modal filters for the whole map, even in per-neighborhood views. For example, in the pathfinding view, now the 'before' route can cross existing filters anywhere, so it's kind of necessary to actually see them 2022-02-09 16:28:46 +00:00
Dustin Carlino
3de1ab3d9d Detect existing modal filters in OSM and represent them more directly. #851 2022-02-09 15:59:04 +00:00
Dustin Carlino
7fdfdd5e10 Import Melbourne 2022-02-08 09:45:03 +00:00
Dustin Carlino
c1a58e683b Use a 'back button' style a few places in the LTN tool, from UX session with Robin 2022-02-08 09:17:28 +00:00
Dustin Carlino
1c93af8850 new release 2022-02-06 17:41:19 +00:00
Dustin Carlino
2280a1088b Tiny UI change to trigger that Sunday [rebuild] [release] 2022-02-06 09:27:51 +00:00
Dustin Carlino
69d2fdd39b Standardizing app header and handling in the LTN tool. The select boundary UI was also missing button handlers... 2022-02-04 10:33:09 +00:00
Dustin Carlino
b06129da58 Add a way to temporarily flag off the slower blockfinding from #841 while working on maps that don't have the problem. 2022-02-04 10:07:54 +00:00
Dustin Carlino
bac81d25b8 Fix standard app buttons from LTN impact tool that weren't wired up 2022-02-04 10:00:26 +00:00
Dustin Carlino
ba84d564b8 Simplify the .zip release directory structure, getting rid of a nested directory that was originally meant to encourage people to use the script that captures logs. [rebuild]
This fixes a bug where switching from one of the other apps (LTN, 15m,
Santa) to the simulation crashes, because find_exe doesn't look in the
special subdirectory for game.
2022-02-04 09:49:47 +00:00
Dustin Carlino
b62954ef30 Add procgen houses for Levenshulme, since parts of the map are just missing buildings.
Regenerate the scenario in S3 now. Comparison with traffic counts barely
changed, so this didn't make much of a difference, but it can't hurt.
2022-02-03 14:40:57 +00:00
Dustin Carlino
9323b4dc37 Count throughput at border intersections #848 2022-02-03 14:29:50 +00:00
Dustin Carlino
ba5bf26072 Overhasty push on the last commit 2022-02-03 14:22:03 +00:00
Dustin Carlino
f22590ae0c Refactor MapBorders, used to snap trips starting/ending off-map to a
border. Try weighting by road classification. #848

No behavioral change for anything except UK scenarios. Still not
regenerating those.
2022-02-03 14:20:03 +00:00
Dustin Carlino
b93850406f Revive efforts on the generic desire line -> scenario pipeline. Include desire lines for zones that don't intersect the map boundary at all, with very simple border intersection snapping.
Note this changes all UK scenarios, but I'm not going to regenerate any
of them and put in S3 until I'm getting decent results at least in
Manchester.
2022-02-02 16:28:49 +00:00
Dustin Carlino
b9872f6a46 Quickly compare Levenshulme sensor data to generated scenarios, from the console (I guess the UI isn't as useful as I expected yet) 2022-02-02 14:55:53 +00:00
Dustin Carlino
487e1ba870 Move traffic counting code into synthpop. In the short-term, I want to quickly check a generated demand model against sensor data. Eventually some kind of calibration may live in this crate. Regardless, counts aren't just a UI concept. 2022-02-02 14:24:02 +00:00
Dustin Carlino
7509d0fa11 Don't draw border intersection outlines when they're filtered 2022-02-02 10:03:50 +00:00
Dustin Carlino
a7ded378e1 Apply the auto-LTN heuristics to the whole map with one click 2022-02-02 10:01:36 +00:00
Dustin Carlino
d6dc9de221 Add a mode to show quietness / rat runs for all neighborhoods at once 2022-02-02 09:51:01 +00:00
Dustin Carlino
635f508540 At really low zoom levels, draw modal filters using the scale-invariant
circles. Otherwise they're just impossible to see. Since they're the
most important thing to show in the LTN tool, seems worth it.

This helps proceed on #851
2022-02-02 09:20:10 +00:00
Dustin Carlino
067fdb8649 Parse GeoJSON data as ExtraShapes, to debug UK zones 2022-02-01 15:40:23 +00:00
Dustin Carlino
428451478c Conveniently open OSM objects from LTN tool. #851 2022-02-01 14:58:03 +00:00
Dustin Carlino
c5d022d7be Prevent traffic count tool from crashing when one dataset is mostly not filled out 2022-02-01 10:52:57 +00:00
Dustin Carlino
e3bdc086ac Add road search tool to per-neighborhood states. #848 2022-02-01 10:27:45 +00:00
Dustin Carlino
e0b6e94f26 In the LTN browse and connectivity tool, draw the areas after the map
background and water/parks, but before everything else. It's much easier
to understand the actual basemap this way -- you can see roads clearly.
2022-02-01 09:31:28 +00:00
Dustin Carlino
e5704f4a6d Prevent many cases of blocks with overlapping geometry or that extend
too far, by not trying to trace near railways or cycle-only
bridges/tunnels. This is an imperfect heuristic, but it makes
significant progress in most maps.
2022-01-31 16:03:21 +00:00
Dustin Carlino
060decbdd3 Put a minimal UI around saving/loading LTN proposals 2022-01-31 13:30:55 +00:00
Dustin Carlino
f8dfe32c04 Save LTN edits to files and load from CLI. No proper UI yet, and the
format isn't future-proof at all.
2022-01-31 13:30:55 +00:00
Dustin Carlino
942c3ecdaf Make SimpleApps all manage their own CLI parsing, so they can add their own overrides. 2022-01-31 13:30:55 +00:00
Dustin Carlino
eda9ff20bd new release 2022-01-30 19:30:52 +00:00
Dustin Carlino
0058f99da2 Mechanical rename of TripEndpoint::Bldg to ::Building, mostly to kick off a [rebuild] [release] 2022-01-30 18:27:36 +00:00
Dustin Carlino
3d33d2743b Document the new synthpop crate.
I regenerated some scenarios; no diff. The prebaked summaries change a
bit, but not the prebaked results -- not sure, but going to proceed.
2022-01-28 13:13:43 +00:00
Dustin Carlino
638e93c36a Stop re-exporting stuff from synthpop in sim 2022-01-28 13:13:43 +00:00
Dustin Carlino
f171ddcb73 Get everything to build again... 2022-01-28 13:13:43 +00:00
Dustin Carlino
9845d9cae1 Implement the two public TripEndpoint methods in synthpop, but without needing to drag in SidewalkSpot and DrivingGoal 2022-01-28 13:13:43 +00:00
Dustin Carlino
3f8689b9ea Rearrange methods defined on Scenario that're only for the sim crate 2022-01-28 13:13:43 +00:00
Dustin Carlino
231acf47a2 Step 2: try to get the sim crate to build again
Scenario and TripEndpoint have some methods defined on them that're
specific to sim. Do we rearrange these methods entirely or make some
kind of wrapper types?
2022-01-28 13:13:43 +00:00
Dustin Carlino
e45a5181db Split the "input" layer of the sim crate into a synthetic population
crate, in preparation for future focus on travel demand models that
incorporate more per-person info.

Note: I'm also a bit tempted to try to further split sim into a
"high-level" layer that orchestrates spawning and different legs of a
trip, from the "low-level" layer that moves pedestrians and vehicles.
That could _possibly_ pave the way for someday using a different traffic
simulation backend with more realistic movement mechanics.

Step 1: just get the synthpop crate to build
2022-01-28 13:13:43 +00:00
Dustin Carlino
6c2a581be5 Simplify traffic count code -- directly deal in Counters 2022-01-28 10:40:56 +00:00
Dustin Carlino
921228b7bf Add a headless API command to load a map with an empty simulation. #838 2022-01-28 09:37:25 +00:00
Dustin Carlino
47962cfdbd Add a headless API command to snap a point to the nearest road, for https://github.com/dabreegster/urban_observatory_abst 2022-01-27 17:44:48 +00:00