OpenStreetMap logo OpenStreetMap

Pieter Vander Vennet's Diary

Recent diary entries

Using map notes for a guided import - 'Pin je punt' one year later

Posted by Pieter Vander Vennet on 1 March 2023 in English. Last updated on 9 May 2024.

About a year ago, we launched a mapping campaign at the request from Visit Flanders (Toerisme Vlaanderen). This mapping campaign is focussed on some touristical POI, such as charging stations for ebikes, benches, picnic tables, public toilets and playgrounds. FOr this, a custom mapcomplete theme was created. (For a full explanation, see the last paragraph)

A part of the campaign involved a guided import. The agency had many datasets lying around (e.g. about benches or picnic tables) which they wanted to have imported in OSM. As doing a data import is hard and the data was sometimes outdated, we opted for a crowdsourced approach: for every possible feature, a map note was created containing a friendly explanation, information links, the tags to create and instructions to open MapComplete. When opened in mapcomplete, the user would be prompted to import the point or to mark it as not found or duplicate. All of these actions close the note with a small message on what the chosen action was.

Most map notes are closed by now, but the central question in this analysis today is: should remaining map notes be closed in batch, or do we leave them open for longer? Note that input of the local community will be gathered as well - this article will mostly serve as a point to start the discussion.

The datasets

Various datasets were provided to upload - which were converted into notes. In the table below, you’ll find a breakdown by topic, the date when they were uploaded, the number of notes created and how much of those notes were already closed and the top contributors for the category.

In this table, I’m not including if the feature has been added to OpenStreetMap, has been marked as not existing anymore or marked as being a duplicate.

Most of those notes have been opened by a dedicated account, except for two imports which accidentally did not use this account (noted in the table below).

See full entry

10 days ago, I wrote an essay about Bing Map Builder and how it could be used to fork the OSM community.

I made a prediction there:

Assume that Bing Map Builder becomes a really decent and good editor and that about a third of the edits happen through Map Builder. Microsoft could then -at some time in the future- decide to let updates from Map Builder flow to Bing Maps first, and only let them flow towards OpenStreetMap at a later time, “to review them for quality”.

It seems that this prediction has become true already (1). In the discussion under my previous entry, people noticed that “no bing accounts appeared anymore” in the new to OSM-listing. Time to re-investigate!

So, what is the behaviour now? I drew a new building, clicked saved and… the building disappeared from my screen. When opening the network console, this network call proved my suspicions. The created data is now sent towards https://bing.com/mapbuilder/changeset/submit and contains the changeset data (and bit of extra information)

See full entry

OpenStreetMap is in trouble

Posted by Pieter Vander Vennet on 6 February 2023 in English. Last updated on 20 October 2023.

Edit: A small update happened after publishing this article - you can read it here: osm.org/user/Pieter%20Vander%20Vennet/diary/400992

OpenStreetMap is in trouble

It is a long-standing tradition that every now and then, a member of the OpenStreetMap-community posts that OSM is in trouble. Often times, these essays complain about some trivial things which are, in the end, not that important. For example, they complain that we didn’t implement Bézier curves yet (we don’t need them), or that the data model is stale (it isn’t, new tagging appears every day), that the main OSM.org website doesn’t have some feature and isn’t on par with Google Maps (that’s by intent) or that AI will make the entire manual mapping space obsolete, in “just another ten years time”.

However, most of these things miss the crucial point of what OSM is: a community; a group of people that are working together on mapping the world in an Open Data way and building related tools with Open Source. Our strength is the unison in this goal, even though everyone pursues this differently, through different technological means and for different motivations. Motivations range from the most mundane reasons up till political activism. And that’s fine. All this activity and diversity strengthens us as a global community.

However, recently, a new participant has entered the ecosystem with parasitic intents. It tries to capture away precisely what makes OSM strong: the contributors.

The means to this end is called ‘Bing Map Builder’.

A bit of history

As you all are aware, OpenStreetMap-data is republished under the Open Database Licence. This means that everyone can use OSM-data for all purposes (including commercial purposes), but they have to honour two obligations:

  • You have to attribute OSM
  • Changes to the data have to be shared again under the same licence

See full entry

An overview of reviews made with MapComplete

