GitXplorerGitXplorer
b

HighRoadPlus

public
5 stars
0 forks
0 issues

Commits

List of commits on branch main.
Verified
a8f8427a2e179e5e56bc9bb4e3499c0453cf1867

Update README.md

bbdon committed a year ago
Unverified
4367ba4c1394f545db26b4d2281b5b51dce2c1da

switch center, switch to worker

bbdon committed a year ago
Unverified
95a4cd0747bdd875e200844ec094b06da8cebc00

change tileset url

bbdon committed a year ago
Verified
275f261c6d4b691257b5984c4e539f0791827761

Update README.md

bbdon committed a year ago
Verified
373a3652b7f8d09fd832419c5b96600d98289263

Update README.md

bbdon committed a year ago
Unverified
6a35362cf30b983a2bd1b0a8f329b94860b1ba64

add html and js

bbdon committed a year ago

README

The README file for this repository.

Screenshot 2023-08-14 at 21 51 08


See https://github.com/protomaps/basemaps/issues/72 for discussion

HighRoadPlus layers (8 total):

roads_tunnels_2_minus
roads_tunnels_1_casing
roads_tunnels_1
roads_0_casing
roads_0
roads_bridges_1_casing
roads_bridges_1
roads_bridges_2_plus

Each layer visualizes 5 road classes (highway,major_road,medium_road,minor_road,other)

Alternatively,

5 classes * 2 (casing/no casing) * each level (-2,-1,0,1,2,3,4,5) = 80 layers

Concept

This is the combination of two techniques to massively reduce the # of layers.

  • Firstly, each road class is visualized using data-driven styling in a single layer. This needs to work around limitations in the MapLibre styling language, namely that zoom-based interpolations must be at the top level of an expression.

  • Secondly, casings are drawn using two separate methods. For layer values -1,0 and 1 (97% of all values), the traditional casing layer is used. For values <= -2 and >= 2 (3% of cases) a duplicate geometry is created at tileset creation time, with only the addition of one tag casing=true. This layer is then drawn in sorted order with different paint values depending on the casing tag.

Drawbacks

  • duplication in tile data (3% of cases), minor impact
  • 2 different ways to draw casings, no impact
  • No data-driven line-dash array or line ends (can be worked around)
  • Very small visual artifacts at seams between butt line endings

External references