OpenStreetMap

Monitor OSM changes

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

about

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.

steps

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 -l
add a line like below, customizing your script path:
0 0 * * * /home/pi/scripts/monitor.sh  » /dev/null 2>&1

telegram

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

TODO

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” - https://github.com/MichaelVL/osm-analytic-tracker

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.

Login to leave a comment