Monitor OSM changes

Posted by Cascafico on 14 December 2018 in Italian (Italiano)


Mountain hiking association asked me to monitor local hiking relations from edits done by other mappers. I wrote this script which generates an html page with OSM changeset involving daily changes. It is feeded by overpass-turbo query, like this, so you can customize which OSM objects to monitor.


The mentioned monitor script will:

  • extract relations modified in the last 24h and tagged operator=”CAI” in area provided as argument
  • filter useful informations
  • format an html file with OSM, Achavi and OSMcha links

automate runs

Of course it can be run periodically using crontab. To set a daily run, just execute
$ crontab -e
add a line like below, customizing your script path:
0 0 * * * /home/pi/scripts/  » /dev/null 2>&1


My instance include a telegram service fired when a changeset list is written. I use telegram-cli with the following line in script:
echo “msg $CHANNEL $MESSAGE”; echo “safe_quit” | /home/pi/apps/tg/bin/telegram-cli -W

Just add telegram CHANNEL and MESSAGE variables and insert the line inside $CHAN==0 else if


Fix area names which include spaces, ie “Cividale del Friuli”

Comment from Cascafico on 14 December 2018 at 12:44

Ooops! I should have better red OSMAT docs… where can I select which OMS elements to monitor?

Comment from Piskvor on 14 December 2018 at 12:51

There’s “Labels and filters” -

I do agree that it’s not entirely user-friendly to set up, and if you only ever need one simple filter, setting it up would be a hassle. Anything more, and in my experience the overhead of tuning a custom script becomes significant.

Comment from Cascafico on 22 January 2019 at 10:41

As far as I understand, the trick is done in post_labels… anyway, it seems there is a github feature request

Login to leave a comment