OpenStreetMap

Last Saturday was the start of a bit of a heat wave here in London, and we were making the most of it with a BBQ in Derick's back yard. The first of the OpenStreetMap Meat-ups:

We sat and talked about the heat and the meat and the maps, and it was glorious!

Derick set us a small mapping challenge, and since I had accepted the challenge, and since it was a very small mapping challenge, I felt guilty about not bothering to do it, so while staggering home drunk with the girlfriend, I popped over to my slice of the cake and took a few blurry photos of that row of shops. I haven't actually entered this data in yet, but this shop POI mapping reminds me of something...

I was meaning to post this diagram a while ago. Some photos of shops are rammed full of information which can be read off and put into tags. This is a nice example of that:

Fundamental point about this: Some tags are more important than others. Clearly it's quite tedious to key in all of these tags. You're still making a very valuable contribution to OpenStreetMap if you just stick in a node with the 'amenity=restaurant' and 'name=Med Cafe'. Everything else is a bonus, and skipping over the details is a perfectly valid way of mapping more rapidly.

Now there are some diverse opinions about tags to use for some of these things, and I'm unlikely to persuade any keen POI mappers that I am right and they are wrong, but if you're new to POI mapping then you could do worse than use the tags as illustrated above. After all I am right. :-)

First of all, why is it amenity=restaurant and not amenity=cafe? Well in this respect this photo is an atypical example, but perhaps that makes it a useful example. Categorising POIs can be a tricky business, and quite subjective. You should look at what the primary function/characteristics of a POI are, and make a judgement. Do not necessarily allow your judgement to be swayed by the name. In this case it's a funky soho establishment where they've gone for a funky 'cafe' in the name, but I judged that it's much more of a restaurant than a cafe. That's fairly common. Another example of this is all those north London convenience stores which call themselves "something supermarket" when clearly there's nothing "super" about them.

Another thing you should not do is tag it 'amenity=restaurant;cafe'. If there's a place for semi-colon value separators then an amenity tag is not it.

I use 'phone' rather than 'contact:phone' because that's what most other mappers do. This is no coincidence. It's simpler. I generally disapprove of most proposals to introduce "namespaces". While they have the feel of something nice and rational and organised, that comes at a price. Tags are supposed to be simple. We're not developing a programming language here. New mappers have to learn to type these things in and remember them. The 'contact:' prefix offers very little real benefit but makes a tag much less simple.

Regarding phone number format, I tend to slap in the phone number in whatever format I see on the signage, rather than converting to some sort of standardised "+44" format. That's a speed of input thing. Phone number formats make my head hurt so I don’t even try to think about it while typing them in. This might screw over a system which tries to dial the number, but really, if a system fails on that, then it'll always have problems eating OSM data. That said, I have absolutely no problem with somebody "correcting" that data later.

Websites are quite fun. I think these could be quite a neat way of enriching the data set. Clearly it should be 'website' rather than 'contact:website' for the same reasons as above. Sometimes I stick it in the browser to check if the website actually exists. This also makes it easy to put the full 'http://' in front. Sometimes I don't bother.

The same applies to 'postcode, but you may then be wondering why I use namespaced tags for the other address bits. I suppose I could use 'housenumber' instead of 'addr:housenumber' and indeed I do prefer the simplicity of that, but there's a history behind this one. A lot of longwinded discussion and debate around address tagging took place years ago. Lots of ideas for different edge cases to accomodate and ways of representing things. Eventually the guys in Karlsruhe went out and mapped, and then came back and fed back their experiences of a tagging scheme which seemed to work: "Karlsruhe Schema". Looks like Marcus Wolschon did this back in April 2008 and started the wiki page with the wonderfully pragmatic: "This schema is used for first tests of tagging house-numbers. You may use or ignore it. It can be changed at a later time after everyone has gathered experience with tagging house-numbers and interpreting the mapped data." That formed the basis of what we now see on Key:addr, and most mappers now follow it. From a personal perspective I find address mapping deeply uninteresting. I'm quite happy to go with the majority on this one. In fact I often skip these tags anyway (particularly addr:street). If typing in awkward tags is taking too long, don't let it put you off mapping. Just skip it!

So that's the way I do some tagging. If you disagree with me, commence criticising comments. Or if you really feel strongly, head into my territory and change my tags. This Saturday is the perfect opportunity:

