Stephen Gower wrote: > On Tue, May 13, 2008 at 02:31:32PM +0100, Andrew Chadwick (email lists) wrote: > > A road is represented by a single way. Although the way has zero > width in the database, it represents the whole width of the > carriageway (pavement) and well as the pavement (sidewalk). If a > minor road meets a more important way at a T-junction, we do not > put the last node where the minor road ends, instead we extend it > to the centre of the more important one.
The Way in the database is the centre of the real-world carriageway, plus any short extensions necessary to make the routing graph work. Not the same thing as a centreline ;) Representing shape accurately is important to areas. Rendering reachability is more important than shape for roads. There are two classes of object here, each with differing requirements and allowable compromises. > In the same way, if an > area comes right up to the edge of a road (including its pavement, > etc), we should extend the area to use the same defining nodes. I disagree! But you knew that. Let me try to explain more clearly why I think this is wrong. You _don't know_ where the edge of the rendered road will be but that it'll lie within a certain zone. Thus you infect the edge of the abutted area with that uncertainty, and for most buildings, fields, residential areas, or any other Area that doesn't make sense. It's abusing the fact that the renderer will render the road on top of a conjoined area at whatever width the view dictates. It is better to get shape and coverage down correctly for areas, especially buildings. With a system like OSM where one can ignore or disregard some types of object when rendering in favour of others, it's important to map each sort of object accurately *in and of itself*, *in its own terms*, without undue reliance on adjacent objects and the way they get rendered. Contrived example: say you're an arty type or a town planner rendering _just_ the buildings and building-like zones within a city and considering the negative spaces between them for either aesthetic[1] or civil engineering reasons. Abut two buildings to a single road, render without the road "defining" the edge, and suddenly your negative space is zero, buildings are touching, and the rendered map is All Wrong. It is wrong because the data was wrong for the buildings. To think of it all another way, road widths are always scaled to whatever is appropriate for the viewer. Take a look at some other street maps, and you'll see roads seemingly painted with yard brushes because for their readership it's street names and road routes that matters. [1] Yes, it matters *pats his copy of _A Pattern Language_*. -- Andrew Chadwick _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk