[josm-dev] JOSM Separate Data Store pluign + server released

Frederik Ramm frederik at remote.org
Wed Mar 28 11:51:07 BST 2012


Hi,

    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 
for OSM.

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:

https://github.com/geofabrik/sds-server/raw/master/doc/sds.pdf

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.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"



More information about the josm-dev mailing list