The second BBQ meet-up round my house will be this Saturday. Last weekend it was meat-tastic, and this one will be no different:

Meat!

I'm sweating as I type this, so let's hope the heatwave lasts until Saturday. I live up in North London near Archway tube. If you haven't heard of Archway, that's not because it's a mysterious outer london location. It's in zone 2! It's just not well known because it's a bit crap. All the details and instructions are on the wiki, apart from those details which are hidden on facebook somewhere. But yes... All OSMers welcome! There will also be a number of non-map-obsessed friends and family present, so I expect you all to be on your best behaviour.

Location: West Kilburn, Maida Hill, London, Greater London, England, W9 3EB, United Kingdom

Discussion

Comment from paulbiv on 3 August 2011 at 19:20

It'd be good for OSM to be able to deliver a map with pushpins for mediterranean restaurants in W1F, with contact details and clickable website links - like some others we could mention. We might have more chinese takeaways than the others, but do need the phone numbers.

The phone number formats should be something that editors can do - with a setting for mapping in the UK, DE or whatever, and automagically set the international format.

Comment from Derick Rethans on 3 August 2011 at 19:27

I've been mapping the website as contact:website and the phone as contact:phone in international format: +44 20 74370560. I thought that was the way how to do that! And obviously the website should be with http://, because some might still be on gopher://!
I will definitely be changing the things that you will map in "my" area ;-)

cheers,
Derick

Comment from Harry Wood on 3 August 2011 at 23:53

"I thought that was the way how to do that" There is no way how to tag anything. For every tag there's always somebody being awkward and debating it. In this case though the "contact:" prefix is the awkward newcomer. The simple version of these tags is clearly better. They clearly win on usage stats too:

'phone' 100 280 > 'contact:phone' 10 384.

'website' 141 067 > 'contact:website' 5 227

I forgot to mention, there's a bunch of OpenStreetBugs near my house due to Gregory's gorilla detail mapping, which he put there at last years BBQ. Clearly my area is not as tidily finished off as yours!

Comment from EdLoach on 4 August 2011 at 07:41

"I'm quite happy to go with the majority on this one"

If you're using usage stats then there are about 6 million addr:postcode and only about 340,000 postal_code (source: taginfo). Whether a bot got involved at any point, or whether address tagging only took off after the Karlsruhe scheme became popular I don't know.

I do know I used to add both when there wasn't any clear reason why to use one over the other.

And your diary entry reminds me that last night I drove past what was a restaurant and is now a Health and Beauty salon with fish spa (fish=yes?) that I need to retag. Will do that now.

Comment from Harry Wood on 4 August 2011 at 10:16

Ah yes. And I'm using those other addr: prefixed tags, so 'addr:postcode' would be more consistent I suppose. I'm fairly indifferent about postcodes. I don't capture them so often in my photos. I suppose I went with 'postal_code' because I think it is tag which has been in use since the early days (back when freethepostcode.org had its heyday).

Sometimes I'd like stats on how new a tag is. Or even a timeline graph showing the growth in usage. Like google trends for tags. That could also reveal bot interference.

Comment from chillly on 4 August 2011 at 10:47

If you want to check a GB postcode, or add en-masse take a look at http://codepoint.raggedred.net

Comment from Skippern on 5 August 2011 at 02:32

I wish my "geountagged photos" where as good as your example. I usually end up with a photo I cannot read end of other on, either I forget where, or there are no usable untagged information to extract.

Comment from chriscf on 9 August 2011 at 14:52

I'd be brave and suggest that there's nothing wrong with a semi-colon value separator in the amenity field. If someone's "find me a cafe" tool won't pick up an amenity=restaurant;cafe then their tool is broken. This is the kind of nonsense that leads people to go and insert spaces or alternative separators (e.g. "x/y" or "x - y") because they think that "x;y" is ugly when rendered. It *is* ugly, but if it's rendered that way, the renderer is broken. I did raise this issue before but it seems to have been summarily ignored.

Comment from Harry Wood on 10 August 2011 at 09:43

Well reckon semi-colon value separators should not be used on any important tags. They probably should never have been introduced in the first place. Like several other tagging ideas (such as the 'contact:' namespace) The idea obviously came from people who think they are clever because they understand computer programming, but who have failed to grasp the benefit of keeping things simple.

Log in to leave a comment