Commit Graph

7690 Commits

Author SHA1 Message Date
Dustin Carlino
651a1f571a Slow down pedestrians when they're on a crowded sidewalk. #859 2022-04-23 21:18:26 +01:00
Dustin Carlino
9b4abae174 Fix a treachurous bug that was crashing the simulation, first uncovered
by chance in #870.

A vehicle exits a driveway and blocks a lane on its way out. When we try
to clear the static blockage, the queue calculation recurses to resolve
distances on the queue where that vehicle is entering. But since we
temporarily don't have the car in the list of cars (for the borrow
checker), it was crashing.

One of those "2 hours to figure out, 30 seconds to fix" bugs.
2022-04-23 20:03:28 +01:00
Michael Kirk
b867859dde update to polylabel 2.4.1 2022-04-22 18:13:36 +01:00
Michael Kirk
d76bb3fbbd update to geo 0.20.1 2022-04-22 18:13:36 +01:00
Dustin Carlino
b64874b92c Simplify the intersection geometry interface, which also simplifies the implementation a bit. #893 2022-04-22 14:58:37 +01:00
Dustin Carlino
4d443ba4c8 Cut the intersection geometry algorithm itself over to the new API directly. #893
Verified no behavioral change. Much more cleanup is now possible inside
algorithm.rs. But most importantly, the InitialMap stuff only has 3
purposes -- all actually focused on producing final geometry.
2022-04-21 17:17:36 +01:00
Dustin Carlino
255028fd87 Remove another small use of InitialMap for saving geojson tests. #893 2022-04-21 16:27:15 +01:00
Dustin Carlino
d175652149 Refactor all intersection geometry callers to use newer API. #893
This pushes most uses of InitialMap inside raw_map.
2022-04-21 16:15:49 +01:00
Dustin Carlino
8244a900cf Refactor constructors for RawRoad and RawIntersection. #893 2022-04-21 14:32:48 +01:00
Dustin Carlino
8a23b347e5
Save LTN proposals in a more future-proof format (#894) 2022-04-21 04:40:00 -07:00
Dustin Carlino
3aa711acf4 When you click a degenerate intersection in the LTN tool, still cycle through no filters or a filter on each of the adjoining roads. Otherwise there's unintuitive unclickable space. 2022-04-19 09:55:01 +01:00
Dustin Carlino
78897ff29c Restore the bus route goldenfile test for a few maps, now that #372 is somewhat active again 2022-04-18 12:36:22 +01:00
Dustin Carlino
e66cb88c5d Rearrange intersection geometry code and start goldenfile tests to pick up changes. #846 2022-04-18 08:48:07 +01:00
Dustin Carlino
7f50baa4c8 Don't crash when following a bus that's finished. #372 [rebuild] [release]
The UX of bus info panels is terrible, but just unbreak this.
2022-04-17 17:31:59 +01:00
Dustin Carlino
7b77b070a8 Draw diagonal filters the same as regular filters (with a circle and a line) 2022-04-17 17:19:34 +01:00
Dustin Carlino
832f02cad9 Always draw unzoomed LTN filters as a red circle with a white line, even
when very unzoomed
2022-04-17 17:19:34 +01:00
Dustin Carlino
e1f27ec1f9 Add a smoke test that PT doesn't crash the simulation, and relax a check
to get this test to pass. #372

Now regenerate the maps with PT
2022-04-17 17:14:26 +01:00
Dustin Carlino
237f00d1cc Centralize logic in TransitRoute::all_path_requests. Stop repeating it
in the sim transit layer. Simplify the sim transit state accordingly.

Along the way, temporarily sacrifice tracking the paths taken by transit
passengers -- it wasn't correct before.

Not regenerating maps yet.
2022-04-17 11:13:05 +01:00
Dustin Carlino
d386948a13 Import GTFS for São Paulo 2022-04-14 15:19:29 +01:00
Dustin Carlino
9ffab3c976 Don't use assemble_ltr outside of raw_map; it's one small complication to switching to osm2lanes for https://github.com/a-b-street/osm2lanes/issues/71 2022-04-14 09:41:18 +01:00
Dustin Carlino
3657d89702 Remove old command used for osm2lanes test generation. https://github.com/a-b-street/osm2lanes/issues/2 2022-04-13 22:17:55 +01:00
Dustin Carlino
069348a8a7 Grab fresh OSM data for London 2022-04-13 17:26:02 +01:00
Dustin Carlino
914ee80a7c In the LTN route planner, draw waypoints on top of the routes 2022-04-12 16:16:30 +01:00
Dustin Carlino
cf3773eda8 Draw unzoomed lines and circles in the zorder they're added, instead of
one shape after another
2022-04-12 16:15:38 +01:00
Dustin Carlino
79ffe99562 Fix the map_editor web link. The input data directory is in a funny place. Unfortunately, the app will immediately clobber the URL after loading, and switching maps won't work. 2022-04-12 15:52:01 +01:00
Dustin Carlino
54a7b08ee4 Don't run docker and try to import elevation data when importing one-shot maps from the UI. The results with SRTM aren't any good, and for people who happen to have docker, it can be a surprising and slow extra step. 2022-04-12 15:45:50 +01:00
Dustin Carlino
27e94662e8 Add a regression test to make sure A/B testing has no spurious diffs. #868
I made sure the test fails before the fix from
b89e716d0c
2022-04-09 18:17:24 +01:00
Dustin Carlino
7466fafc8c Upgrade to Rust 1.60 [rebuild] 2022-04-08 10:08:11 +01:00
Dustin Carlino
1c05a99969 Try tracing paths more precisely along road edges, even with changing widths. Use in the experimental bus tool. It needs work, but solid start. 2022-04-04 19:12:00 +01:00
Dustin Carlino
6aa71539a5 Start mocking out a UI to sketch bus routes, showing people and places
nearby. Shove it in the 15m tool momentarily.

Also make the thresholds/colors for isochrones more configurable.
2022-03-30 15:56:37 +01:00
Dustin Carlino
f00d9ff24c new release 2022-03-28 14:47:59 +01:00
Dustin Carlino
d6dc4332b0 Make the LTN impact UI easier to see. Draw less stuff, only focus on roads with changes [rebuild] [release] 2022-03-28 11:13:17 +01:00
Dustin Carlino
33eac8cba8 Transition the old path debugger to using the split Pathfinder for
custom RoutingParams. #852
2022-03-26 09:39:54 +00:00
Dustin Carlino
2e4e11f6b0 Flesh out the UI for showing specific changed paths 2022-03-25 16:20:40 +00:00
James Nebeker
891ea04e90
Issue 173 (#885)
* implemented logic to invert a polyline based on the quadrant of the polyline's angle

* Fixes for PR #885 on Issue #173.

* Reverted changes to render_curvey

Because of borrow checker limitations, I reverted the changes to the way
we call render_curvey. It is now called twice, depending on whether the
road is curved or straight. I also enclosed the implementation in an
ALWAYS-FALSE if else statement in order to deactivate it until some
remaining issues with text label rendering are resolved.

* Fix formatting

Co-authored-by: jamesneb <jnebeker@truckitapp.com>
Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2022-03-25 06:23:06 -07:00
Dustin Carlino
272408002f Ignore spurious changes in pathfinding for the LTN impact tool. #868 2022-03-25 13:15:33 +00:00
Dustin Carlino
1126972fdd For roads we predict to get more/less traffic from LTN interventions,
click them and explore specific routes.

UI needs plenty of work.

And the results show plenty of spurious changes not explained by new
filters.
2022-03-25 12:07:23 +00:00
Dustin Carlino
d0f0fcf611 Cache the custom pathfinders in the LTN impact tool. I had trouble with this previously, because it was exposing the RoutingParams bug just fixed. #852 2022-03-25 11:24:18 +00:00
Dustin Carlino
b89e716d0c Serialize all of RoutingParams and regenerate all maps, fixing the main problem from #868 2022-03-25 09:34:22 +00:00
Dustin Carlino
eff3d83231 new release 2022-03-23 13:39:54 +00:00
Dustin Carlino
b0a6f16613 Use the correct time estimates in the LTN route planner; the slowdown factor for major roads is important! [rebuild] [release] 2022-03-23 11:08:48 +00:00
Dustin Carlino
c88f7bbc53 Display info about the 4 routes more consistently [rebuild] [release] 2022-03-23 10:47:01 +00:00
Dustin Carlino
1e07a148fa Show walking directions in the LTN tool as well. Start to tune all the route colors on the map 2022-03-23 09:58:10 +00:00
Dustin Carlino
696f010301 Restrict the LTN route planner to 2 waypoints. Too easy to accidentally click and add a third, and the route overlapping itself is a total mess. 2022-03-23 09:49:08 +00:00
Dustin Carlino
e5ea25ec58 Show biking directions in the LTN tool too
(Many UI problems)
2022-03-22 22:25:42 +00:00
Dustin Carlino
df82f54879 Cache custom pathfinders directly for the LTN route planning tool. #852 2022-03-22 22:25:42 +00:00
Dustin Carlino
6139314584 Import Glenrothes (lumped into GB for now; using the longer ISO country codes would break stuff) 2022-03-22 18:07:49 +00:00
Dustin Carlino
f3381d3807 Import Oxford and Keelung. The former has LTN blockfinding issues, and
the latter doesn't detect the ocean -- will iterate on both issues
later.
2022-03-22 14:30:18 +00:00
Dustin Carlino
3b664ea54e Give callers a way to create and use a Pathfinder directly, not storing
it as part of the Map. #852

This has an immediate use in the LTN rat run calculation -- share the
pathfinder across threads, avoid massive logspam.

There's a much larger refactor in another branch, but just starting with
this.
2022-03-21 12:58:20 +00:00
Dustin Carlino
1661957511 Just change the error message in the select boundary tool to emphasize it's probably not the user's fault 2022-03-21 12:28:37 +00:00