Mountain Finder

Published on

Last Modified on

Mountain Finder

Mountain Finder aims to address the question of which mountains are reachable within a certain travel time/distance from the starting point.

It is still a work in progress, with new features being added gradually as time permits. I am using it as an opportunity to learn more about mapping libraries, geospatial datasets, and efficient querying methods to ensure I remain within my free tier limits!

Tech Stack

This site is built on SvelteKit using TypeScript, Tailwind, and MapLibre, deployed to Vercel with data stored within CockroachDB.

The hill/mountain data was obtained from the Database of British and Irish hills (DoBIH), which was established in 1999 and makes its collected data available under the Creative Commons Attribution 4.0 International License.

The main feature of this application is the use of isochrones. Isochrones enable the calculation of mountains reachable within a specified travel time from a starting point. They are calculated using the OpenRouteService and support multiple modes of transport (though unfortunately not public transport).

Future Plans

There are several key features that I plan to integrate, which will greatly enhance the usability of the project:

  • Incorporate Geocoding to eliminate the need for manually dragging the map marker to your starting position or relying on geolocation data.
  • Integrate weather data to provide users with better information about the weather conditions at their destination.
    • This should include weather warnings at the very least, but could also encompass temperature, wind speed, precipitation, etc.
  • Implement user support and a feature to log climbed mountains, with the possibility of importing logs from hill-bagging.co.uk or peakbagger.com.
  • Add support for GPX uploads, which would help overcome the limitation mentioned below and allow users to view routes taken by others on the map, accompanied by disclaimers regarding the data’s accuracy.

Limitations

As with any project, there are certain limitations, and this project is no different.

Mountain peaks are not generally starting points for hikes

This presents a fundamental challenge. I believe it can be addressed by keeping logs of the starting points of walks over time, which could also serve as an incentive to explore lesser-known peaks. Eventually, this could evolve into a crowdsourced dataset.

Isochrones are computationally expensive

While the hosted version of the OpenRouteService API offers generous limits for the isochrone API, the calculation is resource-intensive. They restrict requests to either 60 minutes (for cars) or 120 km, and although detailed instructions on hosting your own instance are provided, this is currently beyond my resources. Nonetheless, exploring this option could enable faster isochrone calculations for greater distances/times in the future.