Trailforks is now providing its own background terrain map. It’s homegrown and built from the ground up to highlight all things mountain biking. Online map sources have come a long way in recent years, as has the technology and hardware necessary to process and make them widely available. At Trailforks we have a pretty simple goal: arm riders with all the information they need to find that next epic bike adventure. Up until now we have only been providing widely available online background maps to give geographic context to the trail data. Each of these background layers have strengths and weaknesses, some have stricter usage licensing then others, but they are all good maps. As good as these background maps are for their intended audience, that audience is wide... really wide, like everyone in every user group. But our focus is narrow, primarily mountain bikers. To build a map that is very specific, even to virtually one use case, we decided to create a thematic background that we can more easily control, remove unnecessary visual distractions, illuminate important map locations and geographic features. Our goal in building this map is the same as in building Trailforks; to provide all the information you need to find your way onto the trails, quick and simple.
1.
1.6 billion tile images stored
2.
7 terabytes SSD storage
3.
34 million km of road/track/contour data
BASEMAP by TrailforksThe first thing we did was to filter out unnecessary map items that tend to obscure the mountain bike information. We think that paved roads and highways are over-emphasized on most maps. Even maps that profess to be "Bike Maps" often display the main freeway as a center-piece. Of course, we do believe they serve a purpose, like to help navigate you to the trailhead or when doing a shuttle, and as a visual reference to help orient yourself to a location. But for the most part paved roads themselves as compared to trails are ancillary, and on our map they are rendered accordingly, in plain white, visible, but insignificant as compared to mountain bike trails, as they should be.
CUSTOM TERRAIN and ELEVATION CONTOURSMountain gradients and elevation data is very important, but not so much that it detracts from the trail map itself.
This is another area we decided to start from a blank canvas and build up the terrain to provide only what we need to know when planning a ride. Things like how steep up, how steep down, when does the climb start, will I get caught in a valley and have to climb out before it gets dark. We didn't want the terrain shaded too dark, because again that obscures the trail data and doesn't print well. With a terrain map of our own design we have the freedom to provide printed copies, even provide other mountain bike organizations a basis on which to build a trail map or create beautiful printed race course maps to hand out on race-day.
When we started toying around with terrains and contours, providing a map like this that would cover the globe was a daunting task. To process large groups of files that would reach as big as 30 gigabytes for one single file initially took days to process. We initially thought multiple computers running in parallel would be required. To overcome this we built a specific computer, 12-cores, 64 gigabytes of RAM and a 1.3 terabyte NVMe drive that could be used as a graphics buffer. Then we had to add (4x) 4 terabyte drives to optimize IO and serve as a source for SRTM raw elevation data, contour vector files, completed terrain files and all the intermediate files. The speed of disks was the primary limiting factor. Using the Intel 750 NVMe drive enabled us to accomplish the pre-processing all one computer.
First, to process the terrains we did not want to use the SRTM elevation data raw without smoothing elevations and doing some scripted graphics work to pretty it up. The contour lines also needed to be smoothed and cleaned up using some custom scripts. Imagine every contour line on every hill and mountain everywhere in the world, that's like trillions of kilometers of vector length. Even for a liquid cooled 12-core overclocked machine the processing time was significant. On top of that our little workhorse would perform a gaussian blur to smooth out the terrain shading on massive files which would take up to 500Gig of work space on our NVMe drive as it worked on one of many files waiting in the pipeline. I had to install some extra fans on top of the liquid cooling radiator to pick up the excess heat. These new LED fans would kick on whenever the cores reached a high enough temperature. This way I could tell if there was a failure or crash, because the fans would stop if any part of the processing pipeline failed and the server room would look just a little bit darker. So I could just look down the hallway and say "Yep, still cranking!"
DIRT ROADSFor those of you familiar with the iconic Slickrock Trail in Moab, you know that like many trails in Moab, it shares a popular 4x4 route. Even dirt roads on a mountain bike map are generally more important or of greater use when connecting to trail systems or finding a quick way to drop off the mountain. Most maps do not contain dirt roads, if they do they rarely differentiate between paved and dirt, much less color them by how rough or primitive they are. When a map is mostly black and white, anything on the map with color will stand out. We paint the dirt roads in a dirty brown, and fade them out as the road quality diminishes, similar to the way you may experience such a road in person, as the weeds and overgrowth reclaim old double track. We believe all of this is important information to a rider, and we wanted to emphasize it. Or more accurately provide a theme that will represent it when the data is tagged with the necessary attributes.
Creating our own basemap gives us all kinds of flexibility we did not have in the past. Our vector data is derived from the
OpenStreetMap project and the terrains/contour are of our own design sourced from SRTM data. The list of items we wanted to remove from the map is lengthy, so for the purpose of this document I will enumerate a few of the more important things:
WHAT WE REMOVE1)
Ski Trails - A lot of great trails are up at ski resorts, so the first thing to remove was ski tracks. They often use the same difficulty ratings/colors as MTB trails and make any summer trail map overlay virtually useless in these areas. They were the first to go. We did not want to get rid of ski lifts entirely because we do use some of these during the summer. So we toned down the ski lifts, and if they are marked as summer or bike access, we actually emphasize them more by giving them a little orange halo.
2)
Trails - This may not sound correct, but yes, we filtered out trails. Trailforks trails are interactive and provided on top of the basemap, so we do not need trails that exist as part of any basemap. Most background trail data is often fragmented, incorrect, and/or inaccurate. We are still in the process of adding and completing trail systems in Trailforks as well, but to display two sources of trail data is confusing. In some cases the trail data in the background is very good, like OSM trail data is excellent in many areas of world. We simply don't want the confusion of overlapping. Unfortunately the tagging of trails within OpenStreetMap can be inconsistent, so our filters are very strict. We are making every effort to display hike trails to use as a reference, cross-training, and to know where not to ride, but they must be marked in OSM (we will post more info on this later).
3)
Large Land Borders - All of the land on this blue marble is sliced, diced and marked in what are commonly known as political boundaries or better known as "Land Ownership". If you are making a map for everyone that is to display everything, you probably need a complicated coloring system with all kinds of different shades, patterns and borders to indicate forests, protected areas, military boundaries, wilderness, private land, mining claims, etc, etc. ad nauseum. For the purpose of this map, most of those colors and shades simply obscure our important data. We really don't care, all that matters is "Can I ride my bike here or not?" Wow, that makes our map colors pretty simple. We take it one step further, by painting military boundaries in our "Black Ops" theme (We don't want to find ourselves on a practice range) and Wilderness/Protected areas in a light green shade, where both have distinctive borders. Military boundaries are marked accurately and consistent within the OSM dataset, whereas the forestry and protected area attributes in OSM are not as consistent. But we did our best to highlight areas that are often considered sensitive, and will provide guides on how to fix OSM data to be more consistent, so that we can all make the data there better.
PROTECTED AREAS AND MILITARYIn the image above you can see the "Timpanogos Wilderness" border as it cuts right through the Dry Canyon Trail. Although the trail is not really ride-able up, legally you must walk your bike to the saddle. There is no signage up there, but the border is clear on our map.
IMPORTANT LANDMARKSHospitals and pubs. You know, for emergencies and that sort of thing. You know you are riding in a great place if all trails lead to a cold one, and to a lesser extent the emergency room.
There is a lot of tech behind creating and serving our own world-wide basemap. Large database servers hosting all the OpenStreemMap data for the planet. Servers to generate the map tiles using the OSM data, contours and shading. Servers to then host the generated map tiles and finally a CDN to serve the tiles to you the end user. Our servers generate over
1 billion of these custom map tiles!
Trailforks GIS basemap network map
ConclusionAll seriousness aside, this is a work in progress and we need help in crafting it. We have been testing it for some time now as we tweak the theme and try it in various locations, both in the office and out on the trails. We hope that Trailforks users will provide input and suggest changes that we can add to our growing list of theme tweaks.
Our custom basemap is already live on the
www.trailforks.com website as the default map choice for most regions. The basemap will also be an option in the
mobile app soon!
We already have a list of changes coming in a couple weeks, such as highlighting bike lanes in cities leading to the trails. We are also improving the filtering of the OSM tracks that underlay our trails which tend to look a bit messy. An upcoming article will explain how to edit OpenStreetMap with proper tagging to best work with Trailforks.
We would also like to hear about how you may be able to use our basemap to help promote riding in your area. Having our own basemap opens up new possibilities and we have more cool features coming that will utilize it.
One question: - what is the impact on people who write guide books, etc? Will their services, books, apps etc be rendered obsolete by the sheer power of Trail Forks?
What Trailforks trys to address is every trail association or region developing their own half-baked online trail maps or online management systems. Trail associations are mostly volunteer and have limited resources, we believe their time is best spent on building trails and advocating for them. Let us do the IT stuff as a free service to associations in a common platform around the world. Backed by Pinkbike you know Trailforks is not going to shutdown in a year. Whereas local club X's IT guy who made a sweet online map for your club moves on and no one's left to maintain it.
I feel the same way about regional Apps, especially those that cost money and the profits seem to go to the trails. These apps and books for sale are often private interests and give only a small percentage of profits to the local trail associations. Much better as a rider or visitor to just donate money directly to the trail associations. This is something we try and promote and change the culture of with "Trail Karma" www.trailforks.com/karma
Even if a product is owned and built by a local trail association, it cost money for them to develop. Where as every rider paying a small karma donation when they visit is pure profit. So i'm not suggesting not buying guide books. If you get value from that then buy it for that reason, but not as a substitute to giving to the local trails.
People have already been moving away from printed media in many aspects of life for years, Trailforks is not the cause of any slowdown in print products geared for mountain biking.
I've bought a lot of guide books in the past, but like many (most?) are transitioning to electric formats. I think where future guide books will shine are ideas such as trail-link-ups, points of interest, history etc.
I forget, which one do I need when I get hurt?
You Trailforks programmers are living the dream using your CS skills in the MTB industry and truly revolutionizing MTB specific navigation.
Thanks!
I would be appreciative if the trails were in the tile, and even more ecstatic if they were available as a vector layer. One can dream
I already have on my todo list to look into providing a TF tile for JOSM and I'll add ArcGIS.
Thanks.
There are other reasons we decided to build this from the ground up, more to do with licensing, as we will be having some really cool features coming online for users and trail groups alike.
Honestly, Trailforks as a hiking app could be a stupendous financial boon, meanwhile funding-in-part the thing we love and hold dear? In anycase, thank you. Big fan and contributor.
wiki.openstreetmap.org/wiki/Mountain_biking
in place and in many parts of Europe, this has pretty good coverage:
mtbmap.cz
www.vttrack.fr/?zoom=6&lat=45.6294&lon=4.76807&layers=OpenStreetMap%7CSentier%20OSM%7C
etc.
It is something we might consider in the future. One issue is OSM is the wild west.. there is a lot of illegal trails posted, there is no control for local associations. Endless wiki battles.
About filtering and presenting terrain and trail information.
Maybe you should take som ides from the international specifikations for Mountain bike orienteering maps
www.svenskorientering.se/ImageVaultFiles/id_34555/cf_78/International-Specification-for-MTB-Orienteering-M.PDF
I use a Garmin Edge 810 for longer rides and uploading routes when I am in unfamiliar territory. When I first got the unit, I downloaded OpenStreetMaps as my basemap for all the places I ride. It is OK, but leaves plenty to be desired. The next logical question: is there going to be a way to get the TF basemap onto Garmin products?
The need to do this would be less if the TF app did ride-logging functions like the Garmin or even the Strava app, and I understand it was a conscious decision to stay away from that approach. But it does make me wish I could have that TF map as my Garmin basemap!
Keep up the great work!
Couple questions:
- How regularly will you be re-rendering map tiles to reflect source data changes? (road disappears in a slide, forest is logged, park boundary moves etc)
- Are you making the tile service, and/or other data, available through an API? I'm sure others as well as me would love to have a play with your tiles and data.
Now we are also probably going to create a way we can re-generate all the tiles just in a specific region via a bounding box. So it will be an option as a region admin to request that regions tiles be re-generated on the fly.
We have not decided 100% about letting others use the tiles, but we are probably open to that. We can also have a version with the trails baked in along with thee trail labels. So 1 tile to show everything, which would be handy in some GIS apps that let you source 3rd party tile servers.
Great work - Is this privately developed or something that I could fork and help with bug fixing etc?
I see that Trailforks has the feature, but currently there are only 21 routes in CO and half of them are enduro courses. You guys obviously have the foundation of trails (and the map itself), but the usefulness and adoption will increase exponentially when it can be used in more applications.
As someone else mentioned above, it will also be nice to have an offline version. I have Verizon now so I'm not as concerned, but when I had Sprint my coverage SUCKED and I couldn't see anything when I was out on a ride.
Here is a nice example of a route using most the features: www.trailforks.com/route/ews-1-2016-corral-chile-day-1
But we have many other ways to discover ways to ride a new area that the others do not. We have the ridelogs, you can click a trail and view all the ridelogs for that trail, which show all users rides that included that trail. So it can give you ideas for a good loop. This also works in the app.
We also have heatmap & popularity data, so you can view any map and colour code the trails by "popularity" to quickly visually see which are the most ridden trails and routes in an area. (more info: www.trailforks.com/help/view/60)
But you are right we need more route content, some areas have a lot, but its spotty. We have a lot of race routes, because race organizers like the auto-routing features to plan race routes. They only have 905 more routes than us, we will have more by the end of the year TF has 30,874 more trails, which makes adding route content easier now.
It seems you own a guiding company? We allow people to make branded routes, and have features like logo and route sponsors geared for that. Here is an example of a branded route in my area www.trailforks.com/route/rigs-in-zen-expert-loop-1-5-2-5-hours-ridespots-com
The mobile app should still work at its core functionality with zero data, it will still show the trails and your position. The background might be blurred or blank. Clicking a trail and trying to view photos, videos or reports won't work offline. But the trail status & condition is synced offline in small background data bursts.
We have an app update coming very soon, crossed a bunch of smaller features off our list, so we can look at offline tiles for the future, its always been our eventual goal. We are just a small team, so have to prioritize.
I know the general atmosphere about protecting secret gems and keeping some of them out of the eyes of those that might end up destroying them... one in particular that i've ridden a fair amount, is A) awesome as shit, but B) pretty hard to find, and not only that, fairly remote in that if i broke half my body on it crashing, i'm not sure besides GPS coordinates from my phone, how I would tell anyone to come find me if I was riding solo. I found it by word of mouth and some snooping, but I was thinking it would be maybe cool to have it mapped out.
Thoughts?
How Content Approval & Moderation Works
www.trailforks.com/help/view/70
How to stop a sensitive or illegal trail from being added?
www.trailforks.com/help/view/22
2. Secret Gems can be uploaded and then protected as an area that is either on private property, illegalish or whatever. Exit 27 in Washington as an example as threaded the needle between its current stance (totally illegal, but who cares) and soon to be adopted by the DNR as part of a legal mountain bike trail system in the near future.
3. Truly secret gems should not be uploaded, IMO. That said, I harvest Strava data from key people to find maps to secret local stuff (aka: In Whistler / Squamish, because unfortunately I cannot live there easily as an American). Props to all the awesome trail builders out there!
Now let me ask that unpopular question once again... Windows Mobile? I know it's not just a plug and play conversion, but I'd really love to use trailforks in the future...
Q: I often use Oruxmaps for online navigation. Is there a way to add this new map to the app's map database?
Example:
Strava:
www.strava.com/activities/528502776 =2364 ft
Trailforks:
www.trailforks.com/ridelog/view/401863 =5167 ft
Im with Trevor, if i was starting out and had a choice to pick a field i would focus more on the dev side than just general gis.