Skip to content

osmlab/changeset-map

Repository files navigation

OSM Changeset Viewer on a GL Map

Contributor Covenant

changeset-map is a JavaScript library and application which displays OpenStreetMap changesets in a web browser. Pass in a changeset ID, and it will render a map visualization of what was edited in that changeset. Things that were added are shown in green, deletions in red, and things that were modified are yellow, similar to a code diff.

This library was originally a core component of OSMCha, the OpenStreetMap changeset review and validation tool. It is no longer used in OSMCha (having been replaced by maplibre-adiff-viewer), but can still be used as a standalone application at osmlab.github.io/changeset-map. (Example)

Heavily inspired by the Achavi Changeset Viewer. (Example, Github).

Use as a module

Create a container div to hold the UI.

<div id='container'></div>
// es6 modules
import {getChangeset, query, propsDiff, render} from 'changeset-map';

// commonjs
var changesetMap = require('changeset-map');
var render = changesetMap.render;

var container = document.getElementById('container');
var changesetMapControl = render(container, changesetID, { width: '1000px', height: '1000px' });

// binding events
changesetMapControl.on('load', function () {
    changesetMapControl.emit('selectFeature', 'node|way', featureId);
    changesetMapControl.emit('clearFeature');
    changesetMapControl.on('hashchange', function(geometryType, featureId) {
        // update hash.
    });
})

For a custom overpass instance, set a overpassBase key in the options object. Default instance is https://overpass.osmcha.org/api/interpreter.

Build

  • Build the plugin by npm run build.
  • Build the website by npm run build:website, the websites html can be found in public folder. The javascript code to run changeset map can be found in www folder.

Development

  • Install asdf version manager
  • asdf install # To install the required tools from .tool-versions
  • yarn add react react-dom # Install those packages manually
  • yarn install # Install packages
  • yarn start # To get going …

About

Visualise a changeset on a map

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 14