Posted by Pieter Vander Vennet on 29 January 2023 in English. Last updated on 31 December 2023.

MapComplete has - for some thematic maps - the ability to leave a review on an entity with Mangrove.Reviews. Up till now, I had no idea how much this feature was used. However, due to technical reasons I had another look to the reviews module and discovered the ‘download all’-option on mangrove.reviews

Mangrove Clients

The analysis was made with data from 20 january 2023, downloaded around 17:00 UTC time.

This data contained 660 reviews. As the website making the review is recorded, we can make a breakdown of the top websites:

  • https://mangrove.reviews is unsuprisingly the most popular website to make reviews on, with 318 reviews made
  • MapComplete is the second (and the biggest ‘external’ website), with 192 reviews (of which 13 are made with the development version)
  • toggenburg.swiss is third, with 35 reviews

A variety of smaller websites follows, each with a few reviews made. At first glance, most of them seem to be swiss or german. Furthermore, there are 5 reviews made by localhost:1234 and 7 by localhost:5000. The former is probably me, testing the creation of reviews while developing.

The full table is listed below.

See full entry

What licenses are used?

Now that MapComplete is two-and-a-half year old, it’s a good time to see what license people are using to upload their images.

Why do I care?

The first reason to do this research is curiosity. How much pictures are uploaded with what license?

The second reason is a very practical and UX-driven: if a significant portion of contributors doesn’t bother to change the license, then the license picker can be moved from the ‘infobox’ into the ‘user settings’, freeing up valuable space there. User tests have pointed out that this is valuable.

Methodology

MapComplete uploads images to imgur.com and then links to this image using image=https://i.imgur.com/aBcDeF123.jpg. Some metadata (most notably the author and chosen license) is added as ‘description’ to the image on Imgur. If multiple images are added, then keys image:0, image:1, image:2… is used.

At last, themes can also add images under a specific key. For now, only the etymology-map does this with image:streetsign.

Overpass was used to download all features with a tag matching one of the described keys and matching an imgur-url.

Then, the description of all those images is downloaded and parsed, yielding the needed metadata.

Even though some people did add images to imgur to link them to OpenStreetMap before, we assume that (nearly) no images will also have the license information encoded as MapComplete does. Furthermore, this does not keep images of now-deleted features into account, nor does it take images into account that have been deleted in the mean time. I don’t think it’ll make a big difference though.

The resulting datasets are here. The script to download this all is in the MapComplete repository. Keep in mind that using this script will exhaust the daily IMGUR rate limit; so please use a different access token or spread the download over two days as was done for this research.

Results

See full entry

Hi all,

Hacktoberfest is a yearly event where contributors get a T-shirt from hacktoberfest.com if they improve an Open Source Project.

MapComplete is open for such improvements. Head over to the repository. An ideal to get started is by creating a map layer about something that is interesting to you.

If you have questions on getting started, feel free to ask in our chat channel on matrix/element (telegram bridge )

Detect tree species automatically with PlantNet

Posted by Pieter Vander Vennet on 14 September 2022 in English. Last updated on 15 September 2022.

PlantNet.org offers an API which tries to determine the plant species based on some pictures.

I integrated this API into MapComplete, together with some queries to Wikidata. As a result, linking a tree to the correct species identifier is easier then ever and can be done with a few clicks:

Hey all,

In the past month, MapComplete was part of Open Summer of Code where 4 students and myself did make a lot of improvements and a new theme.

With this diary entry, I’d like to give you some insights in what we’ve done the past 4 weeks.

What is Open Summer of Code

Open Summer of Code (or OSOC) is a programme organized by Open Knowledge Belgium, which is a small belgian NGO that promotes Open Source and Open Data.

For OSOC, they search clients (organizations or governmental institutions) which have an interesting problem that they want solved and with budget to pay a team of about 4 students.

These 4 students will be guided by a coach (such as me) to make sure something useful comes out of it.

The actual problems are varied. We’ve had a planning tool for building new homes, a calendar application based on SOLID, a tool to discover research papers, …
The bottom line is that data must be open and that all produced software and tools will be open sourced. If possible, the programs should reuse existing tools and datasets, such as OpenStreetMap or wikidata.

OnWheels: the wheelchair accessibility map

One of the projects this year was paid for by BOSA (a belgian gov organization) requested by OnWheels - a belgian application which helps wheelchair users to navigate the world. They have a database of shops, restaurants and other amenties together with some info about them, such as name, contact details and opening hours, but also information about the width of the door, the height of the kurb at the entrance, …

During the past years, the idea of opening this data has grown within OnWheels, for various reasons. By opening the data, more people can reuse it. Furthermore, by switching to OSM, the cost of maintaining this data is shared amongst more people.

However, making the switch is not easy. With the OSOC-project, we wanted to create a first version of how an OnWheels 2.0 might work.

Whom is this app for?

See full entry

Towards unified tagging of schools

Posted by Pieter Vander Vennet on 8 June 2022 in English. Last updated on 9 July 2024.

For my work at anyways.eu, I’ve been tasked to make sure that all schools are in OSM - especially with capacity.

No better way to do this by making it easy for contributors to add the correct data… So, I wanted to create a MapComplete theme for education. Normally, I would open up the wiki to see what tagging is needed, but for schools there is very little tagging available at the moment, which is a mess.

As it turns out, schools are diverse and this is reflected in the tagging.

This diary entry serves two goals:

  1. I want to organize my thoughts on how a tagging model could look like
  2. It is meant to stir up some discussion.

Hopefully, some tagging proposals will come forward from from this post.

So, what is a school (or educational institute) anyway?

This is already a hard question. The openstreetmap-wiki on ‘education features’ states:

Education features are map objects and object features which relate to educational activities

Well, thanks, captain obvious.

Let’s turn to the International Standard Classification of Education (from Unesco) instead:

As national education systems vary in terms of structure and curricular content, it can be difficult to benchmark performance over time or monitor progress.

So, in other words, it is difficult as this can be highly different amonst regions. The ISCED-document however does a good job to draw some lines and to give some definitions.

What does a standard school curriculum look like?

In most countries, the school trajectory for most people (according the the ISCED, page 21) looks more or less as following (but the precise ages can vary with a few years):

Before formal education starts, kids younger then about 4 or 5 go to preschool/kindergarten. This is optional in most countries, and some education takes place, often to prepare spelling and simple math. ISCED calls this level 0

See full entry

Hi all,

MapComplete has been (partially) translated in 21 languages by now - an amazing feat that I could never have done alone (for starters, I don’t speak 21 languages).

(For those that don’t know MapComplete - it is an easy-to-use map viewer and map editor. It shows POI on the map and when clicking something, shows the known information and asks questions about it)

Translating MapComplete started by manually editing the translation files, making a pull request, … A next step was moving over to Weblate, where there is more support for translations.

However, one has to know where to find this translations and translating can be tricky, figuring out which piece of text goes where.

That is why I launched a new feature today: toggling ‘translators mode’ (in the copyright tab) will add little buttons, taking you directly to the page to translate the string (or to fix some typos):

So: please help to translate MapComplete in your favourite language!

Some remarks:

See full entry

Last week, we launched a new OpenStreetMap-based website: “Pin je Punt”.

This application -based on mapComplete- was commissioned by the flemish touristical agency Visit Flanders. The application is a map viewer and map editor, which requests information about charging stations for ebikes, bicycle rental, benches, playgrounds and a few more POIs.

Why?

This project was started for two reasons:

  • No one in Belgium does know where all the charging stations for bikes are
  • There are five different, provincial touristical offices. They all keep their own database of POI as benches and bicycle rental. ‘Visit Flanders’ (which is responsible for the five smaller ones) wants to unify and integrate these databases. And where better to store all the data then on the biggest geodata repository?

This project builds upon MapComplete, which aims to be an easy-to-use map viewer and editor.

The launch

The project is live since the 7th of march, the (dutch only) project page can be found here

A former radio presentator made an advertisment video as well, which can be seen on youtube (dutch only). As far as I know, this is the first professionaly made commercial which asks to contribute to OpenStreetMap!

There has been quite a few edits done by now too:

See full entry

Location: Bever, Strombeek-Bever, Grimbergen, Halle-Vilvoorde, Flemish Brabant, 1853, Belgium

In my little OpenStreetMap-editor translations are provided by contributors on hosted weblate, where thousands of text snippets have been translated already in the past year - which is awesome. Thank you translators!

However, the language picker was a bit dry: it used to have codes for every langauge, e.g. nl, en, ja, ‘pt_BR’, ‘zh_Hant’… Quite boring and not really user-friendly - but easy to implement.

Today, I decided to give these an overhaul. I wanted to show proper language names in them. But: in which language should we show the language overview?

Should we show the language option in the language itself? Or should the languages be shown in the current language? Showing in the current language also means that the name of every language should be translated too - a huge task… Also, translating every language has the drawback that, if a user accidentally selects a language in a foreign writing system, they’ll won’t be able to find their language in all the “gibberish”.

Best of both worlds

I decided to offer the best of both worlds: in the menu, first language name is shown as the native speaker speaks it, followed by the language name in the current language (except if both are the same)

This means that, in all circumstances, everyone can find their language.

But, where to fetch every language name in every language?

Wikidata to the rescue

Of course, the internet must have a list of languages translated in every language. But where to find it or compile it?

I decided to have a look at one of the biggest repositories of knowledge: Wikidata. They do have an entry for every language (e.g. Dutch). To fetch every modern language, we turn to the SPARQL-endpoint with the following query:

sparql SELECT ?lang ?label ?code WHERE { ?lang wdt:P31 wd:Q1288568. ?lang rdfs:label ?label. ?lang wdt:P424 ?code }

See full entry

Location: 0.000, 0.000

MapComplete 0.14 is out

Posted by Pieter Vander Vennet on 18 January 2022 in English.

Hi all,

Just a quick heads up that MapComplete 0.14 is deployed!

Apart from lots of fixed bugs and performance improvements, a new theme showing OpenStreetMap notes has landed! Especially the filter functionality should come in handy

And of course, there are plenty of (new) themes, such as the street lighting theme (thanks Robin!) or the postboxes and -offices map (by nicolelaine).

And -by now- over 1000 individual contributors have used MapComplete.

Hi everyone,

A new version of MapComplete has been deployed. It has a lot of exciting new themes and features, which I’d like to highlight in this diary entry.

New themes

The Flemish touristical agency (Toerisme Vlaanderen) has asked me to create a tool to help them to map charging stations, restaurants, café’s, …

This has resulted in quite some fun new themes:

At last, the theme I’ve quickly made as demo with hackerspaces and makerspaces is online as well.

Other improvements

At the same time, I’ve been doing lots of work on improving performance. A lot has changed under the hood, resulting in a way more robust and fast experience. On high zoom levels, the OSM-API is used directly, bypassing overpass all together. If overpass-api.de is down, failover to other instances is now builtin. At last, caching is a bit more aggressive and if the data on your machine is recent, no new data is loaded at all.

Earlier releases had some important features to, which I’d like to highlight as they can be important for theme builders:

  • A layer can configure filters
  • A layer can demand to have ‘precise input’, showing an extra draggable map (with e.g. aerial photography) when a new point is added to the map.
  • A new point can be snapped to an already existing road, e.g. when adding a bollard
  • A layer can define that a point can be (soft) deleted
  • The new Mapillary-API has been integrated
  • Some themes have a download-button enabled to download as GeoJson or as CSV

I need your help!

See full entry

A bit over a year ago, I received a phone call: We would like to have some project about nature and forests, where people can like go out and add data about those. Oh, it has to be really simple to use.

Some months and some funding later, the first version of MapComplete was born. While it had a specific focus then, it has grown a lot. Today, MapComplete is a map viewer for a certain theme, where the configuration for that theme decides what features are visible with which icons. When a map feature is clicked, known information is shown and the user is invited to add more information and to add pictures.

By now, there are about 20 themes for multiple topics, such as bicycle shops and pumps, playgrounds, public bookcases and much more. And it is relatively easy to create and load your own theme.

The ease of use and flexibility has lead to a steady increase of contributors that way. Thursday 15th of april was the day the editor saw its 500’th contributor:

Cumulative contributors

See full entry

Hello everyone,

As a coach for the Open Summer of Code in Belgium, I thought the community would be interested in reading a little about it and get inspired - along with reading how many of the teams used a map and specifically OSM.

What is the Open Summer of Code

