OpenStreetMap

In editing US-78 and I-285, I have added the SVG shields for these roads from wikimedia into the symbol tag.

After several days, the routes still seem to be missing the highway shield. If a way or relation has a symbol, shouldn't that actually get rendered over the way? If a way has several relations, shouldn't that get rendered as a group of symbols strung along the way along with the name? If this is already implemented in mapnik and osmarender, what am I doing wrong? If it's not already implemented, this would be a really cool feature (hint, hint to the coders out there).

On another way-related note, I've noticed that several ways have multiple names which should either be replaced by shield symbols from the route relations or displayed side-by-side along the way (where enough room is provided). (see http://www.openstreetmap.org/browse/way/40745075 where the way has the name US 78, US 29, State Route 8, and the local name "Lawrenceville Hwy" with name, name_1, name_2, name_3, tags).

As is, it seems that the only way to convey all of the road/route information is to list all of the information in the name tag (which is contraindicated in the wiki). (Ex. "name=Lawrenceville Highway (US-78 US-29 GA-8)")

On another symbols-related note, I've noticed that an item (way, node, relation) can only have a single tag of a certain type. Wouldn't it make sense to be able to tag an item with several of the same tag? For example, several grocery store chains in the United States have pharmacies (apothecaries) in some, but not all, of their locations. Wouldn't it be informative to be able to use several amenity=x tags on the node representing the building (or the way outlining the building)? The amenity symbol images could then tile above the building outline.

Happy OSMing.

Location: Rehoboth, DeKalb County, Georgia, 30033, United States

Discussion

Comment from dygituljunky on 15 September 2009 at 19:07

Here are a couple of examples from Google Maps indicating how I think that the shields should be integrated:


View Larger Map


View Larger Map


View Larger Map

From Bing Maps:
http://www.bing.com/maps/default.aspx?v=2&FORM=LMLTCP&cp=33.798599~-84.282534&style=r&lvl=17&tilt=-90&dir=0&alt=-1000&phx=0&phy=0&phscl=1&encType=1

Yahoo Maps does a very nice job of stringing all of the shields together but I wasn't able to figure out how to share a link to their map in a short amount of time.

Basically, I think it should look like this (where () represents a federal shield, [] a state shield, --- the road, and text the name(s) of the road):

--------Lawrenceville-Highway--(29)-(78)-[8]---------

Comment from dygituljunky on 15 September 2009 at 19:15

Ah, and another thing:

Where ways extend longer than, say, 4-5 tiles at a given zoom level, the name of the way and the string of shields should repeat so that the name of the road is always a short drag away from view, if not always in view. (Let's say that the name/symbols should repeat every 300 pixels from end of the last iteration).

Comment from TomH on 15 September 2009 at 20:13

Please don't "tag for the renderer" by adding reference numbers to the name - tag the data (which is our primary asset) correctly and then wait for the renderers to catch up and get cleverer about rendering things. They are improving all the time you know!

Adding URLs to images as tag values is certainly not supported by any renderers as far a I know, and quite likely never will be as it's a path to abuse. I realise there is an issue in countries like the US where it is common to have lots of different shield styles and people expect to see them on the map but we need a better solution than taking URLs from the tag data.

Comment from Vclaw on 15 September 2009 at 20:34

Have you seen this page on the wiki: http://wiki.openstreetmap.org/wiki/Relation:route
It may be the instructions you are missing.
It says the symbol tag is "symbol description - Describes the symbol that is used to mark the way along the route, e.g., "Red cross on white ground" for the "Frankenweg" in Franconia, Germany ".
So not a link (and probably not currently used by any of the renderers).

Also, for roads with multiple refs/names, I think the best option is to use several route relations. ie the way has name=Lawrenceville Highway, but is part of route relations for US 78, US 29 etc. Though I don't know if any renderers will show these (but as TomH says, tag it correctly, don't tag for the renderer).

Comment from JohnSmith on 16 September 2009 at 01:52

I've started doing some work on getting a mapnik style sheet for Aussie map shields, not happy with the images but it does work and it doesn't need any special tags to work, perhaps now is as good a time as ever to submit what I've done so far as a bug to see if others can improve on what I've done.

Comment from Circeus on 16 September 2009 at 03:03

As a side not, the "US-78 US-29 GA-8" information would be put in the ref= tag.

Comment from dygituljunky on 16 September 2009 at 10:31

Vclaw, perhaps what threw me off was that http://wiki.openstreetmap.org/wiki/Interstate_Highways_Relations states that symbol=* should be to an SVG file.

Rendering route shields would seem to be to be an important long-term feature for multiple countries and multiple regions of the world.

Circeus, when multiple items are placed in the ref=* tag, only the first item in the list is displayed in the text badge over the way. (see http://www.openstreetmap.org/browse/way/9178198 which has ref = US 78;GA 410;GA 10)

TomH, I haven't been (or don't think I have been) tagging for the renderer. I added the relation for US-78 that I referred Circeus to and, because of the verbage that I referred to in responding to Vclaw, I expected route shields to show up once I added the relation.

JohnSmith, your Aussie shield stylesheet sounds interesting. How does one get to the .png files to preview them?

Am I understanding correctly that mapnik renders from .png files and osmarender renders from .svg files? How can we load a single file, tag a way once, and have the file render in all renderers?

Thanks for the responses, y'all,

dygituljunky

Comment from JohnSmith on 16 September 2009 at 14:52

dygituljunky, yes they are important, but tagging for software only leads to inconsistency. Where as tagging what you see is generally consistent between people and software rendering can turn this into what you expect maps to look like.

Comment from wieland on 17 September 2009 at 09:37

>Wouldn't it be informative to be able to use several amenity=x tags on the node
>representing the building (or the way outlining the building)?

You should use one amenity tag on the building and create a node in the building
with the second amenity tag. See amenity=bank and amenity=atm. See http://wiki.openstreetmap.org/wiki/Tag:amenity%3Datm look for "preferred approach".

Log in to leave a comment