[OSM-talk] Mapnik style in slippy map
Frederik Ramm
frederik at remote.org
Thu Aug 2 18:44:02 BST 2007
Hi,
>> And yes, there *really* are 20740 nodes that carry a tag whose key is
>> "moved according to town brige in Mandal and Åvik(/Åvig) harbor)" and
>> whose value is empty.
[...]
> Having loaded that area into JOSM (from the normal server, not my local
> one) and selected all nodes, I can't see those tags.
Something strange is going on here but I've found out what it is. I
picked one of the nodes from the planet file at random and requested it
from the API - no funny tags at all. Then requested the history - all
looks well. That would mean that either someone with database access has
removed the tag in the last 48 hours or so, bypassing the history
mechanism (highly unlikely!) or that the code generating the planet
works differently from the API. And this is in fact the case - the API
does not hand out tags with empty values (code from Node.rb, asterisk
marking inserted by me):
def self.split_tags(el, tags)
tags.split(';').each do |tag|
parts = tag.split('=')
key = ''
val = ''
key = parts[0].strip unless parts[0].nil?
val = parts[1].strip unless parts[1].nil?
if key != '' && val != '' **************************
el2 = XML::Node.new('tag')
el2['k'] = key.to_s
el2['v'] = val.to_s
el << el2
end
end
end
But the code that generates the planet file does not use the same XML
generation, and it has no provision for skipping empty values.
So there you go. That's why the API never returns those funny tags. And
everytime someone makes a modification to an object carrying a tag
without value, the tag is silently deleted (because the new, uploaded
version of the object does not contain the tag). Which is not too bad
since value-less tags are useless anyway ;-)
Bye
Frederik
--
Frederik Ramm ## eMail frederik at remote.org ## N49°00.09' E008°23.33'
More information about the talk
mailing list