wille's Diary

Recent diary entries

OSMCha helps analyze, inspect, and verify changes in OpenStreetMap as they happen. The entire team building OSMCha has been proud to see its wide adoption by individual contributors and companies in the OpenStreetMap community. I continue working on OSMCha through support from Mapbox, who have been using and helping develop and host OSMCha for years. The Mapbox Data RAVE team uses OSMCha everyday as part of their work validating changes in OpenStreetMap.

That’s why it’s essential that OSMCha is operationally excellent, with dependable uptime and a team on hand to handle issues and deployments. Since the beginning of the year, I worked closely with the “RAVE tooling” team to improve the infrastructure setup for OSMCha for better performance, instituted on call support, and moved the service to the domain. I continue to work hard to maintain the OSMCha open source code base and community and develop new features. There’s many useful new features and more to come.

Improved Visualization

Relations are complex elements in OpenStreetMap, used to define features like a cluster of buildings in a compound, administrative boundaries and turn restrictions. Relations are now visualized in OSMCha, making it easier to understand these changes.

Another hard change to show in OpenStreetMap is when a single node of a linear feature is dragged on the map. OSMCha now visualizes these changes.

When OpenStreetMap editors commit a change, metadata is recorded like the language of the browser and number of previous edits made by the user, the software used and the number of validation issues solved. These are important signals to consider when assessing quality of edits. OSMCha search is now more powerful than ever and allows you to filter changesets on all that metadata. For example, changesets created by users with less than 50 edits; with the Portuguese locale; or with the #hotosm-project hashtag. The documentation has more information about using metadata filters.

Microtasking with MapRoulette

OSMCha not only helps detect issues, but leads to fixing them. We’ve recently integrated with the MapRoulette microtasking service to create challenges from issues flagged by OSMCha. This integration provides another way to validate and fix data problems. Check out the OSMCha challenges available on MapRoulette.

What’s next

Our plans are growing for OSMCha in the next few months. We’re improving search to filter edits by changeset comments, polishing the front end to improve the experience, and researching the accuracy of automated tags in OSMCha to improve the efficiency of these checks.

Start using OSMCha right now. Simply sign in with your OpenStreetMap account. And let me know if you have any feedback in OSMCha’s GitHub issue tracker.

Get ready for

Posted by wille on 24 February 2020 in English (English). Last updated on 28 February 2020.

We’re back with some news about OSMCha. In a few days we are moving the OSMCha application to a new domain:

If you’re only a user of OSMCha, you don’t need to worry about it. will redirect your requests to this new domain for the next few months. In case you have one OSMCha RSS feed subscribed on a feed reader, probably you’ll need to change the URL there.

For API users, you need to take action and update the OSMCha URL on applications to avoid errors due to redirection. We are planning to do the change this week. If you need more time to apply the changes in your application, please let us know.

See you on in a few days!

Update on February, 28th:

Visualizing relations on OSMCha

Posted by wille on 19 January 2020 in English (English). Last updated on 20 January 2020.

Some of the most important elements in the OpenStreetMap database are relations. It’s used to define administrative boundaries, restrictions on the road network (which has a relevant impact on routes), elements made by multiple geometries, etc. Relations are also some of the most difficult elements to monitor and track modifications, as some of them don’t affect the way the data is rendered on the map.

This week we added the possibility to visualize relations on OSMCha! To avoid increasing the number of elements rendered on the map, the visualization of relations works in a bit different way…

osmcha relations

By default, we show the bounding box of all relations that were created, modified or deleted by a changeset. When you click on a relation, it will hide all other ways and nodes and add to the map the elements that are (or were) members of that relation.

relation members

We have a new panel on the bottom right corner of the page that lists the members of the relation and the role of each of them. Clicking on a item of that list will highlight that member geometry on the map.

relation member highlighted

If you click on a second relation on the map, it will hide the first relation members and show the members of that second one. Clicking on a part of the map that doesn’t have any element, it will reset the visualization to the default view.

One important advice: if the relation bounding box is bigger than the changeset bounding box, only the relation members that intersect with the changeset BBox will be available for visualization. It is a technical limitation that will affect mainly the roads and administrative boundaries, but I believe that, even on those cases, it will be useful to analyse the changeset impact on the integrity of that relation part.

Let us know if you have some new idea to make the relations visualization yet better.

Add your team to OSMCha

Posted by wille on 16 June 2019 in English (English).

Many companies and organizations have a group of mappers editing on OpenStreetMap. We have created a feature on OSMCha to publish team lists of users, and then filter or hide changesets created by one or more mapping teams.

This week we pushed some adjustments to make it more useful for the OpenStreetMap community. So let’s see how it works.

In the OSMCha user menu, there is an option “My teams”.

That opens the “My mapping teams page”, listing the teams your user has already created on OSMCha. Clicking on the “Add +” button, you will be able to add the details of a new team.

The required minimum structure of the users JSON format is:

[{"username": "user_1"}, {"username": "user_2"}]

However you can add other fields if you want.

If the team you created is part of an organized editing initiative, please open an issue on our GitHub repository requesting your team to be considered a “Verified team”. That way, an OSMCha admin can validate your team and it will appear on the filter page with an indication that the team was created and maintained by your company/organization.

Finally, on the Filters page, we have three team fields: “Mapping teams”, “Hide mapping teams”, and “Hide verified mapping teams”. They allow for filtering or exclusion of changesets from one or more teams, and to hide changesets created by all the verified mapping teams.

The mapping team management can also be used through the API. Check out the API Docs for instructions about the endpoints.

We expect this new feature helps the OSM community to be even more effective on changeset validation. If you have some question or new ideas, please open an issue on our GitHub.

How to get notifications from OSMCha

Posted by wille on 9 March 2019 in English (English). Last updated on 10 March 2019.

Some people asked me about how to receive notifications when new changesets match a filter we have setup in OSMCha. So I decided to write a tutorial with some options of how to receive updates from your OSMCha filters.

We can set a filter in OSMCha and save it to later use. If you have never saved a filter, see the documentation.

Each saved filter has an unique ID and a RSS feed. The RSS makes it very easy to receive notifications. After you saved a filter, you can get your RSS feed link at the right side of your filter name, on the top of the page.

RSS feed link location

RSS Reader

The easiest thing you can do is to subscribe to the feed with some RSS Reader. There are plenty of options, both web based or to install on your computer. Nowadays the most popular web based option is Feedly.

IFTTT + Telegram

If you prefer, you can setup an applet with and receive the notifications on Telegram. Click on this link to open the applet, then click on Get Started, make your login and finally paste the RSS feed link on the feed URL field of the IFTTT applet. Each 5 minutes, the IFTTT will send you the new changesets that match your filter.

IFTTT applet

The telegram integration is useful to filters that don’t return a large number of results, but need a fast response. You can add more than one applet and get results from multiple filters.

Zapier + Email

With, we can receive an email containing a daily digest of new changesets on one or more OSMCha saved filters. Here is the link to the zap: It’s a bit more complicated to setup and it will return only the last 50 changesets gathered by each filter.

zapier email sample


Vitor George has setup an integration between OSMCha RSS feed and telegram using Hugin Feed Agent (code / service). Huginn is very powerful and customizable, although I found it very complex to make the setup.


We have many API endpoints on OSMCha. If you want to build some other integration, you’re invited to do it and make the process of validate OpenStreetMap edits easier. Check the API documentation to learn more.

If you have some question or have done some interesting use of our API and RSS feeds, please tell us!

Hello! The year is at the end, but we are right in time to share some updates in OSMCha. We have some new features that will make us save time when reviewing changesets and prioritizes the users whose changesets need more attention.

Now we can maintain a list of users that we trust and another of users that we want to be watching and reviewing their changesets.

You can add and remove a user to your trusted users or watchlist from inside the user panel tab on the changeset page.

We have a new user menu that allows us to access and manage our account settings, the saved filters, the trusted users, and the watchlist.

Finally, on the filters page, there are new options to hide the trusted users from the filter results or to see only changesets created by users that are on your watchlist.

All these operations can be made by our API too, check our documentation for more information.

I hope it will make the process of reviewing changesets more efficient. Let us know about the ideas and features you want from OSMCha by opening an issue or talking with us on our mailing list. Have a great 2019!

