Comments (20)
An excellent site for test cases: https://wiki.openstreetmap.org/wiki/Berlin/Verkehrswende/Radwege#Radfahrstreifen_in_Mittellage_.2F_Fahrradschleuse_.2F_Fahrradweichen
from osm2streets.
Hi,
I built a small example integrating muv-osm into osm2streets here with a live example being deployed on https://muv.lelux.net/osm2streets which helps a lot in checking how streets parsed compare to the osm2lanes variant. Another way to check the muv-osm output on a more technical level is running cargo r --example lanes -F lanes
in the muv-osm
directory, inputting the tags and getting a lane-by-lane output.
Looking at the issues above #230, #222 and #89 work in muv already. Both way directions as in #91 are supported on the muv side, but have no mapping to osm2streets yet.
I'm working on documenting muv more but at the example or the muv-osm to osm2lanes source code should help a bit. If there are any more questions I'm more than happy to answer them here or wherever you prefer.
from osm2streets.
Thanks a lot @robhubi.
When testing the examples I realized that due to the roads having both the bicycle:lanes
and cycleway=lane
(a fallback for data consumers not understanding the :lanes
suffix) tags, the road would end up with two bike lanes instead of one. This behavior is now fixed, and the two examples with OSM links can be viewed in osm2streets (you might need to reload without cache for the new version to be loaded).
https://muv.lelux.net/osm2streets/#19.2/52.4776157/13.4265795
https://muv.lelux.net/osm2streets/#18.93/52.4685018/13.4418944
from osm2streets.
from osm2streets.
When testing the examples I realized that due to the roads having both the
bicycle:lanes
andcycleway=lane
(a fallback for data consumers not understanding the:lanes
suffix) tags, the road would end up with two bike lanes instead of one.
I see the tags bicycle:lanes as a description of the access rights and cycleway=lane as a description of the structural design of the carriageway. The tags complement each other.
The examples look great.
from osm2streets.
#231 is now supported on the muv side with priority
implying lanes=1
https://muv.lelux.net/osm2streets/#18.97/48.60629/7.75187
from osm2streets.
@dabreegster do know of a place to learn more about Muv that that link? It does not give a lot of context or details :).
from osm2streets.
@ginnyTheCat is the author
from osm2streets.
Hi @ginnyTheCat, one logistic question/request before we try integration: could you please set a license on the project?
from osm2streets.
Of course. I was thinking of using the MPL 2.0 license, which would allow osm2streets and A/B Street to fully use it. If that's ok on your side I would go ahead with that.
from osm2streets.
One recent addition to muv that could be interesting to osm2streets is the on road curb position. In case of a highway with cycleway=lane
, sidewalk=yes
, the kerb would be between the cycleway and the sidewalk. Change the cycleway into a cycleway=track
and the curb now is between the cycleway and the roadway.
This information could be useful to align roads to barrier=kerb
lines, as many ways without placement
data are often misaligned to the center of the roadway, resulting in osm2streets overlapping the roadway with separately mapped sidewalks and cycleways next to the road. Aligning the kerbs would double up as a width estimate for roads with no width
tagged.
from osm2streets.
That sounds fantastic; those overlap problems happen frequently. If you find any particular examples where this new approach would help, we should add them to the test cases in Street Explorer.
I'd like to pick this up, but with work right now, there's no way it's happening in the next few weeks. :\
from osm2streets.
One example could be this road (https://a-b-street.github.io/osm2streets/#18.9/50.9283434/11.5841848 / https://muv.lelux.net/osm2streets/#19.2/50.928293/11.5843508) where a kerb is mapped but the road isn't fully centered and collides with the sidewalk, even enlarging the intersection.
from osm2streets.
I'm planning on creating a clean implementation of osm2lanes using muv that would replace the messy demo. One thing i was wondering about however was the handling of curbs in half-on-sidewalk parking situations.
Muv represents those as normal lanes just with a kerb running in the middle of it.
The ways to translate this to the osm2lanes side I see are the following:
- Don't convert curb data, as osm2lanes currently doesn't generate it as well
- Split the parking lane in two lanes (each with a width of
(width - kerb_width) / 2
), with a kerb in the middle of the two. The problem with this is that while it looks closest to reality (which is why the demo does this), it would probably mess up the simulation. - Move the kerb left or right of parking lane. It would look like a regular sidewalk or street parking lane but at least the curb data would be mostly kept.
In my opinion, option 3. makes the most sense.
from osm2streets.
In general, the higher-ranking mode of transport is favoured. This would be option 3 with a parking lane and a kerb at the very edge.
from osm2streets.
In general, the higher-ranking mode of transport is favoured.
I don't really understand this part of the sentence, maybe you could explain that a bit more. The second part is makes sense.
from osm2streets.
Imagine a road. No sidewalk. Pedestrians, cyclists and cars are on the road. What type of road is it: footpath, cycle path or street? In the case of shared use, the higher-ranking means of transport determines the type.
from osm2streets.
Ah, yea ofc. That's how it's implemented in the demo right now and how I'm porting it to the final variant as well. osm2lanes
's LaneType
has a SharedUse
type for shared bike/pedestrian ways. Maybe I'm gonna map that very specific type of shared use to that type but ofc with all ofter modes using the highest-ranking strategy.
I just got confused as I thought you were referring to the half-on-sidewalk parking mentioned above.
from osm2streets.
the handling of curbs in half-on-sidewalk parking situations
I'm still confused what this means -- any real-world examples? Is this a sidewalk where cars are allowed to park on half of it, and there's a curb marking the boundary? I'm not sure I've seen these before, so just trying to understand
from osm2streets.
The cars basically have two wheels on the sidewalk and two wheels on the road surface.
Here on the left the cars are parking on the sidewalk, while on the right they are parking half on the sidewalk, half on the street.
This the sign used in Germany for such situations for example.
They're not super common which is why handling them just as fancy versions of on-sidewalk parking when converting them to osm2lanes makes sense.
from osm2streets.
Related Issues (20)
- Use region-specific configurable lane widths
- Publish osm2lanes NPM package HOT 2
- Handle pbf input too HOT 5
- Turn lane shows arrows where there should be none HOT 7
- Lanes for bus and bicycles not shown up HOT 2
- Design of two-way streets with priority (= only one lane) HOT 4
- Revival ideas
- Improve rendering detail in Street Explorer
- Fail less often for intersection geometry HOT 4
- Crossings HOT 4
- Grouping roads/intersections together into logical units HOT 1
- Handle parking areas HOT 1
- Handle modal filters HOT 2
- Handle footway=link
- Broken intersection geometry HOT 5
- relation:connectivity? HOT 5
- Optionally hide tunnels
- Wrong driving side for non-sovreign LHT jurisdictions inside RHT countries HOT 2
- Bring back driving side switch for special purposes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from osm2streets.