If you have never heard about the Open Summer of Code yet, it is an awesome project. Students create an open source or open data application which a real client needs. The client -often, but not always a governmental organization- sponsors the students. During the four week program, the students get relevant workshops, gain lots of experience, have lots of networking opportunities and are exposed to other Open Source projects and ideas. This all is organized by Open Knowledge Belgium, a small but amazing organisation which furthers the use of open data in Belgium.

This year 73 (!) students participated, along with 17 coaches, making this eight edition bigger then ever. Furthermore, oSoc has been more international then ever, with lots of international students and projects and having a spinoff in Spain. This first Spanish edition had 10 students whom enjoyed it a lot. In other words, don’t hesitate to contact us. Wherever you are, you are welcome as student, coach, client of partner organization or perhaps even as organizer of your own edition.

For me personally, it was the first I participated to oSoc. I had the honor of coaching two teams, quite a challenge for someone just stepping in; but whatever challenge arose, there was always some coach with the right expertise to help out. Furthermore, with Ben Abelshausen (Xivk) and Jonathan Belien (jbelien) being coaches as well, OpenStreetMap was well represented, especially when Joost Schouppe passed by as well.

See full entry

Location: Thurn and Taxis, Brussels, Brussels-Capital, 1000, Belgium

Quickly adding lots of notes with OsmAnd

Posted by Pieter Vander Vennet on 16 April 2018 in English. Last updated on 31 December 2019.

Today, I got the question how I quickly added a ton of notes. I use OSMAND for this, with a few tweaks.

Setup

  1. Enable the ‘OSM Editing plugin’
  2. Under configure screen, enable ‘Quick action’. You find it right on top
  3. Go back to the map; you’ll notice a new button on the lower right side, just above the plus-button.
  4. Press this ‘quick action button’. A new menu pops up.
  5. Press ‘add action’ and choose ‘Add OSM Note
  6. In the following menu, make sure to enable ‘Show an interim dialog’ and press ‘apply’

Adding a note

  1. Press the quick action button
  2. An orange marker appears. Swipe the map to position the marker above the note location.
  3. Press ‘Add OSM Note’
  4. Enter the note text in the popup and press OK
  5. Your note now appears as green circle with an ‘i’ on the map
  6. Repeat for all the notes

For now, your note is not send over to OSM.org but remains on your own device!

Uploading all your notes

EDIT: M!dgard figured out a way to make this step obsolete and to import them directly into JOSM. See his diary entry here

After surveying, you’ll have a ton of notes. To upload them all at once:

  1. Go to ‘My Places’
  2. Go to the third tab: ‘OSM Edits’
  3. Press the upload button in the lower left corner (pointing up)
  4. Select the notes you want to upload. If you want to upload them all, press the checkbox left of ‘your edits’
  5. Press the upload button in the upper right corner
  6. Enter your credentials and hit OK.

You can also enter your credentials with the ‘OSM Editing’ plugin settings, so that you don’t have to enter them over and over again.

Adding POI

If you are gonna add a lot of POIs with the same presets (e.g. benches, AED, …), you can also make a quick action for that. Play around!

On Sett Pavements

Posted by Pieter Vander Vennet on 14 January 2018 in English. Last updated on 24 July 2018.

I’m from Bruges (Belgium). You know, that famous medieval city in Belgium.

As everyone in Belgium knows, the center of Bruges is paved mostly in sett/cobblestones. Personally, I’m pretty fond of those sett pavements. They’re way nicer to see then asphalt (not to mention conrete plates), the absorb a lot of heat in the summer (cooling the city) which is released again in autumn.

But, as the bicycle is my primary means of transportation, one drawback comes to mind: they’re uncomfortable to cycle on - especially when pulling a cart. Some types of set pavement are to be avoided then - I’d rather drive 200 meters over asphalt than 100 over the big boulder. However, the smaller sett -often laid in arcs- is more comfortable to drive on and has a smaller penalty.

This implies that more information should be added to the ‘surface’-tag. In this document, I propose a few extra tags to deal with this extra information; and what kind of sett these are. These tags are used in Bruges; feel free to use them in other places as well.

All example pictures are taken by me, and may be used freely for OSM-related endeavours (e.g. wiki, tools, …).