On my last diary post I talked that we have a new features endpoint on our OSMCha API that makes it easy to the communities to add flagged features to OSMCha. Let’s check how you can use this new endpoint.

1. Get authorization

The first step is to open an issue on our GitHub repository and tell us what kind of feature modifications you want to flag.

You’ll need to deploy some software to monitor the features or you can just write an osm-compare function.

We will review your application and, if you prefer to run a monitoring software by yourself, we will update your user to allow it to post features to OSMCha.

2. Post features

The new endpoint is You must do a POST request with the following content:

{ "osm_id": "4321", "changeset": 1234, "osm_type": "node", "reasons": ["Other reason", "Large building"], "version": 54, "name": "Tall Building", "primary_tags": {"office": "coworking", "building": "yes"}, "note": "details about the suspicion" }

Only the first four fields are mandatory. The other are optional. Any other field you add to the request content will not be saved on the database. Check the list of existing suspicion reasons, if you want to flag features with another reason, just add the name of the new reason inside the reasons field and it will be created when the request is received by the server.

If you need some additional help, open an issue on the osmcha-frontend repository or send an email to the OSMCha mailing list. We will be glad to help you validate more changes in OpenStreetMap!

A new OSMCha version is live

Posted by wille on 25 October 2018 in English (English).

After some months of intense work, we released a new version of OSMCha this week! This release includes two big changes: now OSMCha is compliant with the GDPR and we have a new way of receive and store the features.

We simplified a lot the way we store information about the flagged features. It will allow us to store more features on our database and it will be easier to the communities to add features to OSMCha. The documentation of this new resource is available on our wiki. If you need to monitor some kind of changes on OpenStreetMap and would like to use OSMCha for it, please contact us on our mailing list or opening an issue on our GitHub repository.

The GDPR is an European Union law that has the aim to protect the data and privacy of the individuals. To attend the requirements of the GDPR, now the users need to login on OSMCha to see any information about the changesets. However, after you sign in, you won’t notice any change and it will continue working exactly in the same way.

If you notice some error or have some new ideas for OSMCha, please don’t hesitate in contact us. We hope it will open much new possibilities to improve data validation on OSM.

GDPR changes coming to OSMCha

Posted by wille on 7 August 2018 in English (English).

It’s been a long time since our last post about OSMCha… In this period, we have implemented few features in the frontend, nevertheless we have done a lot of work on backend and prepared OSMCha to be compliant with the GDPR.

This backend work was necessary to avoid technical debt, make the system run faster and to have a good base to the future improvements. We updated the OSMCha backend to run with Django 2.0, Python 3 and Django Rest Framework 3.7.7. Other backend dependencies were updated as well.

GDPR Changes

It’s not on production yet, but we have already started testing a new version of OSMCha with the modifications required by the GDPR. The API and the frontend will show user metadata only to authenticated requests. It means that, if a request is unauthenticated, the fields 'user', 'uid' and 'check_user' will not be present. Furthermore it will not be possible to filter changesets by one of these three fields. The anonymous requests will not return an error, but the results won’t take in consideration these filter fields.

If you use the OSMCha API, our staging server is available to your tests, so you can verify the modifications needed by your software (Be aware that the staging server has only changesets older than 2017-09-26). To make authenticated requests, add to the header: Authorization: Token <your_token>. Your user token is available in the user page of the staging server (soon in the user page of the production too).

The saved filter (AoI) RSS feeds will have a different authentication method that we need to implement yet. The features API is yet exposing user metadata, but very soon we will do a big change to it. Instead of exposing a lot of information about the features, it will return just the id, type and suspicion_reasons of each feature.

The GDPR requires some additional changes in other pieces of software that are used by OSMCha. The osm-comments-api and the changeset-map will be closed for public use and available only to OSMCha and some other softwares that are GDPR compliant.

We are planning to put the GDPR compliant version of OSMCha on production on August 27th. If you have some issue or need some help with the changes in the API, don’t hesitate on contacting us by our mailing list or opening issues on github. The new API documentation is available at

Talk at State of the Map

I presented a talk in State of the Map 2018 in which I spoke about how we are improving OSMCha for the OpenStreetMap community. It was amazing to meet with a lot of OSMCha users and receive new feedback and ideas. You can check the slides or watch the video on YouTube.

Temos muitas atividades do OpenStreetMap em Salvador (e também em São Paulo) durante o mês de maio! Na próxima quarta-feira, 09 de Maio às 16h30, vou falar sobre OpenStreetMap no 1º Encontro de Dados Abertos da Bahia.

Na semana seguinte, dia 18 de Maio, darei uma palestra na Campus Party Bahia, será dia 18 de Maio, às 1h (isso mesmo, na madrugada! :)

Semana que vem também teremos atividade no MundoGeo Connect, dia 16/05 às 11h, mas dessa não irei participar.

Quem perdeu o webinar realizado semana passada, também em parceria com o MundoGeo, pode assistir ao vídeo no YouTube.

Location: Centro Administrativo da Bahia, Salvador, Região Geográfica Imediata de Salvador, Região Metropolitana de Salvador, Região Geográfica Intermediária de Salvador, Bahia, Região Nordeste, Brasil

OSMCha News - February/2018

Posted by wille on 9 February 2018 in English (English).

Hello! We just released a new version of OSMCha and we have some new features.

Changeset comments

Based off user feedback, we’ve made changeset comments from OSMCha more flexible.

discussions tab

You can choose to post comments before or after review the changeset, or not at all. You can also set comment templates, so you will have a base text that you can improve before posting. The Review Comment Templates can be edited in your OSMCha user page. We are working to improve this feature, adding the possibility to switch to the discussions tab right after the review is set.

user page

New Location filter

Now we have a new Location filter field. You can define your area of interest by searching for a place:

search place for location field

or drawing a polygon on the map:

draw polygon for location field

The Bounding Box (BBox) filter field is yet available. You can use the BBox size bound in combination with the Location or Bounding Box fields. For example, if you set the BBox size bound to 3, the search will return only changesets whose bbox area is not bigger than 3 times the area of the bbox or location geometry you set on your filter. That way you exclude very large edits that were not restricted to your area of interest.

Map style toogle

We fixed an old bug in the map style toggle. Now you can switch freely between the satellite, streets and dark imagery layers in the changeset visualization.

Roadmap and contact

We have published a roadmap for OSMCha. Do you have some new ideas for OSMCha? You can participate in the OSMCha development by subscribing to our mailing list or opening an issue or pull request in our repository.

Thank you, Amisha and Tridip for the support in this release!

OSMCha News - January/2018

Posted by wille on 9 January 2018 in English (English).

It’s a new year and we have some new features in OSMCha!!! Let’s take a look on them:

Save filter UI improved

save filter instructions

Now it’s easier to save a filter! After set your filter parameters, click on the Save button on the top of the screen, give a name to it and press the Confirm Save button. The filter will be saved and applied, so the sidebar will update with the results. If you want to change something in your filter later, repeat those steps. Remember that the filters have a RSS feed. Get the link in your OSMCha user page.

Changeset comments

Changeset comments example

From now on, when we review a changeset in OSMCha, a comment will be posted in the OSM changeset page. That way, we give a feedback to the user and make that information accessible to other Quality Assurance tools. The comments have a predefined message and are posted with your username.

Tag changes summary

tag changes summary

Each changeset now has a summary of tag changes. This makes it easy to identify the modifications made in the features without the need of clicking on them one by one.

We’d love to hear your comments and suggestions. You can do so by participating in our mailing list or open issues on our github repository.

OSMCha Mailing list

Posted by wille on 21 December 2017 in English (English).

This year has been very special for OSMCha! We have implemented a new interface, a lot of new features and a new backend architecture. We have some new ideas to improve OSMCha in 2018, but we want to start by achieving a better integration with the OpenStreetMap community. So we are starting a mailing list for OSMCha.

As we have more and more people and projects dependent on OSMCha, using the API, deploying their own instances, it is important to have a way to communicate with more agility. A mailing list will be vital to ask general questions, make announcements regarding OSMCha, collaborate on plans and new features, and inform the group of changes.

You can subscribe to the mailing list on Bug reports and wishlist items should continue be reported as Github issues. Please be mindful of the etiquette rules defined on OSM Wiki.

Look forward to talking OSMCha development with you all!

