Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import footways and shared-use paths! The analogue to #994

Merged
merged 5 commits into from
Sep 16, 2022

Conversation

dabreegster
Copy link
Collaborator

a-b-street/osm2streets#90.

Also remove the pedestrian plaza area type for now. It adds visual clutter and has no editing/simulation/semantic impact yet.

The pretty satisfying quick demo:

screencast.mp4

Rendering

There are footways and shared-use paths (mostly pedestrian oriented, but slow biking permitted) introduced. How do they look?
Screenshot from 2022-09-15 16-11-16
Screenshot from 2022-09-15 16-11-36
The dashed outline style and color is adapted from strassenraumkarte.osm-berlin.org, but the yellow is made darker to stand out from the map background better. I'd like to visually distinguish the two types (footway and shared-use) but don't have good ideas yet.

For the moment, curbs aren't drawn for intersections involving these new lanes:
Screenshot from 2022-09-15 16-14-34

Night mode is on the garish side:
Screenshot from 2022-09-15 16-15-13

Behavioral changes

You can't edit the lanes for these next cases, similar to service roads, light rail, etc. I haven't deeply tested how they work in the simulation yet, aside from verifying pedestrians will use them and that routing does seem to work for pedestrians. The shared-use paths are meant to let bikes use them too, but for now, this doesn't work at either the routing or simulation layer. The shared use paths in A/B Street are effectively also just footways, for the moment. To solve that, we need to think about how to simulate interactions between agents (#139) and also probably first deal with bidirectionality on one lane properly (a-b-street/osm2streets#91)

Bugs / data quality problems

The import still ignores separately mapped sidewalks and crossings. In places like Seattle where those are used, the footpaths can wind up dangling at the end. Acceptable to make progress, I reckon.
Screenshot from 2022-09-15 16-23-08

File size increases, because we're bringing in lots of new stuff. Central Seattle (a pretty large area) goes from 47MB to 78MB! Bristol goes from 26 to 31MB. This is unfortunate, but of course skipping a huge part of the street network previously was bad. I have ideas to reduce size eventually (not storing turn geometry, not storing redundant lane and road geometry).

TODO

I'm still regenerating everything and hit a few problems, will keep iterating. This change also unfortunately breaks most LTN proposals, because it changes block geometry in some cases.

a-b-street/osm2streets#90.

Also remove the pedestrian plaza area type for now. It adds visual
clutter and has no editing/simulation/semantic impact yet.
Finish regenerating all data. Not uploading yet. Haven't fixed proposals
yet.
@dabreegster
Copy link
Collaborator Author

Validation and regenerating data mostly done. The hassle is now fixing built-in proposal save files that refer to road segments that've now changed. This is not a new problem, but one's that really been causing me pain lately, so #995 to start thinking about it seriously

@Zireael07
Copy link

analogue to what?

@dabreegster
Copy link
Collaborator Author

analogue to what?

Ah, the commit message cut off. To a-b-street/osm2streets#90. The map importing logic has been split out to another repo, so when there's a big change, it happens in two independent commits / PRs

@michaelkirk
Copy link
Collaborator

This is great! Finally we can simulate those Foster Island commuters!

@dabreegster
Copy link
Collaborator Author

This is great! Finally we can simulate those Foster Island commuters!

We'll need to start tracking what percentage of a trip is partly underwater, pull in weather/tide data, and sell the results to REI to fund the project ;)

- adjust the spurious diff test, which hardcodes IDs
- cutover to the osm2streets git repo again
- manually fix the Bristol consultation boundary
@dabreegster
Copy link
Collaborator Author

Another "regression": when sidewalks are tagged as separate ways in OSM but lack footway = sidewalk, then things will get messy, like around https://www.openstreetmap.org/way/561633983:
Screenshot from 2022-09-16 07-00-59
I'll call this acceptable. If somebody is working in an area with this problem, it's very easy to spot cases where footway=sidewalk are missing

- workaround spurious diff test failure
- fix unrelated problem in trip info tab introduced with the polygon
  cleanup the other week
- fix a bug with matching a building to a sidewalk
@dabreegster
Copy link
Collaborator Author

OK, there's a subtle and big change resulting from this PR that caused a few bugs. Previously, the sidewalk graph was totally independent of the rest, so things like floodfilling didn't have to check turn types. But now we have shared use lanes that bridge the sidewalk graph with the driving/biking graph. I fixed a few places to filter during graph searches, but I wouldn't be surprised if more bugs lurk

@dabreegster
Copy link
Collaborator Author

Good enough to merge! The only thing I validated with deep paranoia is the LTN tool in Bristol (where there's now an active public consultation using it!) but everything else seems OK.

Biggest thing broken by this change is a bunch of built-in proposals, because OSM IDs changed. I don't want to go through the hassle of manually fixing them again until #995 means that effort has longer-lasting effects :)

@dabreegster dabreegster merged commit be4d2e1 into master Sep 16, 2022
@dabreegster dabreegster deleted the import_footways branch September 16, 2022 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants