[OSM-dev] Server-side data validation

Paweł Paprota ppawel at fastmail.fm
Fri Jul 13 19:25:30 BST 2012


Hi Frederik,

Thanks for the response. I realize that I have oversimplified with
writing about transferring JOSM validators to the server-side - not to
throw big words around but I have some years of experience as software
architect and worked with systems not unlike OSM so even that I am not
expert on OSM, I can see problems with adding another layer to the OSM
server.

I am not trying to argue with the core principles (the lightweight
tagging model etc.) of OSM - I am just trying to get an idea what will
happen if I do something with that topic - piece of design of piece of
code, whatever. Is it going to be considered or are you set on doing
things one way and I should rather think about writing my own piece of
software that runs on OSM data?

This discussion is similar to my question about usability
improvements... another big topic that I am trying to wrap my head
around - what is the current status, who to talk to etc. So please
excuse any oversimplifications and maybe some over eagerness on my side
- but I want to help with some, for now I just don't know where to start
:-)

Paweł

On Fri, Jul 13, 2012, at 20:11, Frederik Ramm wrote:
> Hi,
> 
> On 13.07.2012 19:27, Paweł Paprota wrote:
> > What is the current consensus within OSM dev community on this aspect of
> > OSM architecture?
> 
> Historically, the OSM API was meant to be (very) little more than an SQL 
> database with a spatial index and history. It was placed at a very, very 
> low level, without any understanding about the data - just taking it and 
> storing it.
> 
> Later, some - very few - consistency checks were added, i.e. the 
> database now makes sure that you do not reference an object that doesn't 
> exist, or delete an object that is still "in use".
> 
> Until today, the database has no concept of what a multipolygon is, or 
> whether one-node ways or consecutive identical nodes in a way make 
> sense; and it doesn't even begin to look at tags.
> 
> There are good reasons for this, most notably the flexibility to do even 
> "unexpected" things, but also the avoidance of complexity. The server 
> processes thounsands of updates in one minute, and it has enough work to 
> do as it is, making sure that all of the 879 members of your relation 
> actually still exist. Some checks sound easy enough but when you look 
> closely they might actually require loading and inspecting lots of other 
> objects (think of a route relation where you would like to make sure it 
> is contiguous - requires loading all member ways and comparing end 
> nodes!). And some checks sound sensible enough but then suddenly someone 
> invents a use case where, say, a one-node way suddenly makes sense.
> 
> It is an issue that is worth debating - what aspects of data integrity 
> should the server attempt to guarantee - but is is *certainly* not as 
> easy as "let's just take JOSM's validator checks and implement them 
> server-side". (Not least because these checks are too zealous for that.)
> 
> Bye
> Frederik
> 
> -- 
> Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"
> 
> 
> 
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev



More information about the dev mailing list