diff --git a/doc-img/shield_map_world.svg b/doc-img/shield_map_world.svg index ded937405..08c8d842a 100644 --- a/doc-img/shield_map_world.svg +++ b/doc-img/shield_map_world.svg @@ -124,6 +124,8 @@ See the end of this file for a list of available jurisdictions and their codes. .ve, .dz, .gh, +.mg, +.ne, .am, .bd, .cn, diff --git a/src/js/shield_defs.js b/src/js/shield_defs.js index 39cc64de9..e35e0207a 100644 --- a/src/js/shield_defs.js +++ b/src/js/shield_defs.js @@ -1976,6 +1976,22 @@ export function loadShields() { }, }; shields["US:NY:Truck"] = banneredShield(shields["US:NY"], ["TRK"]); + shields["US:NY:Inner_Loop"] = { + ...trapezoidDownShield( + 10, + Color.shields.white, + Color.shields.black, + Color.shields.black, + 4 + ), + padding: { + left: 4, + right: 4, + top: 3, + bottom: 3, + }, + }; + shields["US:NY:Inner_Loop"].ref = "LOOP"; shields["US:NY:Thruway"] = { noref: { spriteBlank: "shield_us_ny_thruway", @@ -3081,6 +3097,18 @@ export function loadShields() { shields["GH:regional"] = roundedRectShield(Color.shields.yellow, Color.shields.black); + // Madagascar + shields["MG:RN-road"] = roundedRectShield( + Color.shields.red, + Color.shields.white + ); + + // Niger + shields["NE:N-roads"] = roundedRectShield( + Color.shields.red, + Color.shields.white + ); + // ASIA // Armenia diff --git a/src/layer/boundary.js b/src/layer/boundary.js index cab85a6a6..b36d6eeec 100644 --- a/src/layer/boundary.js +++ b/src/layer/boundary.js @@ -78,6 +78,57 @@ export const county = { "source-layer": "boundary", }; +export const regionCasing = { + id: "boundary_region_casing", + type: "line", + paint: { + "line-color": Color.borderCasing, + "line-width": { + stops: [ + [8, 5], + [9, 6], + ], + }, + }, + filter: [ + "all", + ["==", ["get", "admin_level"], 5], + ["==", ["get", "disputed"], 0], + ["==", ["get", "maritime"], 0], + ], + minzoom: 8, + layout: { + "line-join": "round", + visibility: "visible", + }, + source: "openmaptiles", + "source-layer": "boundary", +}; + +export const region = { + id: "boundary_region", + type: "line", + paint: { + "line-color": Color.border, + "line-dasharray": [5, 4], + "line-width": 1, + "line-offset": 0, + }, + filter: [ + "all", + ["==", ["get", "admin_level"], 5], + ["==", ["get", "disputed"], 0], + ["==", ["get", "maritime"], 0], + ], + minzoom: 6, + layout: { + "line-join": "round", + visibility: "visible", + }, + source: "openmaptiles", + "source-layer": "boundary", +}; + export const stateCasing = { id: "boundary_state_casing", type: "line", @@ -322,6 +373,10 @@ export const legendEntries = [ description: "County or county-equivalent", layers: [county.id, countyCasing.id], }, + { + description: "Region", + layers: [region.id, regionCasing.id], + }, { description: "City, town, or village", layers: [city.id], diff --git a/src/layer/index.js b/src/layer/index.js index 95fada71d..740eb6061 100644 --- a/src/layer/index.js +++ b/src/layer/index.js @@ -37,6 +37,7 @@ export function build(locales) { lyrPark.parkFill, lyrBoundary.countyCasing, + lyrBoundary.regionCasing, lyrBoundary.stateCasing, lyrBoundary.countryCasing, @@ -52,6 +53,7 @@ export function build(locales) { lyrBoundary.city, lyrBoundary.county, + lyrBoundary.region, lyrBoundary.state, lyrBoundary.country, diff --git a/src/shieldtest.js b/src/shieldtest.js index f687008e6..26b052058 100644 --- a/src/shieldtest.js +++ b/src/shieldtest.js @@ -355,6 +355,10 @@ const iterShields = function* () { network: "US:NH:Turnpike", names: ["Blue Star Turnpike", "Everett Turnpike", "Spaulding Turnpike"], }; + yield { + network: "US:NY:Inner_Loop", + names: ["Inner Loop"], + }; }; const renderAllShields = async () => {