[Talk-us] Highway Shield Rendering

Chris Lawrence lordsutch at gmail.com
Tue Apr 3 20:15:58 BST 2012


On Tue, Apr 3, 2012 at 12:06 PM, Phil! Gold <phil_g at pobox.com> wrote:
> * Chris Lawrence <lordsutch at gmail.com> [2012-04-03 10:21 -0400]:
>> - Secondaries (network US:VA:secondary) don't seem to be rendering at
>> all, and the fallback shields aren't showing up even where there are
>> ref tags (just seems to be using Mapnik style).  Simple rule for VA:
>> if the ref >= 600, or it has a letter in it, it's a secondary (except
>> 785 and 895, which are signed primary).  1 <= 599 are primary.
>
> When we looked at the database, we saw some secondary routes tagged as
> US:VA and some as US:VA:Secondary.  Since there didn't seem to be any
> overlap in the numbering, we chose to only look for the US:VA network and
> render either a primary or secondary shield based on the number.  I assume
> you live in Virginia.  What do you, as a resident, think of this rendering
> choice?

As NE2 correctly points out, the number may not be the best guide.  VA
secondaries are a lot more like CR systems in other states or the
secondary system in Missouri, in that the numbering doesn't carry
between counties/cities (e.g. there are probably almost* as many SR
600s as there are counties in the state).  My tagging has been to use
US:VA:secondary to avoid ambiguity, with separate relations for each
distinct secondary using is_in:county for disambiguation.

* almost because technically Henrico and Arlington counties maintain
their own "secondaries," although I think Henrico signs its CRs using
VDOT secondary shields.

> Separately, Mapnik ought to be using the fallback shields when it doesn't
> place one of our shields.  It might be getting confused by the presence of
> the US:VA:secondary route even though there aren't any shields for it.
> I'll look into it.

Cool.

>> - The US 460 business route doesn't seem to be getting shields.
>
> We're looking for US Business routes under a network of US:US:Business.
> It probably isn't tagged that way.  Once it is, it'll show up.

Yeah, probably.  When the database is live again I'll look into it.

>> I-26 in TN seems to be missing:
>> http://elrond.aperiodic.net/shields/?zoom=11&lat=36.35713&lon=-82.42503&layers=B0
>
> The route relation has "I 26" in the ref tag.  Once it's change to just
> "26", it'll render properly (although it'll take until the next time we
> run the cluster generating script after that change before it'll show up
> in concurrencies).

Ugh.  When I wrote up
http://wiki.openstreetmap.org/wiki/United_States_roads_tagging#Tagging_with_relations
my specific intent was that the ref tag was supposed to be bare to
avoid renderers needing to parse/grep a bunch of crap to get the part
they need to use on a generic shield design.  There's no good reason
to overload ref in relations with information that is already
specifiable in an unambiguous fashion using network and/or modifier.
For example, something asinine like ref="15 Loop" is just silly,
because (a) in the field it is actually "Loop 15" and internally it's
"SL 15" (and on the official TX tourist map it's just a 15 in a
hexagon, like spurs, which are numbered as part of the same system -
much like RM/FM share the same numbering system internally and get a
rectangle on the tourist map) and (b) the renderer will want to slap
"15" on a generic "Texas Loop" shield, or maybe just a generic
"non-primary-network" shield, without trying to guess what things
aren't part of the route number.

So if you want my advice - which I'm sure you don't :) - stick with
what you're doing and don't cave to this "let many flowers bloom"
tagging for relations philosophy.  We have enough of that crap with
way-based ref already, to the point that they've degenerated into a
hideous, unmaintainable, uninterperable mess (that Mapquest gets
anything useful out of it is a tribute to their herculean patience
with mapper quirkiness); no need to perpetuate it with relations too.

Finally, if you get bored, I wouldn't mind seeing a more "commercial
map" style rendering option more akin to what Mapquest is doing - e.g.
using the US and I shields but just circles/lozenges for the (primary)
state routes and squares/rectangles for secondaries/CRs/Texas
weirdness.  After what you've done so far that will probably be
child's play. :)


Chris



More information about the Talk-us mailing list