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

Trace a large block around sidewalks and crossings only #251

Merged
merged 1 commit into from
Mar 29, 2024

Conversation

dabreegster
Copy link
Contributor

A simple next step towards #248 --when tracing a block, if we only consider crossings and sidewalks AND the road has sidewalks on both sides, then we wind up with a nice grouping for the "entire" junction or "entire" road including side-paths.

Here are some junctions of varying complexity:
image
image
image

And some roads:
image
image

I think this approach of grouping entire "bundles" of roads or junctions could be used for various purposes:

  • for od2net or other route network generation, a way to simplify the network topology either before or after the routing. CC @Robinlovelace and also see https://github.com/nptscot/networkmerge
  • for producing a simpler graph for interactive routing. Sidepaths and the main road could all be grouped together, then a cost function can look at any separated cycleways. CC @tordans
  • for generating movements across a complex junction or reasoning about building-to-building width. CC @sgreenbury and @andrewphilipsmith
  • for rendering or inferring geometry in this library

I'll merge this so people can play with it at https://osm2streets.org. Click a sidewalk, then "Trace sidewalks on left/right" (the direction is... not always consistent, but one should work). Please do comment with any interesting test cases you find, either working or not!

@dabreegster
Copy link
Contributor Author

Are there cases where the "entire" road including side-paths shouldn't be bounded on all sides by footways and crossings? Cases with sidepaths on only one side of a road will take some work. But are there any other real-world situations where maybe a cyclepath is on the "outside" and the pavement on the "inside"?

@dabreegster dabreegster merged commit 338660d into main Mar 29, 2024
@dabreegster dabreegster deleted the trace_sidewalks branch March 29, 2024 12:31
@Robinlovelace
Copy link
Contributor

Those are some complicated junctions in there! Fully agree that grouping all the elements into blocks makes sense. Not had a play but intend to do so after the Easter break. Thanks for the link to Networkmerge, not production ready as ineffiecient and is mosly focussed on merging multiple lanes into a single lane so may not be that relevant here.

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.

None yet

2 participants