Comments (5)
* `Road`: a collection of Lanes (and Buffers), travelling in the same direction; A "half street" if you will, or a slip road or slip lane. * `Street`: a collection of Roads (and cycletracks/footpaths) that all run (mostly) parallel to one "centerline", representing the whole corridor, "building to building". * `Intersection`: the area where multiple lanes of travel overlap and the road endpoints that join it. * `Junction`: A collection of Intersections (and some Roads) that make up one "junction". E.g., a roundabout is one Road and one Intersection per (single carriageway) arm.
This is one thing that is a bit weird, mostly "road" and "street" being so different.
I would like to work with the network as a directed graph, and so each direction is it's own edge which can be treated independently. What should the term for that edge be? Why not "road"?
The two distinct levels will be very useful I think. E.g. a route would be calculated in the RoadNetwork
but directions would be described in the StreetNetwork
: "left at A street, right at B street, 4th house on the right."
from osm2streets.
This is one thing that is a bit weird, mostly "road" and "street" being so different.
Agreed. There are all these more nuanced terms for street, road, avenue, etc, but in my rough understanding (probably from the stroad video by Not Just Bikes), a road is a larger, more car-oriented form of a street, with less driveways and POIs along it. That's totally unrelated to the definitions here, but it may be confusing.
If a Road is meant to be one direction only, I wonder if "Edge" or "HalfRoad" or "DirectedRoad" could be more clear. I am still not entirely sure I understand how bidirectional cycletracks on one side of a road (common term) or a contraflow bus lane would fit into this.
I like the idea of having two "layers" of abstraction, with Streets and Junctions possibly just being containers of lower-level Roads and Intersections.
I would like to work with the network as a directed graph, and so each direction is it's own edge which can be treated independently. What should the term for that edge be? Why not "road"?
Why not "edge" or "half-road", just to clearly divorce from common terms?
from osm2streets.
I wonder if "Edge" or "HalfRoad" or "DirectedRoad"
"edge" loses context too quickly, so HalfRoad and DirectectRoad are sounding good. OnewayRoad? OneRoad?
Do we use Corridor instead of Street to keep both sides of "stroads" out of the namespace. A Corridor is a list of OneRoads and Buffers or something? Corridors and Junctions are what you would use to draw a metro map, for example.
from osm2streets.
I have come around to preferring "RoadWay" for the "half street" concept for most of the reasons that they are called "ways" in OSM. A "two way road" is made up of two RoadWays? Yep, sounds about right to me.
from osm2streets.
"Corridor" and "Curb" used to talk about this in a great talk at SotM US: OSM can help Inventory and Manage the Curb - Daniela Waltersdorfer
from osm2streets.
Related Issues (20)
- is_sidepath proposal review HOT 2
- Stop plumbing osm_tags through HOT 3
- Simplify the early stages of creating a `StreetNetwork` from OSM data HOT 6
- Simpler osm2lanes editor HOT 6
- Intersection geometry refactor HOT 15
- Determine road geometry before path geometry HOT 4
- `GenerateIntersectionGeometry` makes existing intersections larger HOT 2
- Versioning HOT 2
- Experiment with curb data
- Prioritization exercise: make one area "perfect" HOT 4
- Propagating changes HOT 4
- Switch to Vite + NPM? HOT 1
- Remove experimental, keep graphviz
- Draw turn restrictions
- Stop lines HOT 5
- Some tests in AU have the wrong driving side HOT 3
- Investigate TopoJSON and/or MapShaper
- placement position names (right_of:1) should ignore sidewalks HOT 1
- Make StreetNetwork implement Send
- Degenerate geometry breaks at sharp angles
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.