[josm-dev] JOSM Separate Data Store pluign + server released
frederik at remote.org
Wed Mar 28 11:51:07 BST 2012
I have added a new plugin to the JOSM repository called "SDS", short
for "separate data store". This is code that Geofabrik has developed for
a HOT project. HOT's work in Indonesia is sponsored by the
Australia-Indonesia Facility for Disaster Reduction grant.
The idea in this project is to enable JOSM users to record additional
data with OSM objects, but that additional data lives in a different
repository. The driver, in this instance, was that the data to be
collected was unsuitable for public release due to privacy issues
(personal data like household income etc.), but there may be other uses,
for example if you want to record stuff that is too volatile or detailed
The separate data store has all information keyed against OSM object
IDs, i.e. it cannot record geometries - only additional tags.
The SDS plugin makes it possible to have JOSM query another data source
for additional data related to objects just downloaded from OSM. For
example, you download ways #15, #20, #25 from OSM, then the SDS plugin
will query a different server "do you have extra info pertaining to ways
#15, #20, #25?" and the server may or may not return extra info.
These extra tags are then brought into JOSM just like any other tags,
and they can be edited, styled, filtered, and validated normally.
On upload, the plugin will again separate the extra tags from normal OSM
tagging, and will upload extra tags to the separate server only. (This
is based on a tag name rule, i.e. tags that begin with a defined prefix
go to the separate server, and all else goes to OSM.)
Doing all this required a few extra hooks that I built into JOSM in
changesets 4645, 4826 and 4910-4913. These hooks can obviously also be
used by other plugins. A more detailed description of the inner workings
of the plugin is here:
Geofabrik has also written a server (in Ruby on Rails) that serves as
the counterpart for the SDS plugin. The server is slightly more HOT
specific than the JOSM plugin, and comes with a search function and web
editing interface for tags stored there.
The plugin is available through the normal JOSM channels; the plugin
source is at <tbd>, and licensed GPL 2.0 or later just as other JOSM
stuff is too.
The server code is available Github at
https://github.com/geofabrik/sds-server, and licensed under a BSD
license. There's also a detailed documentation there.
I realize that this current version of client and server is very much
geared toward HOT's specific use case, but I'd be happy to see others
make use of this work for other purposes, build on it, and improve it.
I'm happy to answer questions about the project if someone wants to play
with the code.
Frederik Ramm ## eMail frederik at remote.org ## N49°00'09" E008°23'33"
More information about the josm-dev