Cobblestone vs. Sett

First things first.. What is sett stone? And what are cobblestones?

According to Wikipedia, Cobblestone is a natural building material based on cobble-sized stones, and is used for pavement roads, streets, and buildings. Sett is distinct from a cobblestone by being quarried or shaped to a regular form, whereas cobblestone is generally of a naturally occurring form.

In practice, cobblestone is often used in OSM to describe sett stones - although incorrectly. The wiki itself acknowledges this:

See full entry

Location: Brugge-Centrum, Brugge, Bruges, Brugge, West Flanders, 8000, Belgium

Tweaking the OSM-And routing engine

Posted by Pieter Vander Vennet on 8 November 2017 in English. Last updated on 12 January 2019.

After some experimenting and help from the Belgian OSM Community, I figured out how to tweak the parameters for the routing engine and steer the navigation process. It seemed as if the technical documentation was missing, so lets write it here.

The parameter file: routing.xml

All parameters for the routing file are stored in a single XML.

You can find this XML on the OSMAnd github. Head over there, and download it. EDIT: By now, all the documentation has been included upstream. Everything you can read here, you an also find in the github routing.xml file. This diary entry can still serve as a gentle introduction.

This document should be placed in a place where OsmAnd will find it. As I chose ‘external storage’ to store my maps (settings -> general settings -> Data Storage Folder (under miscellaneous title), adding this custom routing is easy. Plug your phone in your computer and go to the path /sdcard/Android/data/net.osmand.plus/files. Copy routing.xml over.

Reading the parameter file

routing.xml is actually documented quite good! Read the docs there to get some general idea.

Adding an option to a profile

The parameters are split per profile. I edited the bicycle profile, as that is what I use most (also see my previous diary entry).

Over there, add a toggle, e.g., if you want to avoid sett surfaces:

    <parameter id="avoid_sett" name="Strongly prefer asphalt and paving stones" description="Tries to route around sett and cobblestone, ideal if riding with a cycling cart" type="boolean"/>

The id is the name you’ll use in if-statements, the name is what shows up in OSMAnd. Save the file as described above and restart OsmAnd. Start navigation to somewhere. If you click the settings (the cogwheel on the bottom when starting navigation), your new parameter should show up!

Tweaking weights

Routing considers three major aspects:

  • access
  • speed
  • priority

Each of those aspects has its own section in the xml; you can’t miss them.

Access

See full entry

The only phone that doesn't like cobblestone

Posted by Pieter Vander Vennet on 8 November 2017 in English. Last updated on 24 July 2018.

Hello everyone,

The 26th of september was an OSM-meetup in Bruges. The few guys which where there - and especially Joost, must have gotten some weird and extremely contagious disease, called ‘mapperitis’. It has been the start of a growing involvement in the mapping efforts of OSM.

Falling in love

Although I’ve been using OSM as my navigation of choice for years now (prob. 5), it’s only recently I’ve actively begun mapping. Altough my first mapping were the ski routes on holiday, that was a one-off - until now.

Using streetcomplete, I’ve been surveying the surfaces of Bruges, which contains - as you guessed it, a lot of sett (aka ‘neat cobblestone’). In the meantime, I’ve been spreading that contagous mappiritis around as well - until it reached someone of the Fietsersbond. One of them had recently seen the talk by Escada and was wondering if it would be possible to map all cycling routes, their surface area and width, to test if they meet the vademecum. “Yes, this is possible” was my answer of course!

I followed by a short showcase of OSM, overpass-turbo and how easy it was to enter all this info. Although he was impressed, he was a bit scared of how much work it seemed to be - and that it is an older and not so tech-savy person didn’t help either.

That was a week ago*. By now, the north of Bruges (the center) is surface-mapped, and around 50 cycleways are measured.

*(To be honest, it was two weeks. However, I was on holiday one week, so I couldn’t map)

Routing around sett

In the mean time, I was confronted with another problem. Quite often, I’m cycling around with a cycle cart. These things are slowed down tremendously by sett stones. So I wondered, wouldn’t it be possible to tweak the OSMAnd routing to avoid those nasty cobblestones?

After a few inquirements on the community riot channel, it turned out to be possible. And not only possible, it was easy as well!

See full entry