[Openstreetmap-dev] More on GPX schema
immanuel.scholz at gmx.de
immanuel.scholz at gmx.de
Fri Sep 23 14:18:21 BST 2005
> That is, that each think that can have metadata just has a string up to
> 255 chars in length associated with it like tags in flickr or
I've read the future: 255 limit will be way to short. ;-)
>> Or are key/values the final feature? :*)
> With a string you can tag, or whatever you like.
Of course, you can convert every idea to a string-textual representation
and try to squeeze it in 255 chars. But maybe people want features that
are better expressed a different way?
Hm, lets find an example....
Maybe an tag that states how long this entry will be valid (for points of
interest). Now you want to do a query on the server: "Gimme all events,
that are valid at least until christmas."
You'll do hard to do this in acceptable performance (means: not by getting
everything and parse every metadata for the "valid" - tag, extrakt the
date after, convert the string-date to a real date and compare it.)
What I mean is: Don't design a way that makes changes impossible as long
as you live in a world that changes ;)
(Which is not to be confused with "Don't design for changes now, which may
not happen at all" ;)
>> But: How do you define such "common keys"? Once and for all? The world
>> will change, so will the key names used. If you alter the structur of a
>> key/value pair after it is introduced, you have to recode all
>> applications which use this key to parse the new format correct (except
>> you define a very complex way of telling the xml-structure within the
>> xml document or something like that).
> This is the 'tags cannot possibly work' argument.
No, this is the "If you express data within structure, you have to
recompile, if this data changes" - argument. ;-)
I don't say that people will or will not change key names to senseless
values. But I say that if people change keys and keys are in the
xml-structure, not in the xml-data, than you've got a problem...
"Imi" (note the only one "m") comes from an old and forgotten cleaning
agent from DDR. ;-)
> For now think of it as another field (varchar(255)) along with say
> lat/lon columns for a point of interest. The server could parse this
> string for you out of a string and in to xml, say <osmtag name='foo'
If you hold key/value pairs in seperate columns of a table, you can query
much faster on things like: "Gimme all 'Autobahn's". You loose the free
structure this way however but now you are able to attach metadata on
keys, maybe making your meta-metadata idea obsolete?
More information about the dev