[Talk-us] Shaped highway shields - trying to revive

Evin Fairchild evindfair at gmail.com
Fri Aug 24 17:06:09 UTC 2018


Really glad to see that someone is reviving this and actually taking the
step to get it rendered. Frankly, I never understood why Phil didn't do
this in the first place. I even mentioned this to him at the time (can't
remember his response though).

-Evin (compdude)

On Wed, Aug 22, 2018, 2:21 PM Kevin Kenny <kevin.b.kenny at gmail.com> wrote:

> (I apologize in advance to the tile-serving community if this message
> is inappropriate. I see that traffic on that list is largely limited
> to highly specific technical discussions, but couldn't see a more
> appropriate forum.)
>
> For several years now, I've been using the support code for shaped
> shields in OSM, originally developed by Phil! Gold and Richard Weait,
> to render North American-style maps. A typical example can be found at
> https://kbk.is-a-geek.net/catskills/test4.html?la=41.4143&lo=-74.4233&z=14
> In that view, you can see distinct shields for Interstate, US, New
> York, and county routes, and at least one concurrence (New York 17M
> aligned with US 6). Incidentally, Phil's is the only renderer that
> I've seen that can make sense of cases like West Virginia's bizarre
> double route numbers, as seen in
> https://kbk.is-a-geek.net/catskills/test4.html?la=41.4143&lo=-74.4233&z=14
> .
>
> The visual distinction among highway shields is really necessary in
> North America, where there are so many different route networks
> overlaid.
>
> In the course of working with the code, I've made a number of changes
> and become seriously out of sync with the main development line, which
> appears to be moribund. (Phil! and Richard have not answered recent
> queries; I suspect that I have obsolete contact information, but the
> messages also have not been returned undelivered.)
>
> Accordingly, I've (quite reluctantly) created my own repository -
> https://github.com/kennykb/osm-shields - with material from the
> project. The shield templates to be found there are mostly those of
> Phil! (I added only a handful), but the code to manage shields is
> almost entirely new. Some significant changes are:
>
> The list of shields to be rendered is obtained from the database
> itself, rather than being predetermined by a configuration file for
> each network. This has the disadvantage that refs that are known to be
> problematic may be rendered (but in most cases they ought to be
> unsigned_ref). On the other hand, it has the distinct advantage that
> as mappers continue to create the route relations, the corresponding
> shields appear virtually automatically.
>
> The composition of shield clusters, rather than being handled by a
> stored procedure in the database, is done using a GroupSymbolizer in
> Mapnik. I suspect, given the dearth of discussion that I find in a
> Google query, that I'm the first user to attempt to use
> GroupSymbolizer with actual open-ended shield clusters, and therefore
> that I've trodden new ground in the path from database to renderer. I
> encourage developers who are interested in the GroupSymbolizer to read
> at least
> https://github.com/kennykb/osm-shields/wiki/Using-the-GroupSymbolizer
> - it has a number of tricks to structure the results in a way that the
> GroupSymbolizer can consume and that renders well. The disadvantage to
> using the GroupSymbolizer is that Phil!'s shield clusters were rather
> more attractive visually, since they were aligned to lie in the
> direction of a way. The advantage is that the current approach can run
> on an unpatched Mapnik, as opposed to Phil!'s original, which requires
> at least patching Mapnik to use a read/write connection to the
> database.
>
> Managing, reliably, the association between ways and the routes in
> which they participate requires a couple of database tables that a
> stock osm2pgsql does not produce. I would very much appreciate any
> commentary from developers of osm2pgsql and Mapnik, particularly,
> about the issues discussed in
>
> https://github.com/kennykb/osm-shields/wiki/Maintaining-the-association-between-ways-and-routes
> What I'm currently doing works well for my own use, which is driven by
> daily updates to extracts at Geofabrik, but will obviously not scale
> to a whole planet and minutely updates.
>
> Finally, I'd really like to invite anyone with the necessary SVG
> skills to contribute shield graphics for the missing networks. If
> you're also a programmer and want to take a whack at the rest of the
> procedure in
> https://github.com/kennykb/osm-shields/wiki/Adding-new-networks,
> and give me a pull request or ask for help, that would be even better,
> but even the artwork would be a time-saver.
>
> If you've got this far in reading, thanks! I know this was a long
> message, and I hope that I've not wasted too much of anyone's time.
>
> _______________________________________________
> Talk-us mailing list
> Talk-us at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-us
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/talk-us/attachments/20180824/1c40b643/attachment.html>


More information about the Talk-us mailing list