#CompleteTheMap Brasília - o evento

Posted by wille on 6 December 2017 in Brazilian Portuguese (Português do Brasil). Last updated on 7 December 2017.

Complete The Map Brasília

O #CompleteTheMap Brasília é um desafio proposto pela Mapillary para melhorar o mapa de Brasília. Todos podem participar do desafio através de coleta de fotos nas ruas e de edições no OpenStreetMap (um projeto de mapeamento colaborativo com mais de 4 milhões de colaboradores em todo o mundo). No dia 13/12, quarta-feira, realizaremos um evento para falar sobre as possibilidades trazidas pela plataforma de computação visual da Mapillary e sobre como a colaboração pode tornar Brasília uma cidade ainda melhor.

O evento começará às 19h e será realizado no Manifesto Coworking, na CLN 206 - Bl A. Teremos alguns brindes para os presentes. A participação é gratuita. Inscreva-se!

Yesterday I created a filter in OSMCha to get all edits made by new users in Brazil, as we are having a new wave of Pokemon motivated edits. Today I spent some time reviewing some of those edits. I sorted the changesets by the number of features created and started by the big ones.

I reviewed 11 edits, six of them had between 132 and 400 elements created, and 5 with 400 to 510. It was a surprise to me that only ONE of those edits was bad (the user created a river that doesn’t exist). Some edits had some small errors of course, but nothing very dangerous to the map quality.

So, believe in new users, they also can do amazing things and congratulate them by their good edits!

Nova camada de ruas do IBGE para Salvador

Posted by wille on 16 November 2017 in Brazilian Portuguese (Português do Brasil). Last updated on 3 January 2018.

Salvador é uma cidade bem difícil de se mapear. A cidade cresceu desordenadamente, com uma quantidade imensa de morros, favelas, ruas estreitas, becos, vielas… Além disso, o relevo é muito acidentado e faltam dados públicos.

A camada “IBGE - Mapa de Setores Urbanos” ajudava a obter nomes de ruas em alguns locais, porém o alinhamento tá bem ruim em muitos locais e faltam muitos nomes de ruas.

exemplo camada

Assim, há alguns dias eu criei uma camada com nomes de ruas da cidade de Salvador/BA, utilizando como fonte o dataset de Faces de Logradouro do IBGE. Essa camada não é perfeita (já percebi alguns erros de traçado de ruas e muitos nomes duplicados), porém, no geral, tem uma qualidade bem superior à antiga camada.

Esse recurso já está disponível no index de camadas do iD e JOSM. Veja onde você encontra a camada no iD:

ativar no iD

Quero expandir a camada para Lauro de Freitas e talvez alguns outros municípios da Região Metropolitana de Salvador. Caso alguém queira ter esse recurso para alguma outra cidade cuja camada de Setores Urbanos do IBGE está com má qualidade, me avise que posso fazer.

Em breve, pretendo publicar o código fonte que usei para tratar os dados e enviá-los para o Mapbox Studio.

Os dados das faces de logradouro do IBGE são licenciados em Domínio Público.

Location: Barra, Salvador, Região Geográfica Imediata de Salvador, Região Metropolitana de Salvador, Região Geográfica Intermediária de Salvador, Bahia, Região Nordeste, Brasil

Desafio Complete the Map Brasília

No próximo domingo, 12 de Novembro, realizaremos mais um encontro da comunidade OpenStreetMap Brasília! Agora reuniremos também colaboradores do Mapillary, já que foi lançado o Desafio Complete the Map Brasília.

Nos encontraremos na Torteria di Lorenza, da CLS 302, na Asa Sul. Nos encontraremos a partir das 15:30. A proposta é tomarmos um café, conversarmos sobre OpenStreetMap e sairmos de carro pela cidade para fazer fotos pro Mapillary. Dependendo no número de pessoas, podemos fazer um grupo para fazer fotos caminhando ou de bicicleta.

Quem tiver interesse em participar, nos avise deixando um comentário aqui ou entrando em nosso grupo no Telegram.

​​Introducing OSMCha API

Posted by wille on 12 October 2017 in English (English).

