Commit Graph

7677 Commits

Author SHA1 Message Date
Dustin Carlino
df854db143 Make the A/B test mode easier to use, but syncing up the time of the simulation directly when swapping before/after. 2022-05-25 10:05:21 +01:00
James Nebeker
ee7f843ff6
Fixes issue #173 Part B (#917)
* Fixes issue #173 Part B

This commit changes the color of road labels to white, and adds a black
stroke. It also removes center line dashes from the beginning of the
road label to the end.

* cargo fmt and fix syntax warnings

* Adds changes from PR #917 Review

This commit adds the changes requested in PR #917.

* Rebase and cargo fmt

* A few cleanups:

- make render_center_line private
- make usage of the 0.1 factor more clear
- work in Distance::meters

* Disable the curvey label experiment before merging, but now we don't
need to draw the background for non-curvey labels either!

* Draw the full center-line when appropriate

* Screenshot diff

Co-authored-by: Dustin Carlino <dabreegster@gmail.com>
2022-05-24 14:55:23 +01:00
Dustin Carlino
8f49dddaee Import roads that happen to have trams on them, for Geneva. This was previously breaking in Berlin, but now we can skip over ways with overlapping geometry.
First time regenerating everything on another laptop; there may be some
weird changes unrelated to stuff here (like montlake prebaked data?),
but nothing that seems problematic
2022-05-23 15:42:55 +01:00
Dustin Carlino
0c27be5491 Draw the boundary roads in the highlighted area with this one weird trick geometers don't want you to know 2022-05-23 14:24:52 +01:00
Dustin Carlino
b236c23112 Update to Rust 1.61 2022-05-21 17:17:02 +01:00
Dustin Carlino
a5a9415de0 Avoid crashing with the previous commit; we still need to remove dangling nodes no matter what 2022-05-21 16:54:42 +01:00
Dustin Carlino
8b71885b04 Optionally skip removing disconnected streets from the graph. For osm2streets tests, often our small clipped area looks very disconnected. https://github.com/a-b-street/osm2streets/issues/8 2022-05-21 13:20:57 +01:00
Dustin Carlino
150ec77f85 Remove the osm2polygons tests from #886. Instead, we now have goldenfile
tests across larger chunks of OSM in
https://github.com/a-b-street/osm2streets/pull/15.
2022-05-21 12:47:47 +01:00
Dustin Carlino
2c6bfbac8c Be more precise about lyon_geom dependency; 0.17 has a breaking API change that isn't handled in this codebase yet, so another Cargo.lock file in another repo depending on map_model is breaking 2022-05-21 12:31:19 +01:00
Dustin Carlino
2e590c553a Dump RawMaps to GeoJSON, for https://github.com/a-b-street/osm2streets/issues/8 2022-05-21 12:24:03 +01:00
Dustin Carlino
048ae1850c Don't allow filtering one-way roads with the freehand tool either 2022-05-20 14:21:55 +01:00
Dustin Carlino
59a540e907 Fix undo and the freehand filter tool. When intersections were involved, the single edit got split into pieces sometimes. 2022-05-19 14:27:47 +01:00
Dustin Carlino
7bb426f804 Create a new widgetry transition to simplify state preservation in the LTN tool. It's maybe a bit specialized, but hopefully this kind of pattern could come in handy elsewhere, or a slightly more general pattern could emerge. 2022-05-19 14:21:44 +01:00
Dustin Carlino
36d3d85584 Be more precise with mimetypes when making a browser save a file 2022-05-19 10:11:50 +01:00
Dustin Carlino
b416985ed5 Stop hardcoding the Bristol neighborhood ID for consultation 2022-05-19 10:06:03 +01:00
Dustin Carlino
8a4cc87d48 I forgot to upload Bristol data for 5e11e6254b. Since I just cut a release, I'm cheating and just replacing the 0.3.22 S3 data for Bristol. The only people who would notice would use the 0.3.22 build and manually run the updater, which is quite unlikely. 2022-05-18 17:36:21 +01:00
Dustin Carlino
65af2b32d7 new release 2022-05-18 17:22:48 +01:00
Dustin Carlino
92f89c74c8 Export raw problem list to CSV. [rebuild] [release] 2022-05-18 15:15:09 +01:00
Dustin Carlino
ffef0279bf Refactor the support for making browsers download files, and use more widely 2022-05-18 14:43:16 +01:00
Dustin Carlino
5e11e6254b Force Bristol study area to match an LTN project. #916 2022-05-18 12:13:56 +01:00
Dustin Carlino
5c65ee174a Simplify flag plumbing for left/right handed driving. I thought the bug
fixed in the previous commit might've been an issue here. All the flag
handling was correct, but this way is more maintainable.
2022-05-18 12:02:58 +01:00
Dustin Carlino
378ba9b6e6 Fix bug that was causing all maps to be right-handed.
This was broken somewhere around 6974d26cac, but isn't affecting the current data. I must have regenerated everything before the change or something like that.
2022-05-18 11:59:27 +01:00
Dustin Carlino
c84daeb239 Don't let people filter one-way roads! 2022-05-17 16:15:34 +01:00
Dustin Carlino
078265718a Start a simplified consultation mode for the LTN tool
- starts in a fixed neighborhood
- hides many controls
- lets users jump to route planning from the per-neighborhood screens
2022-05-17 16:14:14 +01:00
Dustin Carlino
0f62e650ea Organize some of the LTN UI code before attempting some more panel
complexity.
2022-05-17 15:22:58 +01:00
Dustin Carlino
a56f47bfaf Change how non-driveable roads (cycleways) work in the LTN tool and
blockfinding. Stop using them as parts of block boundaries, and stop
drawing special "car-free" cells around them.

