Commit Graph

7629 Commits

Author SHA1 Message Date
Dustin Carlino
b4896ee450 Make untrimmed_road_geometry infalliable, in preparation for storing a
PolyLine instead of list of points.

This exposed two edge cases, fixed here:

1) While merging short roads near junctions, we sometimes create a loop.
   Filter it out immeditely.
2) If an OSM way is physically sharing geometry with another one
   invalidly, detect that and discard it much earlier.
2022-05-07 22:02:06 +01:00
Dustin Carlino
6974d26cac Don't create RawRoads too early (before splitting ways into actual segments). Otherwise, we can't enforce invariants on RawRoads properly. 2022-05-07 22:02:06 +01:00
Dustin Carlino
43c946a2b6 Fix crashing tutorial after Seattle OSM updates. #914 2022-05-07 15:20:42 +01:00
Dustin Carlino
cfd6b52ee5 Avoid a crash in the LTN draw filters along polyline tool. #912 2022-05-07 13:28:10 +01:00
Dustin Carlino
596bd5d04d Problem plot per lane too, sadly mostly by copying code 2022-05-07 13:04:09 +01:00
Dustin Carlino
586ee1c96d Show live time-series of problems per intersection 2022-05-07 13:04:09 +01:00
Dustin Carlino
3426d2e917 Refactoring problem type code in preparation for new info panel tabs 2022-05-06 15:31:37 +01:00
Dustin Carlino
1bf5bb2d8b Trim down SMP scenario size by actually deleting cancelled trips. Also makes the results less confusing. 2022-05-06 12:55:14 +01:00
Dustin Carlino
15111dcf9d Recalculate prebaked data for Seattle. I'm seeing a crash in the Arboretum and a diff in Montlake since the last update in 3d738e93e8. Not sure how things got out of sync -- possibly the S3 bug just synced. 2022-05-06 12:46:16 +01:00
Dustin Carlino
985a8826ee Get S3 data in sync. When switching laptops, I had forgotten to copy s3_abst_data/dev/MANIFEST.json, and some weirdness somehow happened 2022-05-06 12:37:38 +01:00
Dustin Carlino
1325c45013 Change how the relative problems layer works. Color roads and
intersections, using the same technique as the relative throughput
layer. Add tooltips to show specific before/after counts. This is much
easier to understand than #905
2022-05-06 12:03:27 +01:00
Dustin Carlino
e66112b3ea Click trip problems to time-warp. Useful for debugging spurious diffs in greater detail 2022-05-03 16:08:22 +01:00
Dustin Carlino
0fd39db440 Fix crash when drawing problems before edits. Need to use the unedited map 2022-05-03 13:45:00 +01:00
Dustin Carlino
bf1023af8e Fix the SMP proposed widths near Praça Getúlio Vargas Filho. More clear to model as one giant sidewalk 2022-05-03 13:24:08 +01:00
Dustin Carlino
53d8f5e699 new release 2022-05-02 22:31:47 +01:00
Dustin Carlino
cf99a579ba Just trigger a [rebuild] [release] 2022-05-02 21:28:38 +01:00
Dustin Carlino
3d738e93e8 Update Seattle OSM data.
The main reason is to unblock osm2lanes cutover by avoiding
https://github.com/a-b-street/osm2lanes/issues/153. A secondary reason
is to pull in fixes in SLU for #818.

But of course grabbing fresh data wasn't straightforward:

- Need to collapse small junction=circular ways just like roundabouts,
  or else Montlake starts gridlocking. And so actually, regenerating all
  maps, in case any happen to use this.
- Had to update a bunch of proposals since OSM IDs changed. I just used
  the automatic repairs with some edits filtered out. Fixing edits
  really is quite tedious when IDs change; we need something more
  robust. (Just give up, describe geometry, and always snap to the best
  match?)
- Had to update the one baked-in traffic signal for similar OSM ID
  reasons, with similar hassle.