Recently we released the new version of OSMCha, an application to help the OpenStreetMap community to review the changesets in the map. In this new version, the frontend was rewritten, we changed the backend to serve the data as a REST API and we have added some new interesting features. Let’s talk about some of the new possibilities that came in with these changes.

The REST API allowed us to build a faster and more efficient frontend and it opened up avenues for other applications being able to use OSMCha data. Yes, It’s now possible to build a JOSM plugin to update the status of a changeset or a feature in OSM. The API documentation to make this happen can be found here →

The main API endpoint is the /api/v1/changesets/ as it allows us to get changesets. It accepts many filters and one ordering parameters. We also have some sub-urls, like /api/v1/changesets/checked/, /api/v1/changesets/unchecked/, /api/v1/changesets/suspect/, etc. That makes it easy to filter the changesets by some boolean fields and accepts filters parameters too.

Filters & Areas of Interest (AoI)

The new version of OSMCha comes with many additional options of fields to filter changesets that weren’t present in the previous version. Almost all filter options are available in the frontend, but you can also check the API docs to verify if you can benefit from some special API capability. One resource that is not still unavailable in the frontend is the possibility to filter changesets by using any geometry type you want, not just limiting to a bbox.

Furthermore, now you can set a filter query and save it as an Area of Interest (AoI), that way you won’t need to set the query parameters again, all you need is to access your AoI URL. Each AoI also has a GeoRSS feed that you can use to be notified for the new edits. You can also easily share your AoIs with other users by sending them the URL.

To save an Area of Interest, make a POST request to its endpoint with the name you want to give to your AoI and the filter parameters, which are the same that we use to query the changesets. The API also supports saving an Area of Interest with any geometry type you want.


Do you need stats about an AoI, a user or about a changeset query? We provide it with some endpoints: /api/v1/stats/ gives us stats about the changesets (total number, quantity of harmful, checked and quantity by suspicion reason and by tag). This endpoints supports the filter params. We have the same stats to an Area of interest in /api/v1/aoi/{id}/stats/ and finally the stats of a user in /api/v1/user-stats/{uid}/.

Protection rules and documentation

The API has a throttling mechanism that limits the number of requests by user by minute to avoid our database of being misused. There are some endpoints, like the ones that add and remove suspicion reasons, that were made to help with administrative issues like fix a wrong detection and whose access is restricted to the admin users.

So checkout the documentation and use OSMCha to monitor your areas of edits! If you have some suggestion, feedback or ideas, post a comment or open an issue in github. It will be great to have new insights from the OSM community!

osm cake

Vamos realizar mais um encontro da comunidade OpenStreetMap Brasília! Dessa vez, uma edição especial no dia do Aniversário do OSM.

O ponto de encontro será no Vó Ía Café & Empório, localizado na quadra CLSW 301, bloco C, no Sudoeste. Estaremos lá no domingo (13 de agosto) a partir das 16h para tomar um café, conversar sobre OpenStreetMap e mapear as redondezas.

Quem tiver alguma dúvida, deixe um comentário ou entre em contato conosco em nosso grupo no Telegram.

Location: Setor Residencial Interno 1, Sudoeste/Octogonal, Região Geográfica Imediata do Distrito Federal, Região Integrada de Desenvolvimento do Distrito Federal e Entorno, Região Geográfica Intermediária do Distrito Federal, Distrito Federal, Região Centro-Oeste, 70673-416, Brasil


No próximo sábado, 4 de Março, tem OpenDataDay em Brasília! O evento será realizado no Edifício Parque Cidade Corporate, das 14 às 18h. A comunidade OpenStreetMap estará lá para mapear, ensinar quem estiver a fim de aprender e trabalhar em alguns dados públicos que podemos importar no OSM.

O OpenDataDay ocorre anualmente em diversas cidades do mundo. Participei no evento em Brasília no ano de 2015 e foi bem interessante. Será uma ótima oportunidade de nos divertimos e levarmos o OpenStreetMap ao conhecimento de mais pessoas.

Para participar do evento em Brasília, é necessário colocar o nome na lista para ter permissão de entrada no prédio, para isso, acesse:

Data: 4 de Março, 14-18h.

Local: MinC - SCS, Qd. 9, Ed. Parque Cidade Corporate, Torre B 12º andar - auditório