Skip to content

Adding new networks

Kevin B Kenny edited this page Sep 5, 2018 · 4 revisions

Adding new networks

To add new networks, the following things are required:

Produce the shield graphics

The shield shape is defined by one or more files in the templates directory. Each file there is an SVG that contains text to be substituted. Virtually all of them include one or more of the strings:

  • %num% : Will be replaced by the route number
  • %suf% : If a shield series renders the suffix of a route number (e.g., the 'A' in '28A') in a different typeface, or separated from the main number on the shield, or otherwise differently, the suffix is presented here.
  • %mod% : This will be replaced by some modifier: commonly these are words such as 'BYPASS', 'BUSINESS', 'LOOP', 'SPUR' or 'TOLL'. For county roads, %mod% will often be the county name.

It is possible for shield series to invent their own keywords, but these three are the only ones used so far.

Most shield series include multiple templates, with the presence or absence of a suffix, or with route numbers of different widths. A template ending in _2.5 or _3 is for a shield with that many digits. If a shield with N digits contains one or more '1' digits, the number of digits is reduced by 0.5 to account for the fact that in most highway fonts, a '1' is narrower than the other digits.

Modify routeGraphics.tcl

Once the templates are available, the file, routeGraphics.tcl must have the make_pngs procedure modified to add the network. Probably the easiest way to do this is to copy the style of another network with similar rendering rules and make appropriate modifications. Each network's rendering rule must at least call makeSVG to substitute the %num%, %suf%, %mod%, ... fields, call makePNGs to scale the graphics to all the sizes in use, and set the variable 'ok' to 1.

Important service procedures are

  • findGenericTemplate, which accepts a template name without any suffix like 2.5 and a reference number, and finds the narrowest template that will hold the given reference number.
  • stackModifiers, which is called after makePNGs, and handles the route modifiers that go on separate banner signs above the shield. (Most localities do not place modifiers such as 'BUSINESS' or 'TRUCK' on the shield itself, and it's most convenient to add the separate banner signs to the graphic in a single place.

Networks most needed

As of 2018-09-04, the state- and province-wide networks of all fifty states and all Canadian provinces all have pictorial markers.

As of 2018-09-04, the largest networks, in terms of number of distinct routes that belong to them, that do not have templates to render their markers are listed in the following table. Contributing the SVG files to handle these (with the %num%, %suf% and %mod% substituents as needed), even if no programming is done, would be very much appreciated.

Network Ways Remarks
US:TX:Guadalupe 157 No idea what Texas uses for county road markers!
US:OH:SUM:Bath 109 Township roads in Bath, Summit County, OH
US:MN:legislative 81 Historic route numbers, should these be unsigned_ref?
US:TX:Wood 76
US:OH:POR 41 Portage County, OH
US:OH:FAY 35 Fayette County, OH (This county appears not to use reassurance markers. Its route numbers appear only on blade signs, which have two lines "TWP|nn" or "CO|nn" in white on green)
US:GA:Fannin 34 No idea what Georgia uses for county road markers!
CA:ON:Waterloo:Wellesley 32
US:ADHS 29 Appalachian development highway system. Are these refs usually signed? A blue-on-white US Highway sign exists for some, but some are interstates, or state or county roads.
US:OH:WAY:Chester 28 Chester Township, Wayne County, OH