I have a line vector file that displays a road network. Most roads consist of a double-line indicating the sides of the road (hence the width of individual segments), but some roads are indicated by a single line. Furthermore, many segments are open shapes, so a line to polygon conversion does not "fill in" the paved roadway correctly, but ends up creating random polygons across multiple road segments.
I'd like to calculate the total area of the paved surface of the roads but am unsure how to do this. If I were to calculate the length of the lines and then use an average width to approximate area, the length would be incorrect because most roads are represented by two lines - but some roads only have one line - so I can't simply divide the total length by two. There is also a lot of variability in the width of the roads.
Is there a way either to convert the lines to polygons - but respecting the "pavement" of the roads? Or another method altogether? I attached a screenshot to illustrate (the buildings are a separate polygon layer).