OSM Analytic Tracker (OSMAT)

Posted by Cascafico on 18 September 2017 in Italian (Italiano)


Tracking vandalisms is often not an easy task. To accomplish this activity I hardly find useful digging in the history of OSM changesets.

Instead OSMAT features a clean list of create/modifiy/deletes and tag changes; the latter one is particularly useful to track "advanced vandalism".

OSMAT focuses on fast detection, so don't expect to configure it on a national base, since rows will start to scroll too fast for spotting problems. For the same reason, OSMAT relies on minimal base of mappers and (quoting its wiki) "Improve[s] team spirit of a regional OSM team/task-force".

The following installation procedure has been brought live on a OrangePi PC single-board computer. Here you can find a regional live instance for Friuli Venezia Giulia Italy.

Docker installation

OSMAT deployment is Docker based, so refer to Davide's Docker installation

OSMAT download

Then download OSMAT sources:
$ git clone

Check docker service

$ sudo service docker status
‚óŹ docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Active: active (running) since Sat 2017-09-16 11:40:37 CEST; 2 days ago

OSMAT configure

Once you got docker up and running (I had to upgrade linux kernel > 3.10 for my Jessie Orange Pi) and before compiling container, you have to configure active region.

Default available regions are the ones defined by Geofabrik. For instance, navigate to nord-est, take note of .poly link (nowadays is and edit configuration file:

$ cd osm-analytic-tracker
$ vi config.json
You'll need to replace 3 occourences of default "denmark.poly" with your poly (for instance "nord-est.poly", without any trailing URL).

Optionally, here you can also adjust:

  • map zoom level and time horizon, just search for "map_scale": "6"
  • logging interval, search for "horizon_hours": "48"

Compile container

Once you're done with region & zoom configuration, set your device OS (mine is Armbian, which I've found Raspian compatible) commenting one of the following lines :
$ vi Dockerfile
#FROM debian:jessie
FROM resin/rpi-raspbian

then compile container:
$ sudo docker build -t osm-analytic-tracker .


Then choose which port to listen (mine is 8889) and run it!
$ docker run -d --restart=always --name=osmat-container -p 8889:80 osm-analytic-tracker

[optional] Customizing

If you need a particular Area Of Interest, I've found easier to add a line in default regions list:

  1. Build a polygon: use JOSM opendata plugin to easily build and save a .poly which will be your AOI.
  2. Publish myAOI.poly somewere in internet
  3. Edit docker/regions.txt adding (or replacing) geofabrik URI's with your URI, for instance:
    $ cd docker
    $ vi regions.txt
  4. Stop, remove and re-run container:
    $ docker stop osmat-container
    $ docker rm osmat-container
    $ docker run -d --restart=always --name=osmat-container -p 8889:80 osm-analytic-tracker

Try it

Go to http:127:0.0.1:8889 and wait for some changeset :-)

If you don't see any changeset, at least you should see the map centered in your AOI and read in the upper right corner "Lag" around 1-5 minutes. Just wait for the next OSM changeset.

Comment from Hjart on 20 September 2017 at 06:13

I have been watching the authors own instance at (which also acts as a running demo) covering the country Denmark almost daily for nearly 2 years now and have found it immensely usefull for keeping track of activity and spotting mistakes. Quite a few times I've been able to correct mistakes (mostly done by newbies) within as little as 5 minutes. Actual vandalism doesn't happen very often, but of course I've been able to quickly discover and revert a few cases.

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

  • Image

    ![Alt text](URL)

Login to leave a comment