Web mapping applications are nowadays an ubiquitous and essential component of our lives. They bring to the user a set of helpful services that we are now all used to. Unfortunately the quality of these services depends indirectly on the user personal data that are often vampirized and exploited, without any respect for user privacy. Qwant Maps is born from this fact and proposes to give users exclusive control over their geolocated data.
To this end the choice to use OpenStreetMap as our main data source became obvious. Close to the DNA of Qwant Maps, OpenStreetMap is before all an important free and collaborative geographical database supported today by more than a million contributors around the world. Any voluntary user can freely contribute to enrich the database with new places.
Historically, a basic software ecosystem has gradually been implemented around OpenStreetMap in order to provide the mapping services required for the simplest uses of the map. However this ecosystem has never been planned to reach the general public. As a result the user who is not familiar with the project may find it difficult to use the OpenStreetMap tools. Specifically the absence of any efficient geoparsing system and autocompletion engine made the navigation and the exploration on the map nearly impossible.
A geoparsing engine
To overcome these shortcomings and to meet the needs of most of people, Qwant Maps has developed — or participated to the development — its own software components. The will of Qwant Maps is to create a virtuous synergy between Qwant Maps and OpenStreetMap. Thus Qwant Maps uses OpenStreetMap data to generate its own vector tiles, its own base map, its own web APIs. Also Qwant Maps feeds its geoparsing web service as well as its online applications thanks to OpenStreetMap data.
All components developed by Qwant Maps are open source so that users can contribute directly to improve their experience with the map: they can contribute either to the Qwant Maps code or to the enrichment of the data directly in OpenStreetMap.
The technical stack built by Qwant Maps is composed, among others, of the following open source software packages:
- Mimirsbrunn (or simply Mimir) is the search engine of Qwant Maps. It allows to search for the following "punctual" geospatial objects: addresses, administrative areas and points of interest. It is a web service of geocoding (or more precisely geoparsing) that matches the user unstructured text query with a specific point (or area) on the map (i.e. a latitude and a longitude). The complexity of the problem is to disambiguate user requests. The roots of this ambiguity are numerous. First of all there are a large number of possible interpretations in the world for a given mention of a place: the difficulty is to choose the most "relevant" interpretation. Then there is the natural ambiguity due to the natural language: the user often looks for a place whose the exact spelling is not necessarily known.
- Kartotherian : Qwant Maps provides a visual rendering based on vector tiles. Tiles are based on a spatial hierarchical model of the world labeled by different levels of zoom. Our tiles are generated, served and rendered by the Kartotherian stack developed by the Wikimedia Foundation according to the OpenMapTiles open source data schema.
The choice of vector tiles offers more technical flexibility allowing us to easily integrate different styles and native support for specific renderings (3D, rotations ...). The Qwant Maps tiles are updated every 24 hours to incorporate daily changes from OpenStreetMap data.
- Idunn : the highlighting on the map of all the information existing in the tiles is provided by Idunn, a Python web API that exploits different data sources (OpenStreetMap, Wikipedia ...) to provide the user with the most useful information. Specifically Idunn goal is to add context regarding points-of-interest data in a consistent referential. For example opening hours of points-of-interest are parsed from OpenStreetMap tags and are managed by Idunn.