[OSM-dev] Relationships - working prototype
Andreas Brauchli
linux at elementarea.net
Fri Aug 17 08:16:31 BST 2007
On Thu, 2007-08-16 at 23:07 +0200, Christoph Eckert wrote:
> Hi Bart,
>
> > But isn't it ironic that part of the reason of introducing entities
> > is to solve problems introduced by removing segments or limiting
> > ways to be a strictly sequential list of segments?
>
> segments have been useful for a long time, but meanwhile have shown
> disadvantages. Thus there are efforts to drop them.
> The introduction of relationships is not decided yet, and it was not
> developed to solve problems introduced by dropping the segments.
> Relationships address a wider area. If relationships additionally can
> help to solve some issues where segments have formerly been (ab)used to
> model things, why not.
relationships will make editing a lot simpler for a poweruser, but may
confuse the newbie:
advantages
o solves lots of cases which were hard/impossible to do with the
current scheme (very static nodes, to change something you always
have to change the whole way-set)
o any way, node or combination (entity) can be part of a town
this town-node is part of the district (over-regional entity) node
which again is part of the state and county/continent node
so you change a misspelled state-node in one place only and have it
recursively added to all other sub-entities
disadvantages
o OSM-newbies will find it harder to understand the mechanism, this
was very easy in the segment-only days or since potlatch. it will
be crucial to incorporate this in a seamless manner (JOSM with tag
selection from a list, hints on entities and help-tips (which can
be disabled) and (what i'm the least affraid of) good documentation)
o someone (accidently or willingly) deletes a state node, all
sub-entries get lost. if this node-deletion isn't undone we'll
have a lot of widow-childs that are to be converted to the new node
- a possible solution would be a crediting system that needs you to
have a certain reputation (probably based on node-creation and
member-since) in order to write-protect such nodes (readonly=yes)
o the load on the DB will get quite harder as entities will allow
much more complex designs. how will this reflect in the api? always
download the whole entity like in 0.4 where we're always feeding whole
ways to the client?
other possibilies/ideas
o have an index of countries/states highways and other entities that
an editor can fetch from (inside the API may be the cleanest way)
when downloading/editing a certain area so that the user can choose
from a list of given (readonly) nodes
i think it's especially important to have a clean design before
implementing it because these are drastic changes (even though good and
necessary). especially people with objections, please shout out!
andreas
More information about the dev
mailing list