Motivation in the PR description.
2022-05-17 10:57:27 +01:00
Dustin Carlino
a60104762e Bugfix: saving LTN proposals natively failed without the directory missing, probably breaking it for most people 2022-05-16 13:43:01 +01:00
Dustin Carlino
4a3462996b A number of small UX changes to the LTN tool 2022-05-16 13:39:12 +01:00
Dustin Carlino
7999c1a49d Make the freehand filter tool work in both the connectivity and shortcut view, in preparation for adding even more editing controls 2022-05-16 11:10:56 +01:00
Dustin Carlino
eae2abcce0 Show one-way entrances/exits to LTNs more clearly with directional arrows 2022-05-16 10:36:11 +01:00
Dustin Carlino
d371ba2765 Adjusting relative problems layer
- preserve selected types a little better
- show ratio
2022-05-15 10:44:29 +01:00
Dustin Carlino
867be8fa07 Reimport SMP, with fixed sidewalk data for one-ways in OSM.
There were 3 manual steps here:

1) Tag sidewalk=left,right,both along many one-way streets in OSM where
   the inferred value was very wrong, and causing a large difference
   from smp_sidewalk_widening
2) Clear out smp_sidewalk_basemap, broken by OSM ID changes. This has
   never actually (and still does not) contain real baseline sidewalk
   widths, but still might eventually.
3) Manually update smp_sidewalk_widening, broken by OSM ID changes.

The simulation results with the proposed edits now don't cause as many
spurious route changes.
2022-05-15 10:03:23 +01:00
Dustin Carlino
7e54241b4d To preserve edits in SMP, add a temporary way to ignore the old lanes in edits and use OSM.
Also stop trying to convert system proposals for different cities
entirely; it makes the logs very messy.
2022-05-14 09:59:58 +01:00
Dustin Carlino
213df7fa82 Some slight widgetry API changes in support of another project, which is -- I am only mildly ashamed to say -- is depending on it 2022-05-13 16:47:58 +01:00
Dustin Carlino
4ca0c24a60 Add tooltips to the pedestrian crowding layer 2022-05-12 14:10:49 +01:00
Dustin Carlino
a229bf9385 Add a layer showing pedestrian density. 2022-05-12 13:33:33 +01:00
Dustin Carlino
16e539a77c Fix the map editor when editing lanes along one road. 2022-05-12 09:05:12 +01:00
Dustin Carlino
0e284b73a9 Use bindgen to build gdal for the importer. Otherwise, I can't get libgdal-dev on a vanilla Ubuntu 22.04 machine to work. [rebuild] 2022-05-10 16:35:37 +01:00
Dustin Carlino
66eed93753 When adding a sidewalk to a road, get the direction correct. Was previously failing for one-way roads, and causing pathfinding to crash. 2022-05-10 16:19:51 +01:00
Dustin Carlino
d313bf089c When a secondary map is loaded for debugging, keep the scenarios in
sync, and add a keybinding to synchronize time.
2022-05-10 16:01:24 +01:00
Dustin Carlino
40e60be386 new release 2022-05-08 13:39:37 +01:00
Dustin Carlino
64b82cb3b7 Trigger [rebuild] [release] 2022-05-08 12:56:46 +01:00
Dustin Carlino
d8e8ab76b6 Rename rat-run to shortcut in the user-visible part of the LTN tool.
"Rat-run" is a politicized term. It's helpful to be more neutral during
consultations.
2022-05-08 09:58:47 +01:00
Dustin Carlino
8de65419e6 Mechanical refactor in code from "rat run" to "shortcut" 2022-05-08 09:45:07 +01:00
Chris Petkau
c7d0c5a7ca Format with rustfmt 1.4.38-stable.
Pass Copy types by value.
Bug-fix departure from previous behaviour by only recording a single exit intersection rather than all of them.
2022-05-07 22:06:11 +01:00
Chris Petkau
5eadce28f2 Format with rustfmt 1.4.38-stable.
Rename 'pair1' to 'pair'.
2022-05-07 22:06:11 +01:00
Chris Petkau
a319c77db1 Opinionated refactoring of intersection.rs.
- Favour iterator-based transformations over for-loops.
- Limit scope of mutable variables via extract-method.
- Body of if-let should generally invoke a function, to reduce indentation.
- With the appropriate granularity of functions, the if-return guard pattern can be utilized.
2022-05-07 22:06:11 +01:00
Chris Petkau
71d5d4f5d4 Opinionated refactoring to eliminate multiple levels of indentation, and to favour iterator constructs over for-loops. 2022-05-07 22:06:11 +01:00
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