Relief upgrade

More and more countries offers high-precision relief open data based on LIDAR measurements. I took the opportunity to integrate some in map, including :

• France – RGE ALTI® 5m © IGN
• Switzerland – Alti3D © swisstopo
• US & Canada – NED 1arcsec U.S. Geological Survey
• Austria – DHM 10m – CC-BY-4.0: Land Kärnten –
• Italy – Tinitaly 10m – CC BY 4.0 Tarquini S., I. Isola, M. Favalli, A. Battistini, G. Dotta (2023). Istituto Nazionale di Geofisica e Vulcanologia (INGV).
• Norway – DTM 10 Terrengmodell (UTM33) – CC BY 4.0 Kartverket

Even if the final resolution is the same than previously (1 arcsec or approx. zoom level 12), the extra-precision add nice details to the map.
These dataset have been merged on top of the previous SRTM / ASTER / EU-DEM data with gdal, using a blend radius of 2 pixels (2 arcsec) on their edges.

The hillshading has been re-computed using the excellent ‘Igor’ algorithm (from Igor Brejc, Maperitive author), this also add some interesting information on the north-west facing slopes.

Nowadays it’s way easier than back in 2015 to play with those big datasets, mainly thanks to the availability of fast NVMe disks. This also mean that I could more comfortably refine some other elements of the map and their interaction with the relief. This concerns mainly the contour lines (also computed and optimized from the same upgraded relief data) and the small roads and their label.

Still, you’re not looking at a big contrast topo map, just the background map to display ski pistes at

Maintenance, again.

This time opensnowmap will renew part of the relief (DEM, contour lines and hillshading) on selected countries where better open-data is easily available. This include Switzerland, France, Austria, Italy, Norway, US and Canada.

In the next weeks, the map refresh may be suspended and zoom level beyond Z16 unavailable.

What about grooming ski pistes this summer ?

Depending on the area, the default nordic skiing practice differs a lot. While in western Europe one can expect a wide area for skating plus tracks for classic style skiing, this is not the case everywhere in the world.

In some regions, the piste preparation is much lighter and the majority of pistes are just signposted crosscountry ski routes for crosscountry touring with extra-large skis.

On OpenStreetMap, we use the tag piste:grooming  to describe accurately the various practices.

Yet today (25.06.2022), there is no way to know what kind of gear is well-suited to run 24 % of the nordic skiing pistes already mapped, that is 22’303 km.

This summer, no need to get the snowcat out of its shed, just take your mouse to update the tags on pistes you know !

On, these pistes appears with a dashed pattern from zoom 12, and display a perplexed skier from zoom 15 onward.

You can also find pistes where the piste:grooming tag is no set on a way nor a relation from this overpass query :

way["piste:type"="nordic"][!"piste:grooming"]({{bbox}}) -> .nogroomingway;
rel(bw.nogroomingway)["piste:type"="nordic"]["piste:grooming"] -> .groomingrel;
way(r.groomingrel) -> .groomingway;
(.nogroomingway; - .groomingway;);
out geom;

Here is a reminder of the wiki’s definition:

piste:grooming=classic  Two rails for classic style nordic.

piste:grooming=classic;skating  Wide piste for skating and at least one set of classic rails.

piste:grooming=skating  Wide piste for skating (or ‘free’) style nordic.

piste:grooming=scooter  Classic style groomed by a smaller snowmobile, which means that the piste is often much looser and single lane.

piste:grooming=backcountry  Un-prepared itinerary for cross-country skiing, tracks are made manually by skiers.

Major update !!! (But you won’t notice)

The OpenSnowMap so called ‘API’ just had a major refresh.
This is the piece of code that tells you what piste is what when you click on it, list the ones currently on the map and find pistes when you search them by name. It also computes resorts statistics, and so on.

Once based on Osmosis, it is now built on top of a DB created by Osm2pgsql, thanks to the nice work done with its flex-output (and doc!) in the past years. Even the routing function is now directly integrated in the same database.

Normally, you won’t notice big differences when using, except a huge performance improvement in the requests response delay: in the process all  database queries have been optimized and the code simplified.

January 2022 at

A couple of new features are available on OpenSnowMap:

Fatbike and lift icons are already rendered on the map, but yet to be updated on the pistes lists in the website.

New routing backend

There’s a brand new routing engine at!

All known piste:type ways and relations are routable (that is, if you don’t know them yet: nordic, downhill, connection, sled, hike, skitour, ski_jump, ski_jump_landing_area, fatbike, sleigh, playground, snow_park, and of course every semi-colon separated combination of those).

The long overdue feature is that this new router take into account way directions: you may find it harder to go uphill for alpine pistes, and downhill with lifts.

For all pistes, the tag piste:oneway=yes/no/-1 is honoured (or oneway=* if no highway=* tag is present on the same way). Lifts are considered oneway only, except aerialway=gondola and aerialway=cable_car, or if oneway=no if specified

Last, some pistes are logically excluded when an access tag is present that contradicts the piste:type=* tag, like ski=no, foot=no and bicycle=no or discouraged. A know limitation is that doesn’t affect relation members yet.

So, if your favorite resort is not routable yet, it’s time to check the connection between the pistes, and lifts. Do you know about the tag piste:type=connection ?

The routing functionality is still a ‘draw yourself a route’ between waypoints feature. If you’d like a different flavor of ski routing, you may want to try the one at

Thanks a lot for Michal ( work on ski routing with OSRM, even though in the end, Opensnowmap is now using PGrouting. ‘desktop’ version phasing-out

I recently added the remaining missing functionalities of the website to the mobile-friendly version, so now it’s time to de-commission the other version.

I hope you won’t be too disappointed to see the old design disappear. This was inherited from ‘’ that started back in 2011 (if the commit history is right !).

I can’t resist to rebuild the first look of the website back in 2013, of course OpenMapquest tiles are missing.

Legacy version for desktop as of end 2022.

First look of somewhere in 2013.

While we’re at it, do you remember this one below ? march 2012

In case you feel lost, you can still find the old version (at least for a while) from the menu ‘LEGACY OPENSOWMAP’.

Routing is now availale on mobile

After the switch to Openlayers 6 a few weeks ago, I am now able to provide the Opensnowmap mobile version with routing functionality.

Routing works in a similar way than on the desktop version, it’s only point and click (or rather tap and tap), there is no geocoder. You can however use the ‘Search’ menu to find your pistes.

Just tap near a piste, a waypoint will be snapped onto it. Then drag the point if you want to relocate it accurately. You can add as many waypoint you want, and insert a point along a way to move it afterward.

When you want to exit the routing mode, just tap on the blinking blue routing icon.

No change as been made (yet) on the server-side router, you can still climb back alpine descents and take lifts the other way around. Let say it’s a feature !