You can start by reading most recent thread Roads – how to represent evolution?
We need to distinguish geometry, feature, and attribute. They can be viewed independently. The biggest difference of OSM with standard GIS is the lack of multiple data “layers” , files, and datasets.
way
is best used for constructing the geometry physically, only drawing separately when the shapes changes. What it represents may change through time.rel
type=multipolygon
can be used for thebuilding=
feature to describe it, with some limited additional physical attributes.- However, it’s best to separate as much “functional” attributes as possible. Addressing might be in another
rel
.ref=
+network=
should be kept to theroute=road
directly.
The important consideration, or actually a de facto balance of status quo, is the geometry does frequently change, eg roadway center line (not discussing the road’s RoW strip of land. or zoning, here) usually already shifts when it is widened. So it can often be ideal to draw separately regardless. Especially for your example, water flow constantly shifts.
The particular issue with roads is the functional classification is currently tied to the highway=
feature. That causes a usability gap when the function changes without physical change.