Viewranger POI Editor

Author: Ari Cooper-Davis

Date Published: Apr 16th 2020

JavaScript (JS) is an exceptionally well established and utilised web framework used on almost every browser to provide interactive and engaging user experiences. It's also a great language to do data visualisation with, as it allows the user to interact directly with data without putting any extra load on servers, really reducing the overheads. Now that TensorFlow has a JS framework it's even more relevant to my research, so I have developed this project to learn it.

I'm teaching myself this, in the long run, so that I can develop user-interfaces for forecasting and modelling tools as part of my research, but for the moment I'm just having fun.

Viewranger POI Editor

ViewRanger POI Editor is a site, written in JS, that enables you to visualise and bulk edit the POIs in your ViewRanger Database. Find out how it was made by checking out the GitHub repo.

I'm managing to get out for runs as my main source of exercise most days, and I'm really enjoying tracking my progress using a GPS watch. I connect this to my phone and look at my routes on apps like Strava and ViewRanger. However, I've noticed that it's really hard to edit ViewRanger points-of-interest (POIs) in bulk - you can work with them in a list on their website, but there's no graphical selection.

So I decided to write a website that you could upload your ViewRanger Database to that would display your POIs for editing.

This leverages the fact that the ViewRanger Database is essentially an SQL database, and therefore reasonably easy to work with - there are even JS tools such as sql.js that allow you to work with SQL tables dynamically in the browser. Once you've dealt with the basic mechanics of loading data from the SQL file then it can be parsed and displayed on a Leaflet map which already has all the bindings you need to be able to develop click-and-drag selection mechanics and other user interaction systems.

If you want to check out the finished product you can check out the fully functional demo site at or you can clone the repository and host it yourself. If you'd like to built upon this or contribute the project then please feel free, by visiting the GitHub repository.