geospatial mapping

Best Self-Hosted Mapping Software

There’s no denying that Google Maps has made travel much easier: you simply pick your destination and follow a route picked for you by a sophisticated algorithm that takes into consideration hundreds of different factors, including the current traffic situation.

But even though Google Maps is free, there’s a price all users have to pay, and that price is your personal data. By default, Google Maps records your every move and sells the recorded data to advertisers, who are hungry to know where you shop, how long you stay there, and how often you return.

If you’re not keen on sharing your location data with third-parties, self-hosted mapping software is a great alternative to web mapping services such as Google Maps. We’ve picked top five best self-hosted mapping software solutions and created a guide on how to install the most popular one of them.

1. GraphHopper

GraphHopper is a fast and memory efficient Java routing engine that can run on a server or offline on mobile devices and desktop computers. It uses data from OpenStreetMap, a collaborative project to create a free editable map of the world, but it can also import data from other sources.

Besides point-to-point routing, GraphHopper is also able to perform sophisticated route optimization and solve the traveling salesman problem. Businesses that ship goods to customers can use GraphHopper to assign routes to their vehicles so that total transportation costs are minimized.

GraphHopper is licensed under the Apache License 2.0, which allows everyone to customize and integrate it in free or commercial products. Users who would like to use GraphHopper’s outing services within minutes can take advantage of the GraphHopper Directions API, which can effortlessly integrate A-to-B route planning, route optimization, isochrone calculations, and more in virtually any application.

2. Mapzen Turn-by-Turn

With Mapzen Turn-by-Turn, you can easily add routing to your app to provide its users with flexible routing options and narrative guidance. This mapping software is based on road network data from OpenStreetMap and public transit feeds from Transitland, and it supports many different modes of transportation, including foot, bike, car, bus, train, or even ferry.

Mapzen Turn-by-Turn comes with several companion mobility services to help you turn navigation data into useful insights. The services include the Mapzen Map Matching, which corrects imprecise GPS data by bringing GPS points to nearby roads and paths, Time-Distance Matrix, which efficiently calculates travel times and distances between many places with just one API call, and Isochrone, which provides insight into travel at an individual level and en masse.

3. uMap

uMap is a useful mapping software built on top of Django and Leaflet that lets you create maps with OpenStreetMap layers in less than a minute and embed them in your site. uMap allows you to add POIs, manage map options, batch import geostructured data, and more.

uMap’s developers have created an extremely useful series of screencasts that explain the ins and outs of this mapping software and make it very easy for beginners to make maps with uMap. There’s also a demo version on the official website of the software, and we encourage you to give it a go to see what uMap is all about.

4. OpenStreetCam

Since 2007, Google-branded vehicles have been traveling all over the world, collecting panoramic pictures of streets for Google Street View, a technology featured in Google Maps and Google Earth that provides panoramic views from positions along many streets in the world. Unfortunately, the wealth of photographs collected by Google isn’t freely available, and it’s up to Google to decide who can access it and who can’t.

The goal of OpenStreetCam is to provide a free, crowd-sourced alternative to Google Street View. All collected imagery, which is typically taken by independent contributors using smartphones, is published under a CC-BY-SA license and most of the project’s code is open source. OpenStreetCam can recognize street signs in real time while capturing imagery, and it supports using an ODB-II dongle plugged into the vehicle in addition to GPS to improve the accuracy of the positions of images.

5. KeplerJs

KeplerJs is a relatively recent open source geosocial solution that allows users to create and share their favorite places and communicate with others in real-time. KeplerJs takes data from OpenStreetMap, Geonames, and several other sources, and it can also import custom data in order to create a new layer on top of existing data.

KeplerJs is created using Meteor, a free and open-source isomorphic JavaScript web framework for rapid prototyping written using Node.js. All events and changes within the platform are automatically transmitted from the server to the clients through WebSockets, and the development is based on a flexible plug-in architecture.

While KeplerJS is still in its infancy, it’s starting to gain traction and attract enthusiastic open source developers who want to make it better and share their favorite places and join discussions in real-time.

How to Install and Configure GraphHopper

Because GraphHopper is written in Java, a programming language intended to let application developers write code once and run it anywhere, installing this mapping software couldn’t be easier.

All you need is the latest Java Runtime Environment, an OSM map, and the latest version of the GraphHopper Web Server.

From there, it’s just a matter of unpacking everything into a single directory and starting the GraphHopper Web Server with the following command:

java -jar *.jar jetty.resourcebase=webapp config=config-example.properties osmreader.osm=berlin-latest.osm.pbf

You should then be able to go to http://localhost:8989/ and see the OSM map you’ve downloaded earlier.

Keep in mind that the first start of your GraphHopper Web Server may take a while, but subsequent starts should be a lot quicker.

Conclusion

Running your own mapping server may sound daunting at first, but modern open source mapping software solutions make it very simple. While it’s very likely that you will keep using Google Maps or some other popular mapping service for day-to-day travel, knowing how to set up a mapping server may help you secure a great job or amaze your college professor.

About the author

David Morelo

David Morelo

Content writer and copywriter, researcher, wannabe linguistic, part-time marketer, gym rat, sometimes annoying but always loving boyfriend.

I was born and raised in the Czech Republic, where I studied English and Japanese philology at the Palacký University in Olomouc, the second oldest university in the Czech Republic and the largest university in Moravia, one of the historical Czech lands.