Where the numbers come from
Everything on roulera comes from open data and our own checks. We calculate the climate from ten years of weather data. Hotels, workshops and routes come from OpenStreetMap, and we check features such as a bike room by hand on the business’s own website. Ratings and opening hours are shown by Google itself, only once you load them for a place.
Climate and climate score
Climate score from 0 to 100, based on daily mean temperature (50%), rain days (35%) and wind (15%), minus 4 points per heat day (high above 32 °C); a score of 65 or more makes a month suitable.
The climate score combines three monthly values into a number from 0 to 100: the daily mean temperature, the number of rain days (1 mm or more) and the average daily maximum wind speed.
Temperature counts for 50%; full points between 15 and 26 °C, zero points below 5 and above 36 °C.
Rain days count for 35%: full points up to 2 days, none from 14 days. Wind counts for 15%: full points up to 15 km/h, none from 35 km/h.
A heat day is a day with a high above 32 °C. Each one takes off 4 points. Heat days per month are a ten-year average.
A month counts as suitable from 65; in words: unsuitable below 50, fair from 50, good from 65, very good from 80.
Climate: Open-Meteo Historical Weather API (ERA5 model data), daily values from 2016 to 2025 at the coordinates of each base town, aggregated into monthly values. Model data shows more rain days than official weather stations.
The score sets the order of regions and base towns in Search; the region pages show temperature, rain days, heat days and wind instead.
| Level | from score |
|---|---|
| very good | 80 |
| good | 65 |
| fair | 50 |
| unsuitable | 0 |
Hotels, workshops and bike rental
Spots come from OpenStreetMap, imported automatically with the query date as the source, within 15 km of each base town.
We check features such as a bike room, bike box storage or breakfast time by hand on the business’s own website, each with a date and a verbatim quote as evidence. Marketing claims and guest reviews don’t count.
“Not yet checked” means nobody has verified the value. We don’t guess: a bike room without evidence is neither yes nor no.
Lists show checked spots first, then sort by stars and distance.
Camps, tours and training venues
We list providers of camps and guided tours when their own website confirms where they operate: the hotel, the base or the meeting point in the region, not the company’s head office. No confirmed location, no listing.
We take the season, as months, from the same website; if it names none, the listing shows “Season on request”. Directories and comparison sites don’t count as evidence.
In the year at a glance, the “Camps and tours” row counts, for each month, the providers whose season includes that month. Providers with “Season on request” are not counted in any month.
We only list major cycling and triathlon events when the organiser’s official page gives the date or month, and only a few per region. In the year at a glance, a dot above a month marks an event in that month.
Training venues are 50 m pools, running tracks and velodromes from OpenStreetMap that have a name and whose public access is confirmed by a page from the operator. Pump tracks and bike parks don’t count; when in doubt, we leave a venue out.
Listing is neutral and free: nobody pays for an entry, a placement or a highlight. Providers are listed alphabetically.
If something is missing or wrong, just send an email via “Suggest a correction”.
Gyms
Gyms come from OpenStreetMap: named places for strength training and general fitness, CrossFit included, within 15 km of a base town. On the map they sit with the training venues.
Left out are yoga, Pilates and dance studios, climbing and bouldering gyms, padel and tennis clubs, martial arts schools and class-only studios, as well as members-only or guest-only gyms and gyms inside hotels.
We only list a day pass or short membership when the gym’s own website says so; otherwise this detail is still open.
Terrain, roads and routes
Road quality on five levels (5 very good, 4 good, 3 mixed, 2 fair, 1 poor) from riders’ reports; it is only set once there are 2 independent reports.
Cycling routes are route relations from OpenStreetMap with a length; we calculate elevation gain and profile from the Copernicus elevation model (30 m). Route density on the map counts how many routes use the same section.
We back up terrain (flat, rolling, hilly, mountainous) with pages from tourist boards and municipalities. Without such evidence, we calculate it from the Copernicus elevation model: elevation range (95th minus 5th percentile of land elevation) and share of land with a gradient of at least 20° within 15 km. Mountainous from 300 m and 12%, hilly from 300 m, rolling from 150 m and 3%, otherwise flat. Calibrated against the eleven base towns with documented terrain, the method matched all eleven; it sets the terrain for Alcúdia, Sant Feliu de Guíxols and Altea.
Relief: shading from Copernicus DEM 30 m.
Road or gravel
We take whether a cycling route counts as road or gravel from OpenStreetMap, where each way of a route usually carries a surface tag.
Asphalt, concrete, paving stones and cobbles count as paved. Gravel, fine gravel, compacted dirt, bare ground and grass count as unpaved, as do farm and forest tracks without a hard surface.
If at least 25% of a route is unpaved, it counts as gravel, otherwise as road. If surface data is missing for more than a third of the route, it counts as road, because its surface is not documented well enough.
On the map, gravel routes are dashed and road routes solid; the switch in the legend shows just one kind or the other.
Getting there
Airports, the nearest rail station with long-distance trains and, for islands, the ferry ports, each as the crow flies from the base town. Travel times and connections only where an operator’s timetable shows them; every entry has a check date and evidence. We don’t assume where you’re travelling from.
“Reachable without flying” means a long-distance rail station or a ferry port within 18 km; a ferry only counts if the shipping line gives a crossing from the mainland of no more than one night (16 hours).
We check weight limits, dimensions and bike fees on the airlines’ websites and list them per airline under Resources.
Maps and licences
Climate: Open-Meteo.com, CC BY 4.0. Spots, routes and maps: © OpenStreetMap contributors, ODbL, tiles by Protomaps. Relief and elevation: Copernicus DEM GLO-30 (© DLR e.V. 2010–2014 and © Airbus Defence and Space GmbH 2014–2018, provided under COPERNICUS by the European Union and ESA). Typeface: Nunito (OFL).