The first version of the road style is prepared. It is a work in progress and feedback is welcomed. I started work from designing z16 zoom level, currently I am expanding style to cover higher and lower zoom levels.

Current rendering (preview location from openstreetmap-carto readme)

Style under development - with its variants

Major roads

Display of major roads on lower zoom levels is currently working quite OK and I am trying to make it better. For example, I am considering various variants how junction names and oneway arrows should be rendered. Below are some of possibilities.

Test renderings are for a location from “trunk is invisible in forest and secondary on farmland” bug report. All renderings have for comparison on the left side how map is currently displayed.

gray oneway arrows and red junction names: https://cloud.githubusercontent.com/assets/899988/8582450/22903378-25c7-11e5-8e6c-b88daeb5d81a.png

gray oneway arrows and blue names: https://cloud.githubusercontent.com/assets/899988/8582452/22bd76a8-25c7-11e5-9018-44d6f6d8d0cf.png

both gray: https://cloud.githubusercontent.com/assets/899988/8582448/228d7c64-25c7-11e5-8c68-ed8d3c341628.png

version with modified road colors: https://cloud.githubusercontent.com/assets/899988/8582451/22b4d58e-25c7-11e5-8dba-461c8a018bc0.png)

rendering for names and arrows unmodified despite road colour change: https://cloud.githubusercontent.com/assets/899988/8582447/228aa700-25c7-11e5-8b9e-64f79a2e2d9b.png

Current rendering of highway=footway is quite noisy, also highway=pedestrian is closer to highway=tertiary in its style than to highway=footway. Dotted highway footway is not pretty - for example rendering proposed by sb12 is much prettier. But finding styling that would at the same time would be prettier than the current one, do not look like a road and fulfil additional criteria turned out to be an interesting challenge. Finally, after many failed attempts, I tried as joke styling inspired by OSM landscape. It turned out to be better than expected and was the first one that was considered by testers both as prettier and with readability not worse than the current rendering.

Unfortunately, purple is already used for borders, airport infrastructure, railway land use and industrial landuse so I am experimenting with both different colour for pedestrian infrastructure and changing landuse colours.

steps: https://cloud.githubusercontent.com/assets/899988/8583429/e841a86c-25cd-11e5-884e-1f3303ad3107.png

a rural area where highway=footway are important:

https://cloud.githubusercontent.com/assets/899988/8583432/e84b45b6-25cd-11e5-8007-d6ef04e5494e.png (purple style)

https://cloud.githubusercontent.com/assets/899988/8583430/e842da8e-25cd-11e5-90e5-2ebdd4687975.png (pink style)

https://cloud.githubusercontent.com/assets/899988/8583434/e8527642-25cd-11e5-95ff-9a56b811af5f.png (based on sb12 style)

https://cloud.githubusercontent.com/assets/899988/8583431/e8487ec6-25cd-11e5-9fa1-900ae0f5e350.png (orange style)

highway=pedestrian and highway=footway:

https://cloud.githubusercontent.com/assets/899988/8583436/e85f921e-25cd-11e5-8f93-f18a43c2ba42.png (purple)

https://cloud.githubusercontent.com/assets/899988/8583433/e85162b6-25cd-11e5-88c0-c7560caf3fdd.png (pink)

https://cloud.githubusercontent.com/assets/899988/8583437/e86606d0-25cd-11e5-870b-a07c48f474df.png (based on sb12)

https://cloud.githubusercontent.com/assets/899988/8583435/e85b4aa6-25cd-11e5-923a-19361827f8ec.png (orange)

in city:

https://cloud.githubusercontent.com/assets/899988/8583444/e8845e78-25cd-11e5-9448-f8bba23f4d43.png (purple)

https://cloud.githubusercontent.com/assets/899988/8583442/e878fd80-25cd-11e5-9841-69d67e2ff5a5.png (pink)

https://cloud.githubusercontent.com/assets/899988/8583445/e887b4f6-25cd-11e5-9f70-ac121d8612f7.png (based on sb12)

https://cloud.githubusercontent.com/assets/899988/8583443/e881c582-25cd-11e5-8093-ff64332828f0.png (orange)

pedestrian area & footways nearby landuse=railway:

https://cloud.githubusercontent.com/assets/899988/8583440/e86c37a8-25cd-11e5-9c75-96fec8a921b7.png (purple)

https://cloud.githubusercontent.com/assets/899988/8583438/e869fe52-25cd-11e5-89f8-5375f1b452aa.png (pink)

https://cloud.githubusercontent.com/assets/899988/8583441/e874e4b6-25cd-11e5-9a2e-9486bd9f7ace.png (based on sb12)

https://cloud.githubusercontent.com/assets/899988/8583439/e86a5b54-25cd-11e5-939e-a62df6967ae7.png (orange)

railway=tram

Also - something that is already done.

During reworking road style I decided to try changing closely related tram style as on z13, z15, z16 tram lines were too noticeable.

During more close checking of rendering I discovered that tram tracks were rendered also on z10, z11 and z12 what was quite surprising as I never noticed it.

On reading code I discovered that railway=tram was rendered from z8, what makes no sense. Especially with current style as even during looking for tram lines at known positions I failed to notice it.

Overall this was one of many things leading to really bad rendering of cities around z10.

Even in Toronto, a city with “the largest streetcar system in the Americas”[1] and quite far on the north (relevant due to distortion of scale) it makes sense to render trams up to z12. It is possible to make a weak argument for rendering at z11. See http://overpass-turbo.eu/s/ai3 (I linked overpass turbo, as in current rendering tram lines are not possible to find - despite rendering them).

Another example, Vienna - “With 173.4 km of track, Vienna’s network is one of the largest in the world.”[2] z11 is the lowest zlevel where rendering tram makes sense ( http://overpass-turbo.eu/s/ai4 - note, the query returns a large amount of data).

In general it seems that even with large networks rendering tram up to z12 makes sense, z11 may be justified but it is not the best idea but later it is rather pointless.

And obviously, there is no point in rendering something in a way that makes it impossible to notice it.

Unfortunately it is impossible to make rendering great for all locations. In some places each tram tracks are mapped separately and in some places two tracks are together mapped as a single railway=tram line. In places where two tracks are mapped as one on low zoom levels trams are not displayed not as strong where each track is mapped. Compare for example Praha (where two tracks are mapped as a single railway=tram line) with Helsinki and Kraków (each track mapped as a railway=tram line).

Tram rendering is causing exactly the same problem with current road style and my proposed version. Working on it separately makes easier to test and review so I prepared it as a separate change.

Proposed change that should improve the situation was merged yesterday - thanks for the feedback!

Changes for different locations:

Vienna: https://cloud.githubusercontent.com/assets/899988/8582481/607c505e-25c7-11e5-806d-ecc64185809f.png

Praha: https://cloud.githubusercontent.com/assets/899988/8582483/607ee0f8-25c7-11e5-937b-a91fab9f1d48.png

Kraków: https://cloud.githubusercontent.com/assets/899988/8582570/ee7df6aa-25c7-11e5-94cc-e84032a519ce.png)

Helsinki: https://cloud.githubusercontent.com/assets/899988/8582569/ee7c6e3e-25c7-11e5-845e-80c3c96e7d42.png