yvecai's Diary

Recent diary entries

Openstreetmap passed its 100'000th km of nordic ski pistes !

Posted by yvecai on 17 November 2022 in French (Français). Last updated on 20 November 2022.

This happens on 15.11.2022, somebody mapped the 100’000th kilometer of nordic ski piste. screenshot.

These are the trails tagged piste:type=nordic. They describe several practices : backcountry touring, classic style on prepared rails or skating on large groomed pistes. In OSM, they are distinguished thanks to the key piste:grooming=backcountry/scooter/classic/skating or classic+skating.

Yves -

(original post in English)

Selon les régions considérées, la pratique habituelle du ski nordique est différente. Si en Europe de l’ouest, dans la grande majorité des cas on peut s’attendre à ce qu’une piste de ski de fond soit préparée avec un plan lisse pour le skating et au moins un paire de rails pour le style classique, ce n’est pas le cas partout dans le monde.

Dans certaines régions, la préparation des pistes est plus légère, et la pratique du ski de fond majoritaire est plutôt celle du « ski de randonnée nordique » avec des skis larges. Image Crosscountry vs classic, skating

Sur OpenStreetMap, pour différencier ces pratiques très différentes, on utilise le tag piste:grooming .

Mais aujourd’hui (25.06.2022), pour 24 % des pistes de ski fond, soit tout de même 22’303 km, impossible de savoir quels skis prendre.

Alors cet été, à défaut de sortir la dameuse du hanger, à vos souris pour renseigner les pistes que vous connaissez !

Sur, ces pistes sont signalées par des pointillées à partir du niveau zoom 12, et d’un skieur un peu perdu à partir du zoom 15. perplexed skier image

Pour trouver ces pistes ou piste:grooming n’est renseigné ni sur les way, ni sur une relation, vous pouvez utiliser cette requête Overpass :

Petit rappel des définitions sur le wiki OSM :

  • piste:grooming=classic - Deux rails sont préparés pour le style classique ou alternatif.

  • piste:grooming=classic;skating - Plan lisse pour le skating et au moins une paire de rails pour le classique.

  • piste:grooming=skating - Uniquement un plan lisse pour le skating (ou style libre).

  • piste:grooming=scooter - Piste pour le classique damée par une moto-neige, la piste est moins tassée et à une seule voie.

  • piste:grooming=backcountry - Piste non préparée mais balisée pour la randonnée nordique, ce sont les skieurs qui font la trace.

Trees ! Where are they ?

Posted by yvecai on 28 June 2021 in English. Last updated on 29 June 2021.

Working on an upgrade of map style, I knew I had to add single trees mapped natural=tree, natural=tree_row and barrier=hedge. I figured out I had omitted them in my rendering when I was about to map some … that were already there.

When testing the new style, it comes out as a nice surprise that in some areas, countryside micro-mapping is really impressive : Without / with single trees

Clearly, rendering all those trees gives a far better idea how the landscape look like there.

I expect that this new style will come live within a few weeks.

Location: Baulmes, District du Jura-Nord vaudois, Vaud, 1446, Switzerland

On 2nd April 2021, 70628 cross-country / nordic ski ways were members of one of 5849 route relations.

Among them, for 27423 ways, there is a piste:difficulty tag on the relation. I guess that the mapper estimated that the complete trail were ‘novice’, ‘easy’ or whatever.

But OSM is made by humans. We make mistakes. And we are very creatives. So, inevitably, there is 5625 ways where the difficulty of the way is not the same as the difficulty of the route, here are those differences:

Route difficulty Way difficulty Number of ways
novice easy 70
novice intermediate 15
easy novice 195
easy intermediate 463
easy advanced 12
intermediate novice 198
intermediate easy 2607
intermediate advanced 60
intermediate expert 7
advanced novice 53
advanced easy 984
advanced intermediate 766
advanced expert 3
expert easy 47
expert intermediate 64
expert advanced 2
extreme easy 8
extreme intermediate 2
extreme advanced 8

What about those 12 easy trails with ‘advanced’ parts, which are, according to the documentation ‘Steep sections […], with narrow steep passages or sharp turns in steep passages, often icy pistes.’ Somebody is up for a bad surprise.

Unless I’m missing something, there is nothing much we can do with this data. In any case, ways that are member of a relation are member of this relation, so if we want to know the most difficult section or the easiest, the information is already there. So please, take the time to put the piste:difficulty tag on ways, were it belongs.

piste:grooming documentation

Posted by yvecai on 7 April 2019 in English.