2022-05-02 11:04:49 +01:00
Dustin Carlino
136eef3c3b Just rename center_points to osm_center_points to be more clear. https://github.com/a-b-street/osm2streets/issues/2 2022-05-01 21:33:44 +01:00
Dustin Carlino
304a28306f Change the bus route goldenfile test to Aricanduva, after changing GTFS import to only happen there 2022-05-01 19:54:45 +01:00
Dustin Carlino
f72dd62e56 Store lane_specs_ltr on RawRoad, instead of constantly recalculating. https://github.com/a-b-street/osm2streets/issues/2 2022-05-01 19:39:57 +01:00
Dustin Carlino
2c3157e889 I forgot to upload prebaked data for the previous commit 2022-05-01 17:56:46 +01:00
Dustin Carlino
738f50f5b8 Prevent pedestrians from endlessly cutting off cars at a stop sign by
limiting how long a crowd can enter a crosswalk. #517

Removing Tehran from prebaking; it starts gridlocking. I didn't
investigate why; making SMP realistic unfortunately takes priority right
now.
2022-05-01 17:02:14 +01:00
Dustin Carlino
ae8d6f6cf2 Spinner widgets for distances are weird, because the step size probably shouldn't depend on the user's metric/imperial setting. Just flip the prior hack and always use meters for the spinners. Sorry not sorry USA users. 2022-04-30 15:32:24 +01:00
Dustin Carlino
aff8d8ceef Automatically change metric/imperial based on the map loaded. 2022-04-30 15:24:18 +01:00
Dustin Carlino
00c34ab8f6 Add proposed sidewalk widths for SMP, mapped by Gabriela.
Also add a little edit mode tool to auto-fix sidewalk direction, to
avoid a crash in pathfinding! We should enforce this eventually.
2022-04-30 15:00:51 +01:00
Dustin Carlino
2d547a383f Stop importing GTFS data for all of Sao Paulo -- only Aricanduva. Edits near the sidewalk of a bus stop still crash (as expected). Avoid this (and likely confusing simulation effects) in SMP. 2022-04-30 14:12:25 +01:00
Dustin Carlino
fd2bf7e2fc Show an alert message when WASM crashes. This is way better than silently locking up and people knowing they have to open the dev console to see the panic. 2022-04-30 14:01:33 +01:00
Dustin Carlino
19447b5a26 Create a layer to show where problems are occurring more or less. #859 2022-04-29 14:08:52 +01:00
Dustin Carlino
79126f28df Remove elevation data from Sao Miguel Paulista. The SRTM part of elevation_lookups hasn't had validation, and I'm seeing pedestrians slow down on steep streets that may not actually be steep. Let's just flatten that map out to remove a possible complication. 2022-04-28 13:19:13 +01:00
Dustin Carlino
4b446c754e Make leader agents call ahead before starting a turn. Don't make use of
this yet. #517

Dump the intersection state to JSON too for the UI debugger, to inspect
easily.
2022-04-28 12:50:23 +01:00
IliasN
6174bfc06b Added trim to remove leading and trailing whitespaces 2022-04-27 13:52:10 +01:00
Dustin Carlino
bd5d93ba84 Wire up a way to override OSM sidewalk widths in basemaps using proposals.
We need this because we have a data source for SMP that we can use with
extra attribution, but not upload to OSM.

This whole commit is gross hacks; going forward, we need a proper
process for upstreaming stuff in OSM.
2022-04-27 10:21:54 +01:00
Dustin Carlino
dff4e17b28 Let the user make edits to switch between marked/unmarked crosswalks! 2022-04-26 16:42:37 +01:00
Dustin Carlino
96d7010582 new release 2022-04-24 22:09:42 +01:00
Dustin Carlino
69f7c9a252 Fix chmod +x; the expand command for tabs doesn't preserve it! [rebuild] [release] 2022-04-24 19:10:31 +01:00
Dustin Carlino
a964c76d8e A long overdue [rebuild] [release]
(And convert those tabs to spaces)
2022-04-24 18:39:36 +01:00
Michael Kirk
c5a32a6a85 codesign and notarize macos builds
This depends on setting a bunch of secrets. The documentation for which
is here: https://github.com/a-b-street/abstreet/pull/896
2022-04-24 18:35:45 +01:00
Dustin Carlino
91ccd29f6d On wide or narrow sidewalks, draw pedestrians at the edges -- stop
hardcoding a sidewalk thickness
2022-04-24 09:55:24 +01:00
Dustin Carlino
5890e600d3 Refactor pedestrian radius 2022-04-24 09:38:19 +01:00
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