I found the piste:grooming description from the ‘Piste maps’ ( or the Key:piste:grooming ( pages that was derived from the earlier not very clear. I’ve made an attempt to re-write it to document actual usage here:

I’d like to have some comments if you think I missed something. This is about actual usage and better comprehension. If the values re-used from one type of piste to another does not suits you, it’s another story that can be dealt with later.


I’m genuinely pleased when people tell me about bugs or improvements related to OpenSnowMap map style by emailing me or by openning issues in github1,2. So, the least I can do is to try to fix them.

I’m happy to announce that a new style is being rolled out on OpenSnowMap that address some of them.

Here is an overview of the visible changes. For a better knowledge of the technical background, suffice to know that the piste database is now powered by Imposm instead of Osm2pgsql, and that the style is written in cartoCSS instead of bare mapnik XML.

Nordic and Crosscountry Skiing - Can I ski there ?

As the maintainer of OpenSnowMap, one thing I don’t want is to send your reckless grandma in an icy, treacherous slope. I’s also like to avoid to invite you to try an un-groomed backcountry piste you spot on the map with your skates.

So now, if piste:difficulty or piste:grooming is not mapped on piste:type=nordic ways, the piste shows a ? question mark on the map. Also, if not fully tagged, the more you zoom, the fainter the piste become. The goal of making the map less nice-looking is to ensure that lazy mappers will look twice at their contributions.

On the other hand, if you map properly the grooming type, icons and a dashed pattern will appears to distinguih between:

piste:grooming=classicclassic piste:grooming=skatingskating piste:grooming=scooterscooter piste:grooming=backcountrybackcountry Just have a look at the Oslo area to see what it means.

Also, if you tag the relevant section of any piste way with the proper piste:difficulty, you will see the small warning pictogram appear just where it’s useful, and not everywhere.

If difficulties are color-coded in your area, OpenSnowMap knows how to take care of the colour tag applied to a type=route, route=piste, piste:type=nordic relation. This is probably where you’d like to put this colour, while actually map the difficulty of every way composing the piste according to the wiki description for nordic pistes.

For those who wonder, the default XC pistes colors is the one in my area. If it’s not the same where you ski, map the relations colours.

Skitour and Backcountry Downhill

For ages, a skitour descent is explicitely described in the wiki as to be mapped as piste:type=downhill, piste:grooming=backcountry. Sorry, I missed that until now. Both piste:type=downhill, piste:grooming=backcountry and piste:type=skitour are now displayed with the same kind of dot pattern and the small backpacker-wearing skier icon. Also they are are painted with the same difficulty color-code than downhill runs.

Only the piste overlay is updated for now

The piste+relief overlay and the base map are too big to be re-rendered now. We have to wait for the northern hemisphere summer to see that happening without overloading the server. When this happens, the base map forest color will be dimmed down so that the XC pistes stand out more on the map.

Opensnowmap Legend

The map legend now looks like this: legend

Opensnowmap style reload

Posted by yvecai on 12 November 2018 in English.

I’ve figured out recently that base map (topo) renders underground water pipes like plain rivers. It will need a database reload to fix this. Certainly I can correct other glitches at the same time, so have you spotted or can you find something else really wrong with this style? I’m mainly interested in mountainous places, of course, don’t expect fixes in Manhattan subway lines ;-) The style is derived from OSM-bright. Thanks in advance, Yves

Are you joking ??

Posted by yvecai on 16 February 2017 in English.

No, seriously, c’mon! "map screenshot with lots of small squares"

I had to check on to see if my Opensnowmap has a problem. No, it’s perfectly fine. But fine for who ?

It’s not like there is no mapper in the US, as at least one of them made something like this a very long time ago (6 years). Is there anybody in the US using OSM? Is there any US-based company using OSM? It seems a bit stupid to do so at first sight, isn’t it?

The SnowMap base layer

Posted by yvecai on 22 September 2016 in English.

When Mapquest layer disappeared, this was a problem for OpenSnowMap: its cold colors and less detailed style were great to overlay ski pistes onto. But the end of this freely available map forced me to build a simple style with plenty of room for ski pistes: the OpenSnowMap Base Snow Map.

A winter topo map

I used OSM-Bright to start building this style. Using colder colours more suited to a winter map, of course I also added relief. In particular, relief hillshading led me to desaturate highways to avoid they pops out the shadowed side of the hills .

Ski pistes are not rendered on this layer, the OpenSnowMap remains an overlay. In fact, they are rendered on the Base Snow Map with 12 pixels wide transparent labels that forbids other labels to take place where ski pistes from the OpenSnowMap overlay will land.

I want to see it!

This style is only showcased on for now. The mobile part of the website is shown with ‘retina tiles’ by default, but you can choose this high-dpi option or not from the menu.

For these mobile-friendly tiles, I choose to render 384px tiles and display them with a 1.5x scale factor. That please my eyes on my own phone and the server seems to be OK with them, so please tell me they also looks good on your phone or tablet.

Of course, Openstreetmap-carto is still available, although without high-res tiles but a simple scaling for the mobile version. Here also let me know what the default should be: I find it more usable with the scaling on my device, although a bit pixelized.

That’s great, but …

Unfortunately, the use of the layer outside OpenSnowMap will be discouraged by referer magic and so on. Also, tiles containing ski pistes are pre-rendered, but not the others. So while the Imposm-powered DB is up-to-date and a few minutes behind Openstreetmap, don’t expect super-performances in tile refresh. Yes, 10 minutes so you can check your mapping mistakes and correct them before I take them into account, isn’t it clever ?

This new base map won’t change much the OpenSnowMap overlay tiles that will remains pretty much the same and updated daily.