From 80fd1c96ebeb9434ecbac6db0e10c66daddc1ff1 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 10:57:54 +0000 Subject: [PATCH 01/52] Import the location styles in the correct file --- src/client/stylesheets/application.scss | 1 - src/client/stylesheets/shared.scss | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/stylesheets/application.scss b/src/client/stylesheets/application.scss index 2aa7b70f1..349c344c2 100644 --- a/src/client/stylesheets/application.scss +++ b/src/client/stylesheets/application.scss @@ -2,7 +2,6 @@ @use "shared"; @use "code"; @use "tag-env"; -@use "location-fields"; // An example of some user-supplied styling // Not great practice but it illustrates the point diff --git a/src/client/stylesheets/shared.scss b/src/client/stylesheets/shared.scss index cb7277959..dd537d805 100644 --- a/src/client/stylesheets/shared.scss +++ b/src/client/stylesheets/shared.scss @@ -2,6 +2,7 @@ @use "pkg:accessible-autocomplete"; @use "prose"; @use "summary-list"; +@use "location-fields"; // Use default GDS Transport font for autocomplete .autocomplete__hint, From c7fefbc0243a9f40adbbf38afd748055b33016fe Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 10:58:19 +0000 Subject: [PATCH 02/52] Add location field map styles --- src/client/stylesheets/_location-fields.scss | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/client/stylesheets/_location-fields.scss b/src/client/stylesheets/_location-fields.scss index 5f2d70e23..2e9ba7c4b 100644 --- a/src/client/stylesheets/_location-fields.scss +++ b/src/client/stylesheets/_location-fields.scss @@ -3,3 +3,14 @@ .govuk-form-group .app-location-field-inputs .govuk-form-group { margin-bottom: 0; } + +.map-container { + margin-top: 10px; +} + +// Hides the location instructions text when JS (maps) is available +.js-enabled .app-location-field { + details:last-child { + display: none; + } +} From 58a13f337c727107efc03a75b05e2b1ca3f71d2b Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 10:59:23 +0000 Subject: [PATCH 03/52] Update the OS API KEY config to inform that it is used by both the maps and postcode lookup plugins --- src/config/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/index.ts b/src/config/index.ts index 96fe12dac..30740a137 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -255,7 +255,7 @@ export const config = convict({ } as SchemaObj, ordnanceSurveyApiKey: { - doc: 'The ordnance survey api key use by the postcode lookup plugin', + doc: 'The ordnance survey api key used by the postcode lookup and maps plugin', format: String, nullable: true, default: undefined, From c3d3d4a62196b999ded62b652dd8eac766d0644d Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 11:01:01 +0000 Subject: [PATCH 04/52] Add class `app-location-field` and dataset attribute to the location field base template --- .../plugins/engine/views/components/_location-field-base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/plugins/engine/views/components/_location-field-base.html b/src/server/plugins/engine/views/components/_location-field-base.html index 0cd96cddb..5fdc3f4ec 100644 --- a/src/server/plugins/engine/views/components/_location-field-base.html +++ b/src/server/plugins/engine/views/components/_location-field-base.html @@ -70,7 +70,7 @@ {% set hasErrors = showFieldsetError and component.model.errorMessage %} -
+
{{ govukFieldset({ legend: { text: component.model.fieldset.legend.text, From f7b94d5e2bf59fd77d4a011a162da41c87d27dec Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 12:33:24 +0000 Subject: [PATCH 05/52] Add the new map plugin and client script --- src/client/javascripts/location-map.js | 382 + src/client/javascripts/shared.js | 5 + src/server/plugins/map/index.js | 19 + src/server/plugins/map/routes/index.js | 157 + .../vts/OS_VTS_3857_Black_and_White.json | 7858 +++++++++++++++++ .../map/routes/vts/OS_VTS_3857_Dark.json | 7669 ++++++++++++++++ .../map/routes/vts/OS_VTS_3857_Outdoor.json | 7653 ++++++++++++++++ src/server/plugins/map/routes/vts/README.md | 5 + src/server/plugins/map/service.js | 84 + src/server/plugins/map/types.js | 115 + 10 files changed, 23947 insertions(+) create mode 100644 src/client/javascripts/location-map.js create mode 100644 src/server/plugins/map/index.js create mode 100644 src/server/plugins/map/routes/index.js create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json create mode 100644 src/server/plugins/map/routes/vts/README.md create mode 100644 src/server/plugins/map/service.js create mode 100644 src/server/plugins/map/types.js diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js new file mode 100644 index 000000000..fe3e60e99 --- /dev/null +++ b/src/client/javascripts/location-map.js @@ -0,0 +1,382 @@ +// @ts-expect-error - Defra namespace currently comes from UMD support files +const defra = window.defra + +const defaultData = { + VTS_OUTDOOR_URL: + 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json', + VTS_DARK_URL: + 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Dark.json', + VTS_BLACK_AND_WHITE_URL: + 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Black_and_White.json' +} + +/** + * Initialise location maps + * @param {MapsClientConfig} config - the map configuration + */ +export function initMaps({ + assetPath = '/assets', + apiPath = '/form/api', + data = defaultData +} = {}) { + const locations = document.querySelectorAll('.app-location-field') + + /** + * Proxy OS API requests via our server + * @param {string} url - the request URL + * @param {string} resourceType - the resource type + */ + const transformTileRequest = (url, resourceType) => { + // Only proxy OS API requests that don't already have a key + if (resourceType !== 'Style' && url.startsWith('https://api.os.uk')) { + const urlObj = new URL(url) + if (!urlObj.searchParams.has('key')) { + return { + url: `${apiPath}/map-proxy?url=${encodeURIComponent(url)}`, + headers: {} + } + } + } + return { url, headers: {} } + } + + // TODO: Fix this in `defra-map` + // If there are location components on the page fix up the main form submit + // handler so it doesn't fire when using the integrated map search feature + if (locations.length) { + const form = document.querySelector('form') + + if (form === null) { + return + } + + const buttons = Array.from(form.querySelectorAll('button')) + + form.addEventListener( + 'submit', + function (e) { + if ( + e.submitter instanceof HTMLButtonElement && + !buttons.includes(e.submitter) + ) { + e.preventDefault() + } + }, + false + ) + } + + locations.forEach(processLocation) + + /** + * Processes a location field to add map capability + * @param {Element} location - the location field element + * @param {*} index - the 0-based index + */ + function processLocation(location, index) { + if (!(location instanceof HTMLDivElement)) { + return + } + + const locationInputs = location.querySelector('.app-location-field-inputs') + if (!(locationInputs instanceof HTMLDivElement)) { + return + } + const locationType = location.dataset.locationtype + + // Check for support + const supportedLocations = ['latlongfield'] + if (!locationType || !supportedLocations.includes(locationType)) { + return + } + + const mapContainer = document.createElement('div') + const mapId = `map_${index}` + + mapContainer.setAttribute('id', mapId) + mapContainer.setAttribute('class', 'map-container') + + const defaultConfig = { + zoom: '6', + center: [-2.421975, 53.825564] + } + + const initConfig = getInitMapConfig(location) ?? defaultConfig + + locationInputs.after(mapContainer) + + /** @type {DefraMap} */ + const defraMap = new defra.DefraMap(mapId, { + ...initConfig, + mapProvider: defra.maplibreProvider(), + reverseGeocodeProvider: defra.openNamesProvider({ + url: `${apiPath}/reverse-geocode-proxy?easting={easting}&northing={northing}` + }), + behaviour: 'inline', + minZoom: 6, + maxZoom: 18, + containerHeight: '400px', + transformRequest: transformTileRequest, + plugins: [ + defra.mapStylesPlugin({ + mapStyles: [ + { + id: 'outdoor', + label: 'Outdoor', + url: data.VTS_OUTDOOR_URL, + thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, + logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, + logoAltText: 'Ordnance survey logo', + attribution: `Contains OS data ${String.fromCharCode(169)} Crown copyright and database rights ${new Date().getFullYear()}`, + backgroundColor: '#f5f5f0' + }, + { + id: 'dark', + label: 'Dark', + url: data.VTS_DARK_URL, + mapColorScheme: 'dark', + appColorScheme: 'dark', + thumbnail: `${assetPath}/defra-map/assets/images/dark-map-thumb.jpg`, + logo: `${assetPath}/defra-map/assets/images/os-logo-white.svg`, + logoAltText: 'Ordnance survey logo', + attribution: 'Test' + }, + { + id: 'black-and-white', + label: 'Black/White', + url: data.VTS_BLACK_AND_WHITE_URL, + thumbnail: `${assetPath}/defra-map/assets/images/black-and-white-map-thumb.jpg`, + logo: `${assetPath}/defra-map/assets/images/os-logo-black.svg`, + logoAltText: 'Ordnance survey logo', + attribution: 'Test' + } + ] + }), + defra.interactPlugin({ + dataLayers: [], + markerColor: { outdoor: '#ff0000', dark: '#00ff00' }, + interactionMode: 'marker', // 'auto', 'select', 'marker' // defaults to 'marker' + multiSelect: false + }), + defra.searchPlugin({ + osNamesURL: `${apiPath}/geocode-proxy?query={query}`, + width: '300px', + showMarker: false + }), + defra.zoomControlsPlugin(), + defra.scaleBarPlugin({ + units: 'metric' + }) + ] + }) + + defraMap.on( + 'map:ready', + /** + * Callback function which fires when the map is ready + * @param {object} e - the event + * @param {MapLibreMap} e.map - the map provider instance + */ + function onMapReady(e) { + switch (locationType) { + case 'latlongfield': + bindLatLongField(location, defraMap, e.map) + break + default: + // throw new Error('Not implemented') + } + + // Get saved data from sessionStorage + const mapInfoPanelSeen = sessionStorage.getItem('mapInfoPanelSeen') + + if (!mapInfoPanelSeen) { + // Add info panel + defraMap.addPanel('info', { + showLabel: true, + label: 'How to use the map', + mobile: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + tablet: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + desktop: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + html: 'If using a map click on a point to update the location.

If using a keyboard, navigate to the point, centering the crosshair at the location and press enter.' + }) + } + } + ) + } + + /** + * Gets initial map config for a location field + * @param {HTMLDivElement} locationField - the location field element + */ + function getInitMapConfig(locationField) { + const locationType = locationField.dataset.locationtype + + switch (locationType) { + case 'latlongfield': + return getInitLatLongMapConfig(locationField) + default: + // throw new Error('Not implemented') + } + } + + /** + * Validates lat and long is numeric and within UK bounds + * @param {string} strLat - the latitude string + * @param {string} strLong - the longitude string + * @returns {{ valid: false } | { valid: true, value: { lat: number, long: number } }} + */ + function validateLatLong(strLat, strLong) { + const lat = strLat.trim() && Number(strLat.trim()) + const long = strLong.trim() && Number(strLong.trim()) + + if (!lat || !long) { + return { valid: false } + } + + const latMin = 49.85 + const latMax = 60.859 + const longMin = -13.687 + const longMax = 1.767 + + const latInBounds = lat >= latMin && lat <= latMax + const longInBounds = long >= longMin && long <= longMax + + if (!latInBounds || !longInBounds) { + return { valid: false } + } + + return { valid: true, value: { lat, long } } + } + + /** + * Gets initial map config for a latlong location field + * @param {HTMLDivElement} locationField - the latlong location field element + */ + function getLatLongInputs(locationField) { + const inputs = locationField.querySelectorAll('input.govuk-input') + + if (inputs.length !== 2) { + throw new Error('Expected 2 inputs for lat and long') + } + + const latInput = /** @type {HTMLInputElement} */ (inputs[0]) + const longInput = /** @type {HTMLInputElement} */ (inputs[1]) + + return { latInput, longInput } + } + + /** + * Gets initial map config for a latlong location field + * @param {HTMLDivElement} locationField - the latlong location field element + */ + function getInitLatLongMapConfig(locationField) { + const { latInput, longInput } = getLatLongInputs(locationField) + const result = validateLatLong(latInput.value, longInput.value) + + if (!result.valid) { + return + } + + return { + zoom: '16', + center: [result.value.long, result.value.lat], + markers: [ + { + id: 'location', + coords: [result.value.long, result.value.lat] + } + ] + } + } + + /** + * Bind a latlong field to the map + * @param {HTMLDivElement} locationField - the latlong location field + * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) + */ + function bindLatLongField(locationField, map, mapProvider) { + const { latInput, longInput } = getLatLongInputs(locationField) + + map.on( + 'interact:markerchange', + /** + * Callback function which fires when the map marker changes + * @param {object} e - the event + * @param {[number, number]} e.coords - the map marker coordinates + */ + function (e) { + latInput.value = e.coords[1].toFixed(7) + longInput.value = e.coords[0].toFixed(7) + } + ) + + /** + * Lat & long input change event listener + * Update the map view location when the inputs are changed + */ + function onUpdateInputs() { + const result = validateLatLong(latInput.value, longInput.value) + + if (!result.valid) { + return + } + + const center = [result.value.long, result.value.lat] + + // TODO: Move the location marker to the new point + map.addMarker('location', center) + + // Pan & zoom the map to the new valid location + mapProvider.flyTo({ + center, + zoom: 14, + essential: true + }) + } + + latInput.addEventListener('change', onUpdateInputs, false) + longInput.addEventListener('change', onUpdateInputs, false) + } +} + +/** + * @typedef {object} DefraMap - an instance of a DefraMap + * @property {Function} on - register callback listeners to map events + * @property {Function} addPanel - adds a new panel to the map + * @property {Function} addMarker - adds/updates a marker + */ + +/** + * @typedef {object} MapLibreMap + * @property {Function} flyTo - pans/zooms to a new location + */ + +/** + * @typedef {object} TileData + * @property {string} VTS_OUTDOOR_URL - the outdoor tile URL + * @property {string} VTS_DARK_URL - the dark tile URL + * @property {string} VTS_BLACK_AND_WHITE_URL - the black and white tile URL + */ + +/** + * @typedef {object} MapsClientConfig + * @property {string} [assetPath] - the root asset path + * @property {string} [apiPath] - the root API path + * @property {TileData} [data] - the tile data config + */ diff --git a/src/client/javascripts/shared.js b/src/client/javascripts/shared.js index 98246031c..61fa90afc 100644 --- a/src/client/javascripts/shared.js +++ b/src/client/javascripts/shared.js @@ -1,13 +1,18 @@ import { initAllAutocomplete as initAllAutocompleteImp } from '~/src/client/javascripts/autocomplete.js' import { initFileUpload as initFileUploadImp } from '~/src/client/javascripts/file-upload.js' import { initAllGovuk as initAllGovukImp } from '~/src/client/javascripts/govuk.js' +import { initMaps as initMapsImp } from '~/src/client/javascripts/location-map.js' import { initPreviewCloseLink as initPreviewCloseLinkImp } from '~/src/client/javascripts/preview-close-link.js' export const initAllGovuk = initAllGovukImp export const initAllAutocomplete = initAllAutocompleteImp export const initFileUpload = initFileUploadImp export const initPreviewCloseLink = initPreviewCloseLinkImp +export const initMaps = initMapsImp +/** + * Initialise all clientside components (but not maps as this will be an opt-in for now given the additional UMD assets that are required) + */ export function initAll() { initAllGovuk() initAllAutocomplete() diff --git a/src/server/plugins/map/index.js b/src/server/plugins/map/index.js new file mode 100644 index 000000000..a6f148288 --- /dev/null +++ b/src/server/plugins/map/index.js @@ -0,0 +1,19 @@ +import { getRoutes } from '~/src/server/plugins/map/routes/index.js' + +/** + * @satisfies {NamedPlugin} + */ +export const mapPlugin = { + name: '@defra/forms-engine-plugin/map', + dependencies: ['@hapi/inert'], + multiple: false, + register(server, options) { + // @ts-expect-error - Request typing + server.route(getRoutes(options)) + } +} + +/** + * @import { NamedPlugin } from '@hapi/hapi' + * @import { MapConfiguration } from '~/src/server/plugins/map/types.js' + */ diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js new file mode 100644 index 000000000..f7cd2ee59 --- /dev/null +++ b/src/server/plugins/map/routes/index.js @@ -0,0 +1,157 @@ +import { resolve } from 'node:path' + +import { StatusCodes } from 'http-status-codes' +import Joi from 'joi' + +import { createLogger } from '~/src/server/common/helpers/logging/logger.js' +import { find, nearest } from '~/src/server/plugins/map/service.js' + +const logger = createLogger() + +/** + * Gets the map support routes + * @param {MapConfiguration} options - ordnance survey names api key + */ +export function getRoutes(options) { + return [ + mapProxyRoute(options), + geocodeProxyRoute(options), + reverseGeocodeProxyRoute(options), + ...tileRoutes() + ] +} + +/** + * @param {MapConfiguration} options - the map options + * @returns {ServerRoute} + */ +function mapProxyRoute(options) { + return { + method: 'GET', + path: '/api/map-proxy', + handler: async (request, h) => { + const { query } = request + + try { + const targetUrl = new URL(decodeURIComponent(query.url)) + + // Add API key server-side + targetUrl.searchParams.set('key', options.ordnanceSurveyApiKey) + if (!targetUrl.searchParams.has('srs')) { + targetUrl.searchParams.set('srs', '3857') + } + + const response = await fetch(targetUrl.toString()) + const buffer = await response.arrayBuffer() + const contentType = response.headers.get('content-type') + + return h + .response(Buffer.from(buffer)) + .type(contentType ?? 'text/json') + .code(response.status) + } catch (err) { + logger.error(err, 'Proxy error') + return h + .response('Proxy failed') + .code(StatusCodes.INTERNAL_SERVER_ERROR) + } + }, + options: { + validate: { + query: Joi.object() + .keys({ + url: Joi.string().required() + }) + .optional() + } + } + } +} + +/** + * @param {MapConfiguration} options - the map options + * @returns {ServerRoute} + */ +function geocodeProxyRoute(options) { + return { + method: 'GET', + path: '/api/geocode-proxy', + async handler(request, _h) { + const { query } = request + const data = await find(query.query, options.ordnanceSurveyApiKey) + + // Remove the URI field from the header + if (data.header.uri) { + data.header.uri = '/forms/api/geocode-proxy' + } + + return data + }, + options: { + validate: { + query: Joi.object() + .keys({ + query: Joi.string().required() + }) + .required() + } + } + } +} + +/** + * @param {MapConfiguration} options - the map options + * @returns {ServerRoute} + */ +function reverseGeocodeProxyRoute(options) { + return { + method: 'GET', + path: '/api/reverse-geocode-proxy', + async handler(request, _h) { + const { query } = request + const data = await nearest( + query.easting, + query.northing, + options.ordnanceSurveyApiKey + ) + + // Remove the URI field from the header + if (data.header.uri) { + data.header.uri = '/forms/api/reverse-geocode-proxy' + } + + return data + }, + options: { + validate: { + query: Joi.object() + .keys({ + easting: Joi.number().required(), + northing: Joi.number().required() + }) + .required() + } + } + } +} + +function tileRoutes() { + return [ + { + method: 'GET', + path: '/api/maps/vts/{path}', + options: { + handler: { + directory: { + path: resolve(import.meta.dirname, './vts') + } + } + } + } + ] +} + +/** + * @import { ServerRoute } from '@hapi/hapi' + * @import { MapConfiguration, MapProxyGetRequestRefs, MapGeocodeGetRequestRefs, MapReverseGeocodeGetRequestRefs } from '~/src/server/plugins/map/types.js' + */ diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json new file mode 100644 index 000000000..b89760cde --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json @@ -0,0 +1,7858 @@ +{ + "version": 8, + "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/greyscale", + "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "url": "https://api.os.uk/maps/vector/v1/vts" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(254,254,254)" + } + }, + { + "id": "Background", + "type": "fill", + "source": "esri", + "source-layer": "Background", + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [9, "rgb(220,220,220)"], + [11, "rgb(230,230,230)"], + [12, "rgb(240,240,240)"], + [14, "rgb(255,255,255)"] + ] + } + } + }, + { + "id": "European_land/2", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "minzoom": 8, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-outline-color": "rgb(0,0,0)" + } + }, + { + "id": "European_land/1", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "maxzoom": 8, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land/3", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "minzoom": 8, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land/2", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "minzoom": 7, + "maxzoom": 8, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land/1", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "minzoom": 5, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "maxzoom": 5, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/National_parks/2", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 8, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [8, "rgb(245,245,245)"], + [10, "rgb(255,255,255)"] + ] + }, + "fill-opacity": 0.5 + } + }, + { + "id": "OS/National_parks/1", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 7, + "maxzoom": 8, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [5, "rgb(230,230,230)"], + [8, "rgb(245,245,245)"] + ] + }, + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Urban_areas/National/2", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "minzoom": 7, + "maxzoom": 9, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)" + } + }, + { + "id": "OS/Urban_areas/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(235,235,235)" + } + }, + { + "id": "OS/Urban_areas/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "minzoom": 9, + "maxzoom": 12, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(235,235,235)" + } + }, + { + "id": "OS/Functional_sites/Air Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Education/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0 + } + }, + { + "id": "OS/Functional_sites/Medical Care/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Road Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Water Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": {}, + "paint": { + "fill-color": "rgb(245,245,245)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Greenspace:2/1", + "type": "fill", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(235,235,235)" + } + }, + { + "id": "OS/Greenspace:2/0", + "type": "line", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(226,226,226)", + "line-width": { + "stops": [ + [10, 0], + [11, 0], + [12, 0], + [13, 0], + [14, 0.1], + [15, 0.15], + [16, 0.25] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Unclassified", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 48], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 47], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Tidal Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 46], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 45], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Glasshouse", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 44], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 42], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 43], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 41], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Path", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 40], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Inland Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 39], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 38], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 37], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Road Or Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 36], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 34], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 35], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Foreshore", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 30], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/3" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/1" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/0" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 28], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Shingle", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 27], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 28], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Marsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Mud", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 26], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Sand", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 25], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 24], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Heath/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 23], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 24], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Heath/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 23], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Heath/0" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 22], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 22], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" + } + }, + { + "id": "OS/TopographicArea_1/Scree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 21], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Scree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 21], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scree/0" + } + }, + { + "id": "OS/TopographicArea_1/Rock/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 20], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rock/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 20], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rock/0" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Boulders/0" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/3" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/2" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/1" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/0" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 17], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 17], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 16], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Agricultural Land", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 16], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Orchard/0" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 14], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 14], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 13], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 13], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 12], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Footbridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 12], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" + } + }, + { + "id": "OS/TopographicArea_1/Canal", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Step", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Pylon", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Traffic Calming", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Level Crossing", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Multi Surface", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Cliff", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 32], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Cliff" + } + }, + { + "id": "OS/TopographicArea_1/Slope", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 31], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Slope" + } + }, + { + "id": "OS/Woodland:3/Local/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [12, "rgb(248,248,248)"], + [15, "rgb(250,250,250)"] + ] + }, + "fill-outline-color": { + "stops": [ + [12, "rgb(250,250,250)"], + [15, "rgb(230,230,230)"] + ] + } + } + }, + { + "id": "OS/Woodland:3/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "minzoom": 6, + "maxzoom": 10, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(245,245,245)" + } + }, + { + "id": "OS/Woodland:3/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "minzoom": 10, + "maxzoom": 12, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(245,245,245)" + } + }, + { + "id": "OS/District_buildings/2", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 11, + "maxzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [6, "rgb(220,220,220)"], + [12, "rgb(225,225,225)"] + ] + } + } + }, + { + "id": "OS/District_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 13, + "maxzoom": 14, + "layout": {}, + "paint": { + "fill-color": "rgb(230,230,230)" + } + }, + { + "id": "OS/Local_buildings/3", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 15, + "maxzoom": 16, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": { + "stops": [ + [15, "rgb(250,250,250)"], + [16, "rgb(255,255,255)"] + ] + }, + "fill-outline-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/Local_buildings/2.5", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 14, + "maxzoom": 15, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "rgb(245,245,245)", + "fill-outline-color": "rgb(180,180,180)" + } + }, + { + "id": "OS/Local_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 13, + "maxzoom": 14, + "layout": {}, + "paint": { + "fill-color": "rgb(230,230,230)" + } + }, + { + "id": "OS/Contours/Index", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": { + "stops": [ + [7, 0.1], + [8, 0.13], + [9, 0.2], + [10, 0.3], + [11, 0.4], + [12, 0.6], + [13, 0.8], + [14, 1], + [15, 1], + [16, 1.1] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Contours/Normal", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": { + "stops": [ + [12, 0.3], + [13, 0.4], + [14, 0.5], + [15, 0.5], + [16, 0.7] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Surfacewater/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "minzoom": 6, + "maxzoom": 8, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(220,220,220)" + } + }, + { + "id": "OS/Surfacewater/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "minzoom": 8, + "maxzoom": 12, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [9, "rgb(220,220,220)"], + [11, "rgb(230,230,230)"], + [12, "rgb(240,240,240)"] + ] + } + } + }, + { + "id": "OS/Surfacewater/Local", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [12, "rgb(240,240,240)"], + [14, "rgb(255,255,255)"] + ] + }, + "fill-outline-color": "rgba(0,0,0,0.5)" + } + }, + { + "id": "OS/Foreshore/1", + "type": "fill", + "source": "esri", + "source-layer": "Foreshore", + "minzoom": 8, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(252,252,252)" + } + }, + { + "id": "OS/Ornament/1", + "type": "fill", + "source": "esri", + "source-layer": "Ornament", + "minzoom": 14, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(150,150,150)", + "fill-opacity": 0.4 + } + }, + { + "id": "OS/TopographicLine/Property Closing Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [6, 6], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.5] + ] + } + } + }, + { + "id": "OS/TopographicArea_2/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicLine/Step", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 0.4], + [17, 0.4], + [18, 0.8], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean High Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 0.8], + [17, 0.9], + [18, 1.3], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Traffic Calming", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Standard Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.8], + [18, 1.2], + [19, 2.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean Low Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.6] + ] + } + } + }, + { + "id": "OS/TopographicLine/Path", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Overhead Construction", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Culvert", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Pylon", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 1], + [18, 1.8], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Ridge Or Rock Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 1.3], + [18, 2], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Narrow Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Railway Buffer", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 12], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Tunnel Edge", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 13], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2.5, 2.5], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Line Of Posts", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 14], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Drain", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 33], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicLine/Default Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 16], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [16, 0.3], + [18, 0.7], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Outline", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 17], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Edge Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Road Or Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Division", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 20], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Inland water Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 21], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/General Surface Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 22], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2, 2], + "line-width": 0.6 + } + }, + { + "id": "OS/TopographicLine/Building Overhead Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 23], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 24], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Historic Interest Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 25], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Manmade Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 26], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Unclassified", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 27], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.4], + [18, 1], + [19, 1.5] + ] + } + } + }, + { + "id": "OS/Waterlines/District", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_symbol", 0], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(207,207,207)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Local", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(200,200,200)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/MHW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/MHW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "maxzoom": 12, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/MLW-2", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5, + "line-opacity": 0.8 + } + }, + { + "id": "OS/Waterlines/MLW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5, + "line-opacity": 0.4 + } + }, + { + "id": "OS/Waterlines/MLW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 9, + "maxzoom": 10, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgba(144, 144, 144, 1)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/National", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(207,207,207)", + "line-width": 0.4 + } + }, + { + "id": "OS/Waterlines/Regional", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 8, + "maxzoom": 11, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(207,207,207)", + "line-width": 0.6 + } + }, + { + "id": "OS/Roads/Tunnels,", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": {}, + "paint": { + "line-color": "rgb(146,146,146)", + "line-dasharray": [4, 2.5], + "line-width": { + "stops": [ + [9, 0.7], + [12, 0.8], + [14, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 9, + "filter": ["==", "_symbol", 6], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(160,160,160)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/Motorway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10], + [16, 14] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 0], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/Primary,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 3], + [9, 3.5], + [10, 4], + [12, 5], + [13, 5], + [14, 6], + [15, 8.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(160,160,160)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/A Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.2], + [13, 5], + [14, 5.3], + [15, 7.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3], + [12, 3.5], + [13, 4.5], + [14, 5], + [15, 7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [9, 2], + [10, 2.5], + [12, 3], + [13, 4], + [14, 5], + [15, 6], + [16, 8] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 13], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [13, 3], + [14, 3], + [15, 5], + [16, 6.5] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 14, + "maxzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [13, 3], + [14, 3.5], + [15, 4], + [16, 5] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 17], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(197,197,197)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 13], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 14, + "maxzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 17], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgba(255, 255, 255, 1)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-join": "bevel" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10], + [16, 14] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/Primary,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 3], + [9, 3.5], + [10, 4], + [12, 5], + [13, 5], + [14, 6], + [15, 8.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(200,200,200)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/A Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.5], + [13, 5], + [14, 5.3], + [15, 7.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 7], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(200,200,200)", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/B Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3], + [12, 3.5], + [13, 4.5], + [14, 5], + [15, 7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [9, 2], + [10, 2.5], + [12, 3], + [13, 4], + [14, 5], + [15, 6], + [16, 8] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 14], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(205,205,205)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 16], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(205,205,205)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(197,197,197)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 14], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 16], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10], + [16, 14] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(149,149,149)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(147,147,147)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 8, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(176,176,176)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 12], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(197,197,197)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(176,176,176)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 12], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.1], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Railways/Multi Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [9, 0.5], + [10, 0.7], + [11, 0.7], + [12, 0.8], + [13, 1], + [14, 1], + [15, 1.5], + [16, 1.3] + ] + } + } + }, + { + "id": "OS/Railways/Narrow Gauge", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.4], + [15, 0.5], + [16, 0.5] + ] + } + } + }, + { + "id": "OS/Railways/Single Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [10, 0.5], + [11, 0.5], + [12, 0.7], + [13, 0.8], + [14, 0.8], + [15, 0.8], + [16, 1] + ] + } + } + }, + { + "id": "OS/Railways/Tunnel", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "line-color": "rgb(146,146,146)", + "line-dasharray": [4, 2], + "line-width": { + "stops": [ + [10, 1], + [11, 1], + [12, 1], + [13, 1], + [14, 1], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/ETL", + "type": "line", + "source": "esri", + "source-layer": "ETL", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [3, 2], + "line-width": { + "stops": [ + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "line-opacity": 0.5 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_symbol", 1], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "icon-size": { + "stops": [ + [12, 0.7], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "icon-image": "OS/Railway_stations/London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "icon-image": "OS/Railway_stations/Railway Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.8], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_symbol", 5], + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Airports", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 8, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Airports", + "icon-size": { + "stops": [ + [9, 0.85], + [10, 0.85], + [11, 0.85], + [12, 0.85], + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicPoint/Spot Height", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "icon-image": "OS/TopographicPoint/Spot Height", + "icon-size": { + "stops": [ + [17, 0.6], + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(119,119,119)" + } + }, + { + "id": "OS/TopographicPoint/Site Of Heritage", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 1], + "layout": { + "icon-image": "OS/TopographicPoint/Site Of Heritage", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 2], + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(81,81,81)" + } + }, + { + "id": "OS/TopographicPoint/Inland Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 3], + "layout": { + "icon-image": "OS/TopographicPoint/Inland Water", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Roadside", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 4], + "layout": { + "icon-image": "OS/TopographicPoint/Roadside", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/TopographicPoint/Overhead Construction", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 5], + "layout": { + "icon-image": "OS/TopographicPoint/Overhead Construction", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/TopographicPoint/Rail", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 6], + "layout": { + "icon-image": "OS/TopographicPoint/Rail", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Coniferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 7], + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(81,81,81)" + } + }, + { + "id": "OS/TopographicPoint/Triangulation Point Or Pillar", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 8], + "layout": { + "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", + "icon-size": { + "stops": [ + [18, 1.25], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/TopographicPoint/Historic Interest", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 9], + "layout": { + "icon-image": "OS/TopographicPoint/Historic Interest", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Landform", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 10], + "layout": { + "icon-image": "OS/TopographicPoint/Landform", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgba(240,240,240,0)" + } + }, + { + "id": "OS/TopographicPoint/Tidal Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 11], + "layout": { + "icon-image": "OS/TopographicPoint/Tidal Water", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Structure", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 12], + "layout": { + "icon-image": "OS/TopographicPoint/Structure", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/CartographicSymbol/Culvert Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "minzoom": 17, + "filter": ["==", "_symbol", 0], + "layout": { + "icon-image": "OS/CartographicSymbol/Culvert Symbol", + "icon-size": { + "stops": [ + [18, 1.6], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/CartographicSymbol/Bench Mark Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "minzoom": 17, + "filter": ["==", "_symbol", 2], + "layout": { + "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/CartographicSymbol/Road Related Flow Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "minzoom": 17, + "filter": ["==", "_symbol", 3], + "layout": { + "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", + "icon-size": { + "stops": [ + [18, 1.1], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/Names/National/Capital:1", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Capital:1", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)" + } + }, + { + "id": "OS/Names/National/Country", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Country", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class79", 79], + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "center", + "text-offset": [0.107527, 0], + "text-rotate": ["get", "_label_angle79"], + "text-letter-spacing": 0.05, + "text-field": "{_name79}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class64", 64], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-letter-spacing": 0.05, + "text-field": "{_name64}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class74", 74], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle74"], + "text-letter-spacing": 0.05, + "text-field": "{_name74}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class97", 97], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle97"], + "text-letter-spacing": 0.05, + "text-field": "{_name97}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class87", 87], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle87"], + "text-letter-spacing": 0.05, + "text-field": "{_name87}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class72", 72], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle72"], + "text-letter-spacing": 0.05, + "text-field": "{_name72}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class73", 73], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle73"], + "text-letter-spacing": 0.05, + "text-field": "{_name73}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class61", 61], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-letter-spacing": 0.05, + "text-field": "{_name61}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class99", 99], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle99"], + "text-letter-spacing": 0.05, + "text-field": "{_name99}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class96", 96], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle96"], + "text-letter-spacing": 0.05, + "text-field": "{_name96}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class95", 95], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle95"], + "text-letter-spacing": 0.05, + "text-field": "{_name95}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class89", 89], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle89"], + "text-letter-spacing": 0.05, + "text-field": "{_name89}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class86", 86], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle86"], + "text-letter-spacing": 0.05, + "text-field": "{_name86}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class85", 85], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle85"], + "text-letter-spacing": 0.05, + "text-field": "{_name85}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class76", 76], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle76"], + "text-letter-spacing": 0.05, + "text-field": "{_name76}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class66", 66], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-letter-spacing": 0.05, + "text-field": "{_name66}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class53", 53], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0952381, 0], + "text-rotate": ["get", "_label_angle53"], + "text-letter-spacing": 0.05, + "text-field": "{_name53}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class54", 54], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle54"], + "text-letter-spacing": 0.05, + "text-field": "{_name54}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class100", 100], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle100"], + "text-letter-spacing": 0.05, + "text-field": "{_name100}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class90", 90], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle90"], + "text-letter-spacing": 0.05, + "text-field": "{_name90}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class77", 77], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle77"], + "text-letter-spacing": 0.05, + "text-field": "{_name77}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class67", 67], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-letter-spacing": 0.05, + "text-field": "{_name67}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class55", 55], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle55"], + "text-letter-spacing": 0.05, + "text-field": "{_name55}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class78", 78], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle78"], + "text-letter-spacing": 0.05, + "text-field": "{_name78}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class68", 68], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-letter-spacing": 0.05, + "text-field": "{_name68}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class56", 56], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle56"], + "text-letter-spacing": 0.05, + "text-field": "{_name56}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class101", 101], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle101"], + "text-letter-spacing": 0.05, + "text-field": "{_name101}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class91", 91], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle91"], + "text-letter-spacing": 0.05, + "text-field": "{_name91}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class69", 69], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle69"], + "text-letter-spacing": 0.05, + "text-field": "{_name69}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class57", 57], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle57"], + "text-letter-spacing": 0.05, + "text-field": "{_name57}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class92", 92], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle92"], + "text-letter-spacing": 0.05, + "text-field": "{_name92}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-width": 1, + "text-halo-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class82", 82], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle82"], + "text-letter-spacing": 0.05, + "text-field": "{_name82}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class60", 60], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name60}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class58", 58], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle58"], + "text-letter-spacing": 0.05, + "text-field": "{_name58}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class75", 75], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle75"], + "text-letter-spacing": 0.05, + "text-field": "{_name75}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class98", 98], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle98"], + "text-letter-spacing": 0.05, + "text-field": "{_name98}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class88", 88], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle88"], + "text-letter-spacing": 0.05, + "text-field": "{_name88}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class59", 59], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle59"], + "text-letter-spacing": 0.05, + "text-field": "{_name59}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class65", 65], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-letter-spacing": 0.05, + "text-field": "{_name65}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class52", 52], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle52"]], + "text-letter-spacing": 0.05, + "text-field": "{_name52}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class50", 50], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle50"], + "text-letter-spacing": 0.05, + "text-field": "{_name50}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class40", 40], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle40"], + "text-letter-spacing": 0.05, + "text-field": "{_name40}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class43", 43], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle43"], + "text-letter-spacing": 0.05, + "text-field": "{_name43}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class44", 44], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle44"], + "text-letter-spacing": 0.05, + "text-field": "{_name44}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class45", 45], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle45"], + "text-letter-spacing": 0.05, + "text-field": "{_name45}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class46", 46], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle46"], + "text-letter-spacing": 0.05, + "text-field": "{_name46}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class47", 47], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle47"], + "text-letter-spacing": 0.05, + "text-field": "{_name47}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class48", 48], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle48"], + "text-letter-spacing": 0.05, + "text-field": "{_name48}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW(1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class49", 49], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle49"], + "text-letter-spacing": 0.05, + "text-field": "{_name49}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class51", 51], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle51"], + "text-letter-spacing": 0.05, + "text-field": "{_name51}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class42", 42], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle42"]], + "text-letter-spacing": 0.05, + "text-field": "{_name42}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class80", 80], + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle80"], + "text-letter-spacing": 0.05, + "text-field": "{_name80}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class94", 94], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle94"]], + "text-letter-spacing": 0.05, + "text-field": "{_name94}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class84", 84], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle84"]], + "text-letter-spacing": 0.05, + "text-field": "{_name84}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class93", 93], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle93"], + "text-letter-spacing": 0.05, + "text-field": "{_name93}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class83", 83], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle83"], + "text-letter-spacing": 0.05, + "text-field": "{_name83}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class71", 71], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle71"]], + "text-letter-spacing": 0.05, + "text-field": "{_name71}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class63", 63], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-letter-spacing": 0.05, + "text-field": "{_name63}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class62", 62], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-letter-spacing": 0.05, + "text-field": "{_name62}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class41", 41], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle41"], + "text-letter-spacing": 0.05, + "text-field": "{_name41}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class70", 70], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle70"], + "text-letter-spacing": 0.05, + "text-field": "{_name70}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class81", 81], + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle81"]], + "text-letter-spacing": 0.05, + "text-field": "{_name81}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class32", 32], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle32"]], + "text-letter-spacing": 0.05, + "text-field": "{_name32}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class39", 39], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle39"], + "text-letter-spacing": 0.05, + "text-field": "{_name39}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class38", 38], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle38"], + "text-letter-spacing": 0.05, + "text-field": "{_name38}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class37", 37], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle37"], + "text-letter-spacing": 0.05, + "text-field": "{_name37}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class36", 36], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle36"], + "text-letter-spacing": 0.05, + "text-field": "{_name36}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class35", 35], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle35"], + "text-letter-spacing": 0.05, + "text-field": "{_name35}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class34", 34], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle34"], + "text-letter-spacing": 0.05, + "text-field": "{_name34}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class33", 33], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle33"], + "text-letter-spacing": 0.05, + "text-field": "{_name33}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class30", 30], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle30"], + "text-letter-spacing": 0.05, + "text-field": "{_name30}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class31", 31], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle31"], + "text-letter-spacing": 0.05, + "text-field": "{_name31}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class20", 20], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle20"], + "text-letter-spacing": 0.05, + "text-field": "{_name20}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class21", 21], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle21"], + "text-letter-spacing": 0.05, + "text-field": "{_name21}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class22", 22], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle22"]], + "text-letter-spacing": 0.05, + "text-field": "{_name22}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class23", 23], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle23"], + "text-letter-spacing": 0.05, + "text-field": "{_name23}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class24", 24], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle24"], + "text-letter-spacing": 0.05, + "text-field": "{_name24}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class25", 25], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle25"], + "text-letter-spacing": 0.05, + "text-field": "{_name25}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class26", 26], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle26"], + "text-letter-spacing": 0.05, + "text-field": "{_name26}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class27", 27], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle27"], + "text-letter-spacing": 0.05, + "text-field": "{_name27}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class28", 28], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle28"], + "text-letter-spacing": 0.05, + "text-field": "{_name28}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class29", 29], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle29"], + "text-letter-spacing": 0.05, + "text-field": "{_name29}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class12", 12], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle12"]], + "text-letter-spacing": 0.05, + "text-field": "{_name12}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class2", 2], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle2"]], + "text-letter-spacing": 0.05, + "text-field": "{_name2}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class11", 11], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle11"], + "text-letter-spacing": 0.05, + "text-field": "{_name11}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle1"], + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class10", 10], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle10"], + "text-letter-spacing": 0.05, + "text-field": "{_name10}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle"], + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/General - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class17", 17], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle17"], + "text-letter-spacing": 0.05, + "text-field": "{_name17}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class7", 7], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle7"], + "text-letter-spacing": 0.05, + "text-field": "{_name7}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class19", 19], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle19"], + "text-letter-spacing": 0.05, + "text-field": "{_name19}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class9", 9], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle9"], + "text-letter-spacing": 0.05, + "text-field": "{_name9}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class18", 18], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle18"], + "text-letter-spacing": 0.05, + "text-field": "{_name18}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class8", 8], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle8"], + "text-letter-spacing": 0.05, + "text-field": "{_name8}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class16", 16], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle16"], + "text-letter-spacing": 0.05, + "text-field": "{_name16}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class6", 6], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle6"], + "text-letter-spacing": 0.05, + "text-field": "{_name6}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class15", 15], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle15"], + "text-letter-spacing": 0.05, + "text-field": "{_name15}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class5", 5], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle5"], + "text-letter-spacing": 0.05, + "text-field": "{_name5}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class14", 14], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle14"], + "text-letter-spacing": 0.05, + "text-field": "{_name14}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-width": 2, + "text-halo-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class4", 4], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle4"], + "text-letter-spacing": 0.05, + "text-field": "{_name4}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class13", 13], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle13"], + "text-letter-spacing": 0.05, + "text-field": "{_name13}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class3", 3], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle3"], + "text-letter-spacing": 0.05, + "text-field": "{_name3}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/Roads/label/Local Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 14], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/Local Road 22400-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 13, + "filter": ["==", "_label_class", 15], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_label_class", 12], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/Minor Road 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 13, + "filter": ["==", "_label_class", 13], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Greenspace:1", + "type": "symbol", + "source": "esri", + "source-layer": "Greenspace:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Greenspace:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(0,0,0,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Sites", + "type": "symbol", + "source": "esri", + "source-layer": "Sites", + "minzoom": 14, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Sites", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landform:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landform:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landform:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landform:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landcover:3", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landcover:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landcover:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landcover:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Water:2", + "type": "symbol", + "source": "esri", + "source-layer": "Water:2", + "minzoom": 12, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Water:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(80,80,80)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Water:1", + "type": "symbol", + "source": "esri", + "source-layer": "Water:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Water:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(30,30,30)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Woodland:2", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:2", + "minzoom": 12, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Woodland:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(50,50,50)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Woodland:1", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Woodland:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgb(53,53,53)", + "text-color": "rgb(53,53,53)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road 2800-11200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 14, + "maxzoom": 16, + "filter": ["==", "_label_class", 7], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(254,254,254)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 11200-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 14, + "filter": ["==", "_label_class", 8], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(254,254,254)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 22400-358400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class", 9], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(254,254,254)", + "text-halo-width": 1.6 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 10], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 14, + "filter": ["==", "_label_class", 11], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.0333333], + "stops": [ + [0, [0, 0.631292]], + [1, [0, 0.359493]], + [2, [0, 0.609832]], + [3, [0, 0.629975]], + [4, [0, 0.625794]], + [5, [0, 0.410354]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(249,249,249)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.1], + "stops": [ + [0, [0, 0.638163]], + [1, [0, 0.393543]], + [2, [0, 0.618849]], + [3, [0, 0.636977]], + [4, [0, 0.633215]], + [5, [0, 0.439319]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(249,249,249)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Small Settlement", + "type": "symbol", + "source": "esri", + "source-layer": "Small Settlement", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Small Settlement", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": { + "stops": [ + [10, 11], + [15, 12] + ] + }, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Hamlet (Local)", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet (Local)", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Hamlet (Local)", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Hamlet:2", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Hamlet:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Hamlet:1", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:1", + "minzoom": 11, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Hamlet:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Suburban Area:3", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:3", + "minzoom": 12, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Suburban Area:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Suburban Area:2", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:2", + "minzoom": 10, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Suburban Area:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "visibility": "none" + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Suburban Area:1", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:1", + "minzoom": 10, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/Regional/Suburban Area:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Landcover:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:1", + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Regional/Landcover:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 0.7 + } + }, + { + "id": "OS/Roads/label/Primary 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 3], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class", 4], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 179200-716800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 8, + "maxzoom": 10, + "filter": ["==", "_label_class", 5], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary Name 2800-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_label_class", 6], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Village:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Regional/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Village:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Roads/label/Motorway 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 0], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class", 1], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgba(255, 255, 255, 1)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 179200-2867200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 6, + "maxzoom": 10, + "filter": ["==", "_label_class", 2], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgba(255, 255, 255, 1)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "top", + "text-offset": [0, 0.582306], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-offset": [0, 0.688753], + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/National Park:3", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/National Park:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Local/Motorway Junctions", + "type": "symbol", + "source": "esri", + "source-layer": "Motorway Junctions", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Motorway Junctions", + "icon-allow-overlap": true, + "text-font": ["Arial Bold"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(35,35,35,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Local/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": { + "stops": [ + [10, 10], + [12, 13] + ] + }, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "visibility": "visible" + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Local/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 12, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "visibility": "visible" + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Local/Town:4", + "type": "symbol", + "source": "esri", + "source-layer": "Town:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Town:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Town:1", + "type": "symbol", + "source": "esri", + "source-layer": "Town:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Town:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.7, + "icon-halo-width": 2, + "icon-halo-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "OS/Names/Regional/Town:2", + "type": "symbol", + "source": "esri", + "source-layer": "Town:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Town:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Town:3", + "type": "symbol", + "source": "esri", + "source-layer": "Town:3", + "minzoom": 8, + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Town:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": { + "stops": [ + [8, 11], + [9, 12] + ] + }, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/National Park:2", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/National Park:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/National Park:1", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:1", + "minzoom": 7, + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/National Park:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/City:3", + "type": "symbol", + "source": "esri", + "source-layer": "City:3", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Local/City:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/City:4", + "type": "symbol", + "source": "esri", + "source-layer": "City:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/District/City:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 19, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Regional/City:1", + "type": "symbol", + "source": "esri", + "source-layer": "City:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/Regional/City:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro regular"], + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-size": 18 + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/City:2", + "type": "symbol", + "source": "esri", + "source-layer": "City:2", + "minzoom": 5, + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/City:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Capital:3", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Capital:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 24, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/Capital:4", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Capital:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 20, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Regional/Capital:2", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Capital:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "minzoom": 5, + "maxzoom": 9, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "icon-allow-overlap": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Country/label/Country National", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "minzoom": 5, + "maxzoom": 9, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 21, + "text-anchor": "center", + "text-letter-spacing": 0.75, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "icon-allow-overlap": true + }, + "paint": { + "text-color": "rgba(43,43,43,0.5)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 5, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.270711, 0.0292893], + "text-field": "{_name1}", + "text-optional": true, + "icon-allow-overlap": true + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/Names/National/Country/label/Country National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 5, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-letter-spacing": 0.5, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(0,0,0,0.5)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + } + ] +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json new file mode 100644 index 000000000..f2ae17e08 --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json @@ -0,0 +1,7669 @@ +{ + "version": 8, + "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/dark", + "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "url": "https://api.os.uk/maps/vector/v1/vts" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(1,1,1)" + } + }, + { + "id": "Background", + "type": "fill", + "source": "esri", + "source-layer": "Background", + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "European_land/1", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(6,6,6)" + } + }, + { + "id": "OS/GB_land/1", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/National_parks/1", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 5, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Urban_areas/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": {}, + "paint": { + "fill-color": "rgba(41,41,41,0.3)" + } + }, + { + "id": "OS/Urban_areas/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(41,41,41,0.7)" + } + }, + { + "id": "OS/Functional_sites/Air Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(26,26,26)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Education/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(21,21,21)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Medical Care/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(33,33,33)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Road Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(15,15,15)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Water Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 4], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(28,28,28)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Greenspace:2/1", + "type": "fill", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(20,20,20)" + } + }, + { + "id": "OS/Greenspace:2/0", + "type": "line", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(29,29,29)", + "line-width": { + "stops": [ + [10, 0], + [11, 0], + [12, 0], + [13, 0], + [14, 0.1], + [15, 0.15], + [16, 0.25] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Unclassified", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 48], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(9,9,9)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 47], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(14,14,14)" + } + }, + { + "id": "OS/TopographicArea_1/Tidal Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 46], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 45], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(20,20,20)" + } + }, + { + "id": "OS/TopographicArea_1/Glasshouse", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 44], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(8,8,8)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 42], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(30,30,30)" + } + }, + { + "id": "OS/TopographicArea_1/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 43], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(48,48,48)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 41], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(52,52,52)" + } + }, + { + "id": "OS/TopographicArea_1/Path", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 40], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicArea_1/Inland Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 39], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 38], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(14,14,14)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 37], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(29,29,29)" + } + }, + { + "id": "OS/TopographicArea_1/Road Or Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 36], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 34], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(20,20,20)" + } + }, + { + "id": "OS/TopographicArea_1/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 35], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(14,14,14)" + } + }, + { + "id": "OS/TopographicArea_1/Foreshore", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 30], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(23,23,23)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/3" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/1" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/0" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(16,16,16)" + } + }, + { + "id": "OS/TopographicArea_1/Shingle", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Marsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Mud", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(27,27,27)" + } + }, + { + "id": "OS/TopographicArea_1/Sand", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(17,17,17)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(16,16,16)" + } + }, + { + "id": "OS/TopographicArea_1/Heath/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Heath/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Heath/0" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" + } + }, + { + "id": "OS/TopographicArea_1/Scree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Scree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scree/0" + } + }, + { + "id": "OS/TopographicArea_1/Rock/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Rock/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rock/0" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Boulders/0" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/3" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/2" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/1" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/0" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Agricultural Land", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Orchard/0" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Footbridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(43,43,43)" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" + } + }, + { + "id": "OS/TopographicArea_1/Canal", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Step", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicArea_1/Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicArea_1/Pylon", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(24,24,24)" + } + }, + { + "id": "OS/TopographicArea_1/Traffic Calming", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 6], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Level Crossing", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(45,45,45)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(76,76,76)" + } + }, + { + "id": "OS/TopographicArea_1/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicArea_1/Multi Surface", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(18,18,18)" + } + }, + { + "id": "OS/TopographicArea_1/Cliff", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 32], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Cliff" + } + }, + { + "id": "OS/TopographicArea_1/Slope", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 31], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Slope" + } + }, + { + "id": "OS/Woodland:3/Local/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 0], + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/Woodland:3/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(32,32,32,0.6)" + } + }, + { + "id": "OS/Woodland:3/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 2], + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/District_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/Local_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/Contours/Index", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(136,136,136)", + "line-width": { + "stops": [ + [7, 0.1], + [8, 0.13], + [9, 0.4], + [10, 0.4], + [11, 0.53], + [12, 0.67], + [13, 0.8], + [14, 1], + [15, 1], + [16, 1.1] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Contours/Normal", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(136,136,136)", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.5], + [15, 0.5], + [16, 0.7] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Surfacewater/Local", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)", + "fill-outline-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/Surfacewater/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 1], + "minzoom": 6, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/Surfacewater/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/Foreshore/1", + "type": "fill", + "source": "esri", + "source-layer": "Foreshore", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(23,23,23)" + } + }, + { + "id": "OS/Ornament/1", + "type": "fill", + "source": "esri", + "source-layer": "Ornament", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(69,69,69)", + "fill-opacity": 0.6 + } + }, + { + "id": "OS/TopographicArea_2/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 5], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 4], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicArea_2/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 3], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 2], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 1], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 0], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicLine/Property Closing Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [6, 6], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Step", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(78,78,78)", + "line-width": { + "stops": [ + [6, 0.4], + [17, 0.4], + [18, 0.8], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean High Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [6, 0.8], + [17, 0.9], + [18, 1.3], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Traffic Calming", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(64,64,64)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Standard Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [17, 0.8], + [18, 1.2], + [19, 2.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean Low Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.6] + ] + } + } + }, + { + "id": "OS/TopographicLine/Path", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(134,134,134)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Overhead Construction", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(78,78,78)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Culvert", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Pylon", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [17, 1], + [18, 1.8], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Ridge Or Rock Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(66,66,66)", + "line-width": { + "stops": [ + [17, 1.3], + [18, 2], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Narrow Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Railway Buffer", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 12], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Tunnel Edge", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 13], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-dasharray": [2.5, 2.5], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Line Of Posts", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 14], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(115,115,115)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Drain", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Default Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(134,134,134)", + "line-width": { + "stops": [ + [16, 0.4], + [18, 0.7], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 33], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicLine/Building Outline", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(76,76,76)", + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Edge Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 18], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Road Or Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(129,129,129)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Division", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(76,76,76)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Inland water Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/General Surface Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [2, 2], + "line-width": 0.6 + } + }, + { + "id": "OS/TopographicLine/Building Overhead Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 23], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(134,134,134)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 24], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(66,66,66)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Historic Interest Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Manmade Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(66,66,66)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Unclassified", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(76,76,76)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2] + ] + } + } + }, + { + "id": "OS/Waterlines/District", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.9 + } + }, + { + "id": "OS/Waterlines/Local", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Local_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/MHW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1.6 + } + }, + { + "id": "OS/Waterlines/MHW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 8, + "maxzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1.3 + } + }, + { + "id": "OS/Waterlines/MLW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.8 + } + }, + { + "id": "OS/Waterlines/MLW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/National", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 6, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.4 + } + }, + { + "id": "OS/Waterlines/Regional", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 7, + "maxzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Regional_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 6, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.5 + } + }, + { + "id": "OS/Roads/Tunnels,", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 19], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "rgb(109,109,109)", + "line-dasharray": [4, 2.5], + "line-width": { + "stops": [ + [9, 0.7], + [12, 0.8], + [14, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/Motorway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(108,108,108)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(100,100,100)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(108,108,108)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(100,100,100)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/B Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(100,100,100)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(108,108,108)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.1], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Railways/Multi Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [10, 1.4], + [11, 1.4], + [12, 1.4], + [13, 1.5], + [14, 1.5], + [15, 2], + [16, 1.3] + ] + } + } + }, + { + "id": "OS/Railways/Narrow Gauge", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.4], + [15, 0.5], + [16, 0.5] + ] + } + } + }, + { + "id": "OS/Railways/Single Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [10, 1.2], + [11, 1.2], + [12, 1.2], + [13, 1.2], + [14, 1.2], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Railways/Tunnel", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "rgb(109,109,109)", + "line-dasharray": [4, 2], + "line-width": { + "stops": [ + [10, 1], + [11, 1], + [12, 1], + [13, 1], + [14, 1], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/ETL", + "type": "line", + "source": "esri", + "source-layer": "ETL", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [6, 3], + "line-width": { + "stops": [ + [13, 1.3], + [14, 1.3], + [15, 2.2], + [16, 1.7] + ] + }, + "line-opacity": 0.5 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 2], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "icon-size": { + "stops": [ + [12, 0.7], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 3], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 4], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.8], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Airports", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 8, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Airports", + "icon-size": { + "stops": [ + [9, 0.85], + [10, 0.85], + [11, 0.85], + [12, 0.85], + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgb(219,219,219)", + "icon-opacity": 0.8 + } + }, + { + "id": "OS/TopographicPoint/Spot Height", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "icon-image": "OS/TopographicPoint/Spot Height", + "icon-size": { + "stops": [ + [17, 0.6], + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/TopographicPoint/Site Of Heritage", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 1], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Site Of Heritage", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/TopographicPoint/Inland Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Inland Water", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Roadside", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 4], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Roadside", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/TopographicPoint/Overhead Construction", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 5], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Overhead Construction", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/TopographicPoint/Rail", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 6], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Rail", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Coniferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 7], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/TopographicPoint/Triangulation Point Or Pillar", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 8], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", + "icon-size": { + "stops": [ + [18, 1.25], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/TopographicPoint/Historic Interest", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 9], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Historic Interest", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Landform", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 10], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Landform", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgba(15,15,15,0)" + } + }, + { + "id": "OS/TopographicPoint/Tidal Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 11], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Tidal Water", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Structure", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 12], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Structure", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicSymbol/Culvert Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 0], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Culvert Symbol", + "icon-size": { + "stops": [ + [18, 1.6], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicSymbol/Bench Mark Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicSymbol/Road Related Flow Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", + "icon-size": { + "stops": [ + [18, 1.1], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/Names/National/Capital:1", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Capital:1", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)" + } + }, + { + "id": "OS/Names/National/Country", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Country", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class79", 79], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "center", + "text-offset": [0.107527, 0], + "text-rotate": ["get", "_label_angle79"], + "text-letter-spacing": 0.05, + "text-field": "{_name79}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class64", 64], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-letter-spacing": 0.05, + "text-field": "{_name64}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class74", 74], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle74"], + "text-letter-spacing": 0.05, + "text-field": "{_name74}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class97", 97], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle97"], + "text-letter-spacing": 0.05, + "text-field": "{_name97}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class87", 87], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle87"], + "text-letter-spacing": 0.05, + "text-field": "{_name87}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class72", 72], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle72"], + "text-letter-spacing": 0.05, + "text-field": "{_name72}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class73", 73], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle73"], + "text-letter-spacing": 0.05, + "text-field": "{_name73}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class61", 61], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-letter-spacing": 0.05, + "text-field": "{_name61}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class99", 99], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle99"], + "text-letter-spacing": 0.05, + "text-field": "{_name99}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class96", 96], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle96"], + "text-letter-spacing": 0.05, + "text-field": "{_name96}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class95", 95], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle95"], + "text-letter-spacing": 0.05, + "text-field": "{_name95}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class89", 89], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle89"], + "text-letter-spacing": 0.05, + "text-field": "{_name89}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class86", 86], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle86"], + "text-letter-spacing": 0.05, + "text-field": "{_name86}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class85", 85], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle85"], + "text-letter-spacing": 0.05, + "text-field": "{_name85}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class76", 76], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle76"], + "text-letter-spacing": 0.05, + "text-field": "{_name76}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class66", 66], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-letter-spacing": 0.05, + "text-field": "{_name66}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class53", 53], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0952381, 0], + "text-rotate": ["get", "_label_angle53"], + "text-letter-spacing": 0.05, + "text-field": "{_name53}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class54", 54], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle54"], + "text-letter-spacing": 0.05, + "text-field": "{_name54}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class100", 100], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle100"], + "text-letter-spacing": 0.05, + "text-field": "{_name100}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class90", 90], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle90"], + "text-letter-spacing": 0.05, + "text-field": "{_name90}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class77", 77], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle77"], + "text-letter-spacing": 0.05, + "text-field": "{_name77}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class67", 67], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-letter-spacing": 0.05, + "text-field": "{_name67}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class55", 55], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle55"], + "text-letter-spacing": 0.05, + "text-field": "{_name55}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class78", 78], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle78"], + "text-letter-spacing": 0.05, + "text-field": "{_name78}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class68", 68], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-letter-spacing": 0.05, + "text-field": "{_name68}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class56", 56], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle56"], + "text-letter-spacing": 0.05, + "text-field": "{_name56}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class101", 101], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle101"], + "text-letter-spacing": 0.05, + "text-field": "{_name101}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class91", 91], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle91"], + "text-letter-spacing": 0.05, + "text-field": "{_name91}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class69", 69], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle69"], + "text-letter-spacing": 0.05, + "text-field": "{_name69}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class57", 57], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle57"], + "text-letter-spacing": 0.05, + "text-field": "{_name57}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class92", 92], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle92"], + "text-letter-spacing": 0.05, + "text-field": "{_name92}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class82", 82], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle82"], + "text-letter-spacing": 0.05, + "text-field": "{_name82}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Height - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class60", 60], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name60}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class58", 58], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle58"], + "text-letter-spacing": 0.05, + "text-field": "{_name58}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class75", 75], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle75"], + "text-letter-spacing": 0.05, + "text-field": "{_name75}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class98", 98], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle98"], + "text-letter-spacing": 0.05, + "text-field": "{_name98}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class88", 88], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle88"], + "text-letter-spacing": 0.05, + "text-field": "{_name88}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class59", 59], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle59"], + "text-letter-spacing": 0.05, + "text-field": "{_name59}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Height - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class65", 65], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-letter-spacing": 0.05, + "text-field": "{_name65}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class52", 52], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle52"]], + "text-letter-spacing": 0.05, + "text-field": "{_name52}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class50", 50], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle50"], + "text-letter-spacing": 0.05, + "text-field": "{_name50}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class40", 40], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle40"], + "text-letter-spacing": 0.05, + "text-field": "{_name40}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class43", 43], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle43"], + "text-letter-spacing": 0.05, + "text-field": "{_name43}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class44", 44], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle44"], + "text-letter-spacing": 0.05, + "text-field": "{_name44}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class45", 45], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle45"], + "text-letter-spacing": 0.05, + "text-field": "{_name45}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class46", 46], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle46"], + "text-letter-spacing": 0.05, + "text-field": "{_name46}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class47", 47], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle47"], + "text-letter-spacing": 0.05, + "text-field": "{_name47}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class48", 48], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle48"], + "text-letter-spacing": 0.05, + "text-field": "{_name48}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW(1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class49", 49], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle49"], + "text-letter-spacing": 0.05, + "text-field": "{_name49}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class51", 51], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle51"], + "text-letter-spacing": 0.05, + "text-field": "{_name51}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class42", 42], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle42"]], + "text-letter-spacing": 0.05, + "text-field": "{_name42}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class80", 80], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle80"], + "text-letter-spacing": 0.05, + "text-field": "{_name80}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class94", 94], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle94"]], + "text-letter-spacing": 0.05, + "text-field": "{_name94}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class84", 84], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle84"]], + "text-letter-spacing": 0.05, + "text-field": "{_name84}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class93", 93], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle93"], + "text-letter-spacing": 0.05, + "text-field": "{_name93}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class83", 83], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle83"], + "text-letter-spacing": 0.05, + "text-field": "{_name83}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class71", 71], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle71"]], + "text-letter-spacing": 0.05, + "text-field": "{_name71}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class63", 63], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-letter-spacing": 0.05, + "text-field": "{_name63}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Height - East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class62", 62], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-letter-spacing": 0.05, + "text-field": "{_name62}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class41", 41], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle41"], + "text-letter-spacing": 0.05, + "text-field": "{_name41}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class70", 70], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle70"], + "text-letter-spacing": 0.05, + "text-field": "{_name70}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class81", 81], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle81"]], + "text-letter-spacing": 0.05, + "text-field": "{_name81}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class32", 32], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle32"]], + "text-letter-spacing": 0.05, + "text-field": "{_name32}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class39", 39], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle39"], + "text-letter-spacing": 0.05, + "text-field": "{_name39}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class38", 38], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle38"], + "text-letter-spacing": 0.05, + "text-field": "{_name38}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class37", 37], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle37"], + "text-letter-spacing": 0.05, + "text-field": "{_name37}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class36", 36], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle36"], + "text-letter-spacing": 0.05, + "text-field": "{_name36}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class35", 35], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle35"], + "text-letter-spacing": 0.05, + "text-field": "{_name35}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class34", 34], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle34"], + "text-letter-spacing": 0.05, + "text-field": "{_name34}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class33", 33], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle33"], + "text-letter-spacing": 0.05, + "text-field": "{_name33}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class30", 30], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle30"], + "text-letter-spacing": 0.05, + "text-field": "{_name30}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class31", 31], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle31"], + "text-letter-spacing": 0.05, + "text-field": "{_name31}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class20", 20], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle20"], + "text-letter-spacing": 0.05, + "text-field": "{_name20}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class21", 21], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle21"], + "text-letter-spacing": 0.05, + "text-field": "{_name21}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class22", 22], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle22"]], + "text-letter-spacing": 0.05, + "text-field": "{_name22}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class23", 23], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle23"], + "text-letter-spacing": 0.05, + "text-field": "{_name23}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class24", 24], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle24"], + "text-letter-spacing": 0.05, + "text-field": "{_name24}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class25", 25], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle25"], + "text-letter-spacing": 0.05, + "text-field": "{_name25}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class26", 26], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle26"], + "text-letter-spacing": 0.05, + "text-field": "{_name26}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class27", 27], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle27"], + "text-letter-spacing": 0.05, + "text-field": "{_name27}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class28", 28], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle28"], + "text-letter-spacing": 0.05, + "text-field": "{_name28}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class29", 29], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle29"], + "text-letter-spacing": 0.05, + "text-field": "{_name29}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class12", 12], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle12"]], + "text-letter-spacing": 0.05, + "text-field": "{_name12}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class2", 2], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle2"]], + "text-letter-spacing": 0.05, + "text-field": "{_name2}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class11", 11], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle11"], + "text-letter-spacing": 0.05, + "text-field": "{_name11}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class1", 1], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle1"], + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class10", 10], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle10"], + "text-letter-spacing": 0.05, + "text-field": "{_name10}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class", 0], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle"], + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class17", 17], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle17"], + "text-letter-spacing": 0.05, + "text-field": "{_name17}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class7", 7], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle7"], + "text-letter-spacing": 0.05, + "text-field": "{_name7}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class19", 19], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle19"], + "text-letter-spacing": 0.05, + "text-field": "{_name19}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class9", 9], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle9"], + "text-letter-spacing": 0.05, + "text-field": "{_name9}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class18", 18], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle18"], + "text-letter-spacing": 0.05, + "text-field": "{_name18}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class8", 8], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle8"], + "text-letter-spacing": 0.05, + "text-field": "{_name8}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class16", 16], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle16"], + "text-letter-spacing": 0.05, + "text-field": "{_name16}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class6", 6], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle6"], + "text-letter-spacing": 0.05, + "text-field": "{_name6}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class15", 15], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle15"], + "text-letter-spacing": 0.05, + "text-field": "{_name15}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class5", 5], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle5"], + "text-letter-spacing": 0.05, + "text-field": "{_name5}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class14", 14], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle14"], + "text-letter-spacing": 0.05, + "text-field": "{_name14}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class4", 4], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle4"], + "text-letter-spacing": 0.05, + "text-field": "{_name4}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class13", 13], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle13"], + "text-letter-spacing": 0.05, + "text-field": "{_name13}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class3", 3], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle3"], + "text-letter-spacing": 0.05, + "text-field": "{_name3}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/Roads/label/Local Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 14], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Local Road 22400-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 15], + "minzoom": 12, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 12], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(127,127,127)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 13], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(153,153,153)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Greenspace:1", + "type": "symbol", + "source": "esri", + "source-layer": "Greenspace:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Greenspace:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,255,255,0)", + "text-color": "rgb(144,144,144)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Sites", + "type": "symbol", + "source": "esri", + "source-layer": "Sites", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Sites", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(109,109,109)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landform:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landform:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landform:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landform:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landcover:3", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landcover:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(112,112,112)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landcover:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landcover:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(112,112,112)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Water:2", + "type": "symbol", + "source": "esri", + "source-layer": "Water:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Water:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Water:1", + "type": "symbol", + "source": "esri", + "source-layer": "Water:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Water:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Woodland:2", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Woodland:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Woodland:1", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Woodland:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road 2800-11200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 7], + "minzoom": 14, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgb(1,1,1)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 11200-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 8], + "minzoom": 13, + "maxzoom": 14, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgb(1,1,1)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 22400-358400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 9], + "minzoom": 9, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgb(1,1,1)", + "text-halo-width": 1.6 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 10], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(127,127,127)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 11], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(153,153,153)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class1", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.0333333], + "stops": [ + [0, [0, 0.631292]], + [1, [0, 0.359493]], + [2, [0, 0.609832]], + [3, [0, 0.629975]], + [4, [0, 0.625794]], + [5, [0, 0.410354]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(6,6,6)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.1], + "stops": [ + [0, [0, 0.638163]], + [1, [0, 0.393543]], + [2, [0, 0.618849]], + [3, [0, 0.636977]], + [4, [0, 0.633215]], + [5, [0, 0.439319]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(6,6,6)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Small Settlement", + "type": "symbol", + "source": "esri", + "source-layer": "Small Settlement", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Small Settlement", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Landcover:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Landcover:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(112,112,112)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 0.7 + } + }, + { + "id": "OS/Names/Local/Hamlet (Local)", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet (Local)", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Hamlet (Local)", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Hamlet:2", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Hamlet:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Hamlet:1", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Hamlet:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Suburban Area:3", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Suburban Area:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 15, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Suburban Area:1", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Suburban Area:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Suburban Area:2", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Suburban Area:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 3], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 4], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 179200-716800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 5], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary Name 2800-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 6], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Village:2", + "type": "symbol", + "source": "esri", + "source-layer": "Village:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/District/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Village:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Regional/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Village:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Roads/label/Motorway 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(106,106,106)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(106,106,106)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 179200-2867200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 2], + "minzoom": 6, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(106,106,106)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class1", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "top", + "text-offset": [0, 0.582306], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgb(12,12,12)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-offset": [0, 0.688753], + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/National Park:3", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/National Park:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Local/Motorway Junctions", + "type": "symbol", + "source": "esri", + "source-layer": "Motorway Junctions", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Motorway Junctions", + "icon-allow-overlap": true, + "text-font": ["Arial Bold"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(220,220,220,0)", + "text-color": "rgb(1,1,1)", + "text-halo-color": "rgb(145,145,145)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Local/Town:4", + "type": "symbol", + "source": "esri", + "source-layer": "Town:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Town:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 19, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(211,211,211)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Town:1", + "type": "symbol", + "source": "esri", + "source-layer": "Town:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Town:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(211,211,211)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.7 + } + }, + { + "id": "OS/Names/Regional/Town:2", + "type": "symbol", + "source": "esri", + "source-layer": "Town:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Town:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(211,211,211)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Town:3", + "type": "symbol", + "source": "esri", + "source-layer": "Town:3", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Town:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(157,157,157)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/National Park:2", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/National Park:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/National Park:1", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/National Park:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/City:3", + "type": "symbol", + "source": "esri", + "source-layer": "City:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/City:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 21, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/City:4", + "type": "symbol", + "source": "esri", + "source-layer": "City:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/City:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Regional/City:1", + "type": "symbol", + "source": "esri", + "source-layer": "City:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/City:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/City:2", + "type": "symbol", + "source": "esri", + "source-layer": "City:2", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/City:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Capital:3", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Capital:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 24, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/Capital:4", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Capital:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 20, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Regional/Capital:2", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Capital:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Country/label/Country National", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 21, + "text-anchor": "center", + "text-letter-spacing": 0.75, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "text-color": "rgba(212,212,212,0.5)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.270711, 0.0292893], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(214,214,214,0.75)" + } + }, + { + "id": "OS/Names/National/Country/label/Country National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-letter-spacing": 0.5, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(212,212,212,0.5)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + } + ] +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json new file mode 100644 index 000000000..54487515e --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json @@ -0,0 +1,7653 @@ +{ + "version": 8, + "_sprite": "https://api.os.uk/maps/vector/v1/vts/resources/sprites/sprite", + "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/sprite", + "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "url": "https://api.os.uk/maps/vector/v1/vts" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "#FEFFFF" + } + }, + { + "id": "Background", + "type": "fill", + "source": "esri", + "source-layer": "Background", + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "European_land/1", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FAFAF3" + } + }, + { + "id": "OS/GB_land/1", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/National_parks/1", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 5, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Urban_areas/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": {}, + "paint": { + "fill-color": "rgba(220,215,198,0.3)" + } + }, + { + "id": "OS/Urban_areas/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(220,215,198,0.7)" + } + }, + { + "id": "OS/Functional_sites/Air Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E6E6E6", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Education/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F7EACA", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Medical Care/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F3D8E7", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Road Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F7F3CA", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Water Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 4], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#D8E6F3", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Greenspace:2/1", + "type": "fill", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E3F0DB" + } + }, + { + "id": "OS/Greenspace:2/0", + "type": "line", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#DBE6D5", + "line-width": { + "stops": [ + [10, 0], + [11, 0], + [12, 0], + [13, 0], + [14, 0.1], + [15, 0.15], + [16, 0.25] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Unclassified", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 48], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F8F6F0" + } + }, + { + "id": "OS/TopographicArea_1/Landform Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 47], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F2F2E9" + } + }, + { + "id": "OS/TopographicArea_1/Tidal Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 46], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Landform Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 45], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E4EFDA" + } + }, + { + "id": "OS/TopographicArea_1/Glasshouse", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 44], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F3F9F4" + } + }, + { + "id": "OS/TopographicArea_1/Rail Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 42], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCE5D3" + } + }, + { + "id": "OS/TopographicArea_1/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 43], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E7C9C8" + } + }, + { + "id": "OS/TopographicArea_1/Rail Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 41], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#CCCBCB" + } + }, + { + "id": "OS/TopographicArea_1/Path", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 40], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCDCDB" + } + }, + { + "id": "OS/TopographicArea_1/Inland Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 39], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 38], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F2F2E9" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 37], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DDE6D5" + } + }, + { + "id": "OS/TopographicArea_1/Road Or Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 36], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 34], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E4EFDA" + } + }, + { + "id": "OS/TopographicArea_1/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 35], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F2F2E9" + } + }, + { + "id": "OS/TopographicArea_1/Foreshore", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 30], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAD2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/3" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/1" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/0" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#E4F3F4" + } + }, + { + "id": "OS/TopographicArea_1/Shingle", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Marsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Mud", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E8E4DD" + } + }, + { + "id": "OS/TopographicArea_1/Sand", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F4F0D3" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#E4F3F4" + } + }, + { + "id": "OS/TopographicArea_1/Heath/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Heath/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Heath/0" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" + } + }, + { + "id": "OS/TopographicArea_1/Scree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Scree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scree/0" + } + }, + { + "id": "OS/TopographicArea_1/Rock/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Rock/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rock/0" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Boulders/0" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/3" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/2" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/1" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/0" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Agricultural Land", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Orchard/0" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Footbridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E8CFCC" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" + } + }, + { + "id": "OS/TopographicArea_1/Canal", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Step", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCDCDB" + } + }, + { + "id": "OS/TopographicArea_1/Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCDCDB" + } + }, + { + "id": "OS/TopographicArea_1/Pylon", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EEE8D3" + } + }, + { + "id": "OS/TopographicArea_1/Traffic Calming", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 6], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Level Crossing", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#D6D2D2" + } + }, + { + "id": "OS/TopographicArea_1/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#B3B3B3" + } + }, + { + "id": "OS/TopographicArea_1/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicArea_1/Multi Surface", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EEEFDA" + } + }, + { + "id": "OS/TopographicArea_1/Cliff", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 32], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Cliff" + } + }, + { + "id": "OS/TopographicArea_1/Slope", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 31], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Slope" + } + }, + { + "id": "OS/Woodland:3/Local/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 0], + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/Woodland:3/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(209,231,195,0.6)" + } + }, + { + "id": "OS/Woodland:3/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 2], + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/District_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/Local_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/Contours/Index", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#857660", + "line-width": { + "stops": [ + [7, 0.1], + [8, 0.13], + [9, 0.4], + [10, 0.4], + [11, 0.53], + [12, 0.67], + [13, 0.8], + [14, 1], + [15, 1], + [16, 1.1] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Contours/Normal", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#857660", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.5], + [15, 0.5], + [16, 0.7] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Surfacewater/Local", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF", + "fill-outline-color": "#A9DDEF" + } + }, + { + "id": "OS/Surfacewater/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 1], + "minzoom": 6, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/Surfacewater/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/Foreshore/1", + "type": "fill", + "source": "esri", + "source-layer": "Foreshore", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAD2" + } + }, + { + "id": "OS/Ornament/1", + "type": "fill", + "source": "esri", + "source-layer": "Ornament", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#BABABA", + "fill-opacity": 0.6 + } + }, + { + "id": "OS/TopographicArea_2/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 5], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 4], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicArea_2/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 3], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 2], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 1], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 0], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicLine/Property Closing Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [6, 6], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Step", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#B2B1B1", + "line-width": { + "stops": [ + [6, 0.4], + [17, 0.4], + [18, 0.8], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean High Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [6, 0.8], + [17, 0.9], + [18, 1.3], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Traffic Calming", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BFBFBF", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Standard Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [17, 0.8], + [18, 1.2], + [19, 2.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean Low Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.6] + ] + } + } + }, + { + "id": "OS/TopographicLine/Path", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#7A7977", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Overhead Construction", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#AEB4A6", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Culvert", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Pylon", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#95968F", + "line-width": { + "stops": [ + [17, 1], + [18, 1.8], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Ridge Or Rock Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#BEBEB4", + "line-width": { + "stops": [ + [17, 1.3], + [18, 2], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Narrow Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Railway Buffer", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 12], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Tunnel Edge", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 13], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-dasharray": [2.5, 2.5], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Line Of Posts", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 14], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#8C8C8C", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Drain", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Default Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7A7977", + "line-width": { + "stops": [ + [16, 0.4], + [18, 0.7], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 33], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicLine/Building Outline", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BBB49C", + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Edge Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 18], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Road Or Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#817E79", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Division", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BBB49C", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Inland water Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/General Surface Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [2, 2], + "line-width": 0.6 + } + }, + { + "id": "OS/TopographicLine/Building Overhead Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 23], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#7A7977", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 24], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BEBEB4", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Historic Interest Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Manmade Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BEBEB4", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Unclassified", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#BBB49C", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2] + ] + } + } + }, + { + "id": "OS/Waterlines/District", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.9 + } + }, + { + "id": "OS/Waterlines/Local", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Local_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/MHW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1.6 + } + }, + { + "id": "OS/Waterlines/MHW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 8, + "maxzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1.3 + } + }, + { + "id": "OS/Waterlines/MLW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.8 + } + }, + { + "id": "OS/Waterlines/MLW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/National", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 6, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.4 + } + }, + { + "id": "OS/Waterlines/Regional", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 7, + "maxzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Regional_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 6, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.5 + } + }, + { + "id": "OS/Roads/Tunnels,", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 19], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "#949197", + "line-dasharray": [4, 2.5], + "line-width": { + "stops": [ + [9, 0.7], + [12, 0.8], + [14, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/Motorway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#4E94A3", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#73A06F", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#A09C92", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#9F9C93", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#4E94A3", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#73A06F", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#9F9C93", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/B Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#9F9C93", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#4E94A3", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#73A06F", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.1], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Railways/Multi Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [10, 1.4], + [11, 1.4], + [12, 1.4], + [13, 1.5], + [14, 1.5], + [15, 2], + [16, 1.3] + ] + } + } + }, + { + "id": "OS/Railways/Narrow Gauge", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.4], + [15, 0.5], + [16, 0.5] + ] + } + } + }, + { + "id": "OS/Railways/Single Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [10, 1.2], + [11, 1.2], + [12, 1.2], + [13, 1.2], + [14, 1.2], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Railways/Tunnel", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "#949197", + "line-dasharray": [4, 2], + "line-width": { + "stops": [ + [10, 1], + [11, 1], + [12, 1], + [13, 1], + [14, 1], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/ETL", + "type": "line", + "source": "esri", + "source-layer": "ETL", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#978282", + "line-dasharray": [6, 3], + "line-width": { + "stops": [ + [13, 1.3], + [14, 1.3], + [15, 2.2], + [16, 1.7] + ] + }, + "line-opacity": 0.5 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 2], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "icon-size": { + "stops": [ + [12, 0.7], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 3], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 4], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.8], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Airports", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 8, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Airports", + "icon-size": { + "stops": [ + [9, 0.85], + [10, 0.85], + [11, 0.85], + [12, 0.85], + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#242424" + } + }, + { + "id": "OS/TopographicPoint/Spot Height", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "icon-image": "OS/TopographicPoint/Spot Height", + "icon-size": { + "stops": [ + [17, 0.6], + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#857660" + } + }, + { + "id": "OS/TopographicPoint/Site Of Heritage", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 1], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Site Of Heritage", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#7D7D7D" + } + }, + { + "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#296314" + } + }, + { + "id": "OS/TopographicPoint/Inland Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Inland Water", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#318FAE" + } + }, + { + "id": "OS/TopographicPoint/Roadside", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 4], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Roadside", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/TopographicPoint/Overhead Construction", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 5], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Overhead Construction", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/TopographicPoint/Rail", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 6], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Rail", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#7D7D7D" + } + }, + { + "id": "OS/TopographicPoint/Positioned Coniferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 7], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#296314" + } + }, + { + "id": "OS/TopographicPoint/Triangulation Point Or Pillar", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 8], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", + "icon-size": { + "stops": [ + [18, 1.25], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/TopographicPoint/Historic Interest", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 9], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Historic Interest", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#7D7D7D" + } + }, + { + "id": "OS/TopographicPoint/Landform", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 10], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Landform", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgba(240,240,240,0)" + } + }, + { + "id": "OS/TopographicPoint/Tidal Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 11], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Tidal Water", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#318FAE" + } + }, + { + "id": "OS/TopographicPoint/Structure", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 12], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Structure", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/CartographicSymbol/Culvert Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 0], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Culvert Symbol", + "icon-size": { + "stops": [ + [18, 1.6], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#318FAE" + } + }, + { + "id": "OS/CartographicSymbol/Bench Mark Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/CartographicSymbol/Road Related Flow Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", + "icon-size": { + "stops": [ + [18, 1.1], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/Names/National/Capital:1", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Capital:1", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)" + } + }, + { + "id": "OS/Names/National/Country", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Country", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class79", 79], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "center", + "text-offset": [0.107527, 0], + "text-rotate": ["get", "_label_angle79"], + "text-letter-spacing": 0.05, + "text-field": "{_name79}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class64", 64], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-letter-spacing": 0.05, + "text-field": "{_name64}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class74", 74], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle74"], + "text-letter-spacing": 0.05, + "text-field": "{_name74}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class97", 97], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle97"], + "text-letter-spacing": 0.05, + "text-field": "{_name97}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class87", 87], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle87"], + "text-letter-spacing": 0.05, + "text-field": "{_name87}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class72", 72], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle72"], + "text-letter-spacing": 0.05, + "text-field": "{_name72}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Buildings - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class73", 73], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle73"], + "text-letter-spacing": 0.05, + "text-field": "{_name73}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class61", 61], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-letter-spacing": 0.05, + "text-field": "{_name61}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class99", 99], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle99"], + "text-letter-spacing": 0.05, + "text-field": "{_name99}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class96", 96], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle96"], + "text-letter-spacing": 0.05, + "text-field": "{_name96}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class95", 95], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle95"], + "text-letter-spacing": 0.05, + "text-field": "{_name95}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class89", 89], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle89"], + "text-letter-spacing": 0.05, + "text-field": "{_name89}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class86", 86], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle86"], + "text-letter-spacing": 0.05, + "text-field": "{_name86}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class85", 85], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle85"], + "text-letter-spacing": 0.05, + "text-field": "{_name85}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class76", 76], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle76"], + "text-letter-spacing": 0.05, + "text-field": "{_name76}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class66", 66], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-letter-spacing": 0.05, + "text-field": "{_name66}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class53", 53], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0952381, 0], + "text-rotate": ["get", "_label_angle53"], + "text-letter-spacing": 0.05, + "text-field": "{_name53}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class54", 54], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle54"], + "text-letter-spacing": 0.05, + "text-field": "{_name54}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class100", 100], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle100"], + "text-letter-spacing": 0.05, + "text-field": "{_name100}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class90", 90], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle90"], + "text-letter-spacing": 0.05, + "text-field": "{_name90}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class77", 77], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle77"], + "text-letter-spacing": 0.05, + "text-field": "{_name77}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class67", 67], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-letter-spacing": 0.05, + "text-field": "{_name67}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class55", 55], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle55"], + "text-letter-spacing": 0.05, + "text-field": "{_name55}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class78", 78], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle78"], + "text-letter-spacing": 0.05, + "text-field": "{_name78}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class68", 68], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-letter-spacing": 0.05, + "text-field": "{_name68}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class56", 56], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle56"], + "text-letter-spacing": 0.05, + "text-field": "{_name56}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class101", 101], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle101"], + "text-letter-spacing": 0.05, + "text-field": "{_name101}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class91", 91], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle91"], + "text-letter-spacing": 0.05, + "text-field": "{_name91}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class69", 69], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle69"], + "text-letter-spacing": 0.05, + "text-field": "{_name69}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class57", 57], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle57"], + "text-letter-spacing": 0.05, + "text-field": "{_name57}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class92", 92], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle92"], + "text-letter-spacing": 0.05, + "text-field": "{_name92}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class82", 82], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle82"], + "text-letter-spacing": 0.05, + "text-field": "{_name82}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Height - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class60", 60], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name60}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class58", 58], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle58"], + "text-letter-spacing": 0.05, + "text-field": "{_name58}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class75", 75], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle75"], + "text-letter-spacing": 0.05, + "text-field": "{_name75}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class98", 98], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle98"], + "text-letter-spacing": 0.05, + "text-field": "{_name98}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class88", 88], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle88"], + "text-letter-spacing": 0.05, + "text-field": "{_name88}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Water - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class59", 59], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle59"], + "text-letter-spacing": 0.05, + "text-field": "{_name59}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Height - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class65", 65], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-letter-spacing": 0.05, + "text-field": "{_name65}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class52", 52], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle52"]], + "text-letter-spacing": 0.05, + "text-field": "{_name52}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class50", 50], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle50"], + "text-letter-spacing": 0.05, + "text-field": "{_name50}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class40", 40], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle40"], + "text-letter-spacing": 0.05, + "text-field": "{_name40}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class43", 43], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle43"], + "text-letter-spacing": 0.05, + "text-field": "{_name43}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class44", 44], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle44"], + "text-letter-spacing": 0.05, + "text-field": "{_name44}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class45", 45], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle45"], + "text-letter-spacing": 0.05, + "text-field": "{_name45}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class46", 46], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle46"], + "text-letter-spacing": 0.05, + "text-field": "{_name46}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class47", 47], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle47"], + "text-letter-spacing": 0.05, + "text-field": "{_name47}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class48", 48], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle48"], + "text-letter-spacing": 0.05, + "text-field": "{_name48}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - NW(1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class49", 49], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle49"], + "text-letter-spacing": 0.05, + "text-field": "{_name49}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class51", 51], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle51"], + "text-letter-spacing": 0.05, + "text-field": "{_name51}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class42", 42], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle42"]], + "text-letter-spacing": 0.05, + "text-field": "{_name42}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class80", 80], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle80"], + "text-letter-spacing": 0.05, + "text-field": "{_name80}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class94", 94], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle94"]], + "text-letter-spacing": 0.05, + "text-field": "{_name94}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class84", 84], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle84"]], + "text-letter-spacing": 0.05, + "text-field": "{_name84}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class93", 93], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle93"], + "text-letter-spacing": 0.05, + "text-field": "{_name93}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class83", 83], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle83"], + "text-letter-spacing": 0.05, + "text-field": "{_name83}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class71", 71], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle71"]], + "text-letter-spacing": 0.05, + "text-field": "{_name71}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class63", 63], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-letter-spacing": 0.05, + "text-field": "{_name63}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Height - East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class62", 62], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-letter-spacing": 0.05, + "text-field": "{_name62}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class41", 41], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle41"], + "text-letter-spacing": 0.05, + "text-field": "{_name41}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class70", 70], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle70"], + "text-letter-spacing": 0.05, + "text-field": "{_name70}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class81", 81], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle81"]], + "text-letter-spacing": 0.05, + "text-field": "{_name81}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class32", 32], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle32"]], + "text-letter-spacing": 0.05, + "text-field": "{_name32}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class39", 39], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle39"], + "text-letter-spacing": 0.05, + "text-field": "{_name39}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class38", 38], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle38"], + "text-letter-spacing": 0.05, + "text-field": "{_name38}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class37", 37], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle37"], + "text-letter-spacing": 0.05, + "text-field": "{_name37}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class36", 36], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle36"], + "text-letter-spacing": 0.05, + "text-field": "{_name36}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class35", 35], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle35"], + "text-letter-spacing": 0.05, + "text-field": "{_name35}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class34", 34], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle34"], + "text-letter-spacing": 0.05, + "text-field": "{_name34}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class33", 33], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle33"], + "text-letter-spacing": 0.05, + "text-field": "{_name33}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class30", 30], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle30"], + "text-letter-spacing": 0.05, + "text-field": "{_name30}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class31", 31], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle31"], + "text-letter-spacing": 0.05, + "text-field": "{_name31}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class20", 20], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle20"], + "text-letter-spacing": 0.05, + "text-field": "{_name20}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class21", 21], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle21"], + "text-letter-spacing": 0.05, + "text-field": "{_name21}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class22", 22], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle22"]], + "text-letter-spacing": 0.05, + "text-field": "{_name22}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class23", 23], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle23"], + "text-letter-spacing": 0.05, + "text-field": "{_name23}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class24", 24], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle24"], + "text-letter-spacing": 0.05, + "text-field": "{_name24}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class25", 25], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle25"], + "text-letter-spacing": 0.05, + "text-field": "{_name25}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class26", 26], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle26"], + "text-letter-spacing": 0.05, + "text-field": "{_name26}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class27", 27], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle27"], + "text-letter-spacing": 0.05, + "text-field": "{_name27}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class28", 28], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle28"], + "text-letter-spacing": 0.05, + "text-field": "{_name28}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class29", 29], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle29"], + "text-letter-spacing": 0.05, + "text-field": "{_name29}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class12", 12], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle12"]], + "text-letter-spacing": 0.05, + "text-field": "{_name12}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class2", 2], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle2"]], + "text-letter-spacing": 0.05, + "text-field": "{_name2}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class11", 11], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle11"], + "text-letter-spacing": 0.05, + "text-field": "{_name11}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class1", 1], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle1"], + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class10", 10], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle10"], + "text-letter-spacing": 0.05, + "text-field": "{_name10}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class", 0], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle"], + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class17", 17], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle17"], + "text-letter-spacing": 0.05, + "text-field": "{_name17}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class7", 7], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle7"], + "text-letter-spacing": 0.05, + "text-field": "{_name7}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class19", 19], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle19"], + "text-letter-spacing": 0.05, + "text-field": "{_name19}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class9", 9], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle9"], + "text-letter-spacing": 0.05, + "text-field": "{_name9}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class18", 18], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle18"], + "text-letter-spacing": 0.05, + "text-field": "{_name18}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class8", 8], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle8"], + "text-letter-spacing": 0.05, + "text-field": "{_name8}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class16", 16], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle16"], + "text-letter-spacing": 0.05, + "text-field": "{_name16}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class6", 6], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle6"], + "text-letter-spacing": 0.05, + "text-field": "{_name6}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class15", 15], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle15"], + "text-letter-spacing": 0.05, + "text-field": "{_name15}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class5", 5], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle5"], + "text-letter-spacing": 0.05, + "text-field": "{_name5}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class14", 14], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle14"], + "text-letter-spacing": 0.05, + "text-field": "{_name14}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class4", 4], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle4"], + "text-letter-spacing": 0.05, + "text-field": "{_name4}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class13", 13], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle13"], + "text-letter-spacing": 0.05, + "text-field": "{_name13}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class3", 3], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle3"], + "text-letter-spacing": 0.05, + "text-field": "{_name3}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/Roads/label/Local Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 14], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Local Road 22400-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 15], + "minzoom": 12, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 12], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#808080", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 13], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#666666", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Greenspace:1", + "type": "symbol", + "source": "esri", + "source-layer": "Greenspace:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Greenspace:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(0,0,0,0)", + "text-color": "#438519", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Sites", + "type": "symbol", + "source": "esri", + "source-layer": "Sites", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Sites", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#A79720", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landform:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landform:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF7631", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landform:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landform:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF7631", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landcover:3", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landcover:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF9031", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landcover:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landcover:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF9031", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Water:2", + "type": "symbol", + "source": "esri", + "source-layer": "Water:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Water:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#318FAE", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Water:1", + "type": "symbol", + "source": "esri", + "source-layer": "Water:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Water:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#318FAE", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Woodland:2", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Woodland:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Woodland:1", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Woodland:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road 2800-11200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 7], + "minzoom": 14, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "#FFFFFF", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 11200-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 8], + "minzoom": 13, + "maxzoom": 14, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "#FFFFFF", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 22400-358400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 9], + "minzoom": 9, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1.6 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 10], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#808080", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 11], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#666666", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class1", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.0333333], + "stops": [ + [0, [0, 0.631292]], + [1, [0, 0.359493]], + [2, [0, 0.609832]], + [3, [0, 0.629975]], + [4, [0, 0.625794]], + [5, [0, 0.410354]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "#000000", + "text-halo-color": "#FAFAF3", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.1], + "stops": [ + [0, [0, 0.638163]], + [1, [0, 0.393543]], + [2, [0, 0.618849]], + [3, [0, 0.636977]], + [4, [0, 0.633215]], + [5, [0, 0.439319]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#000000", + "text-halo-color": "#FAFAF3", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Small Settlement", + "type": "symbol", + "source": "esri", + "source-layer": "Small Settlement", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Small Settlement", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Landcover:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Landcover:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF9031", + "text-halo-color": "#F5F5F0", + "text-halo-width": 0.7 + } + }, + { + "id": "OS/Names/Local/Hamlet (Local)", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet (Local)", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Hamlet (Local)", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Hamlet:2", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Hamlet:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Hamlet:1", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Hamlet:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Suburban Area:3", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Suburban Area:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 15, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Suburban Area:1", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Suburban Area:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Suburban Area:2", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Suburban Area:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 3], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 4], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 179200-716800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 5], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary Name 2800-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 6], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Village:2", + "type": "symbol", + "source": "esri", + "source-layer": "Village:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/District/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Village:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Regional/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Village:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1 + } + }, + { + "id": "OS/Roads/label/Motorway 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#08B7E7", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#08B7E7", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 179200-2867200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 2], + "minzoom": 6, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#08B7E7", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class1", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "top", + "text-offset": [0, 0.582306], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "#303030", + "text-halo-color": "#F4F4EE", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-offset": [0, 0.688753], + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#303030", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/National Park:3", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/National Park:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Local/Motorway Junctions", + "type": "symbol", + "source": "esri", + "source-layer": "Motorway Junctions", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Motorway Junctions", + "icon-allow-overlap": true, + "text-font": ["Arial Bold"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(168,0,0,0)", + "text-color": "#FFFFFF", + "text-halo-color": "#1484A3", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Local/Town:4", + "type": "symbol", + "source": "esri", + "source-layer": "Town:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Town:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 19, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#372D0B", + "text-halo-color": "#F5F5F0", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Town:1", + "type": "symbol", + "source": "esri", + "source-layer": "Town:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Town:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#372D0B", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.7 + } + }, + { + "id": "OS/Names/Regional/Town:2", + "type": "symbol", + "source": "esri", + "source-layer": "Town:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Town:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#372D0B", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Town:3", + "type": "symbol", + "source": "esri", + "source-layer": "Town:3", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Town:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#796315", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/National Park:2", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/National Park:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/National Park:1", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/National Park:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/City:3", + "type": "symbol", + "source": "esri", + "source-layer": "City:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/City:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 21, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/City:4", + "type": "symbol", + "source": "esri", + "source-layer": "City:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/City:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Regional/City:1", + "type": "symbol", + "source": "esri", + "source-layer": "City:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/City:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/City:2", + "type": "symbol", + "source": "esri", + "source-layer": "City:2", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/City:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Capital:3", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Capital:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 24, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/Capital:4", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Capital:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 20, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Regional/Capital:2", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Capital:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Country/label/Country National", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 21, + "text-anchor": "center", + "text-letter-spacing": 0.75, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "text-color": "rgba(54,44,7,0.5)", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.270711, 0.0292893], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(52,42,7,0.75)" + } + }, + { + "id": "OS/Names/National/Country/label/Country National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-letter-spacing": 0.5, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(54,44,7,0.5)", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + } + ] +} diff --git a/src/server/plugins/map/routes/vts/README.md b/src/server/plugins/map/routes/vts/README.md new file mode 100644 index 000000000..1641cfc3d --- /dev/null +++ b/src/server/plugins/map/routes/vts/README.md @@ -0,0 +1,5 @@ +File in this directory are sourced from https://github.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets + +VTS_OUTDOOR_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json +VTS_DARK_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Dark.json +VTS_BLACK_AND_WHITE_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Black_and_White.json diff --git a/src/server/plugins/map/service.js b/src/server/plugins/map/service.js new file mode 100644 index 000000000..b23384645 --- /dev/null +++ b/src/server/plugins/map/service.js @@ -0,0 +1,84 @@ +import { getErrorMessage } from '@defra/forms-model' +import Boom from '@hapi/boom' + +import { createLogger } from '~/src/server/common/helpers/logging/logger.js' +import { getJson } from '~/src/server/services/httpService.js' + +const logger = createLogger() + +/** + * Returns an empty result set + */ +function empty() { + /** @type {OsNamesFindResult[]} */ + const results = [] + + return /** @type {OsNamesFindResponse} */ ({ header: {}, results }) +} + +/** + * Logs OS names errors + * @param {unknown} err - the error + * @param {string} endpoint - the OS api endpoint + */ +function logErrorAndReturnEmpty(err, endpoint) { + const msg = `${getErrorMessage(err)} ${(Boom.isBoom(err) && err.data?.payload?.error?.message) ?? ''}` + + logger.error(err, `Exception occured calling OS names ${endpoint} - ${msg}}`) + + return empty() +} + +/** + * Fetch data from OS names API + * @param {string} url - the url to get address json data from + * @param {string} endpoint - the url endpoint description for logging + */ +async function getData(url, endpoint) { + const getJsonByType = /** @type {typeof getJson} */ ( + getJson + ) + + try { + const response = await getJsonByType(url) + + if (response.error) { + return logErrorAndReturnEmpty(response.error, endpoint) + } + + const results = response.payload + + return results + } catch (err) { + return logErrorAndReturnEmpty(err, endpoint) + } +} + +/** + * OS names search find by query + * @param {string} query - the search term + * @param {string} apiKey - the OS api key + */ +export async function find(query, apiKey) { + const endpoint = 'find' + const url = `https://api.os.uk/search/names/v1/find?key=${apiKey}&query=${query}&fq=local_type:postcode%20local_type:hamlet%20local_type:village%20local_type:town%20local_type:city%20local_type:other_settlement&maxresults=8` + + return getData(url, endpoint) +} + +/** + * OS names search nearest by E/N + * @param {number} easting - the easting + * @param {number} northing - the northing + * @param {string} apiKey - the OS api key + */ +export async function nearest(easting, northing, apiKey) { + const endpoint = 'nearest' + const url = `https://api.os.uk/search/names/v1/nearest?key=${apiKey}&point=${easting},${northing}&radius=1000&fq=local_type:Airfield%20local_type:Airport%20local_type:Bus_Station%20local_type:Chemical_Works%20local_type:City%20local_type:Coach_Station%20local_type:Electricity_Distribution%20local_type:Electricity_Production%20local_type:Further_Education%20local_type:Gas_Distribution_or_Storage%20local_type:Hamlet%20local_type:Harbour%20local_type:Helicopter_Station%20local_type:Heliport%20local_type:Higher_or_University_Education%20local_type:Hill_Or_Mountain%20local_type:Hospice%20local_type:Hospital%20local_type:Medical_Care_Accommodation%20local_type:Named_Road%20local_type:Non_State_Primary_Education%20local_type:Non_State_Secondary_Education%20local_type:Other_Settlement%20local_type:Passenger_Ferry_Terminal%20local_type:Port_Consisting_of_Docks_and_Nautical_Berthing%20local_type:Postcode%20local_type:Primary_Education%20local_type:Railway_Station%20local_type:Road_User_Services%20local_type:Secondary_Education%20local_type:Section_Of_Named_Road%20local_type:Section_Of_Numbered_Road%20local_type:Special_Needs_Education%20local_type:Suburban_Area%20local_type:Town%20local_type:Urban_Greenspace%20local_type:Vehicular_Ferry_Terminal%20local_type:Vehicular_Rail_Terminal%20local_type:Village%20local_type:Waterfall%20` + + return getData(url, endpoint) +} + +/** + * @import { OsNamesFindResponse, OsNamesFindResult } from '~/src/server/plugins/map/types.js' + */ diff --git a/src/server/plugins/map/types.js b/src/server/plugins/map/types.js new file mode 100644 index 000000000..cf46f49e2 --- /dev/null +++ b/src/server/plugins/map/types.js @@ -0,0 +1,115 @@ +/** + * @typedef {{ + * ordnanceSurveyApiKey: string + * }} MapConfiguration + */ + +// +// Route types +// + +/** + * Map proxy query params + * @typedef {object} MapProxyQuery + * @property {string} url - the proxied url + */ + +/** + * Map geocode query params + * @typedef {object} MapGeocodeQuery + * @property {string} query - name query + */ + +/** + * Map reverse geocode query params + * @typedef {object} MapReverseGeocodeQuery + * @property {number} easting - the Easting point + * @property {number} northing - the Northing point + */ + +/** + * Map geocode get request + * @typedef {object} MapProxyGetRequestRefs + * @property {MapProxyQuery} Query - Request query + */ + +/** + * Map geocode get request + * @typedef {object} MapGeocodeGetRequestRefs + * @property {MapGeocodeQuery} Query - Request query + */ + +/** + * Map reverst geocode get request + * @typedef {object} MapReverseGeocodeGetRequestRefs + * @property {MapReverseGeocodeQuery} Query - Request query + */ + +/** + * @typedef {MapProxyGetRequestRefs} MapProxyRequestRefs + * @typedef {MapGeocodeGetRequestRefs} MapGeocodeRequestRefs + * @typedef {MapReverseGeocodeGetRequestRefs} MapReverseGeocodeRequestRefs + * @typedef {Request} MapProxyGetRequest + * @typedef {Request} MapGeocodeGetRequest + * @typedef {Request} MapReverseGeocodeGetRequest + * @typedef {MapProxyGetRequest | MapGeocodeGetRequest | MapReverseGeocodeGetRequest} MapRequest + */ + +// +// Service types +// + +/** + * @typedef {object} OsNamesFindResponse + * @property {OsNamesFindHeader} header - Metadata about the search request and results. + * @property {OsNamesFindResult[]} results - An array of matched place records from the search. + */ + +/** + * @typedef {object} OsNamesFindHeader + * @property {string} uri - The query URI (usually same as search text). + * @property {string} query - The original text query string passed to the API. + * @property {string} format - The response format returned (e.g., "JSON"). + * @property {number} maxresults - The maximum number of results requested. + * @property {number} offset - The offset used in the search results. + * @property {number} totalresults - The total number of results that matched the query. + */ + +/** + * @typedef {object} OsNamesFindGazetteerEntry + * @property {number} ID - Unique identifier for the place/feature. + * @property {string} NAMES_URI - A URI (identifier) for this named feature. + * @property {string} NAME1 - Primary name of the feature. + * @property {string} TYPE - General type classification of the feature. + * @property {string} LOCAL_TYPE - Local or more specific type classification. + * @property {number} GEOMETRY_X - Easting coordinate (British National Grid). + * @property {number} GEOMETRY_Y - Northing coordinate (British National Grid). + * @property {number} MOST_DETAIL_VIEW_RES - Most detailed resolution available. + * @property {number} LEAST_DETAIL_VIEW_RES - Least detailed resolution available. + * @property {number} MBR_XMIN - Minimum bounding box X (easting). + * @property {number} MBR_YMIN - Minimum bounding box Y (northing). + * @property {number} MBR_XMAX - Maximum bounding box X (easting). + * @property {number} MBR_YMAX - Maximum bounding box Y (northing). + * @property {string} [POSTCODE_DISTRICT] - (Optional) Postcode district. + * @property {string} [POSTCODE_DISTRICT_URI] - (Optional) URI for the postcode district. + * @property {string} [POPULATED_PLACE] - (Optional) Name of associated populated place. + * @property {string} [POPULATED_PLACE_URI] - (Optional) URI of populated place. + * @property {string} [POPULATED_PLACE_TYPE] - (Optional) Type of populated place. + * @property {string} [COUNTY_UNITARY] - (Optional) County or unitary authority name. + * @property {string} [COUNTY_UNITARY_URI] - (Optional) URI for county/unitary authority. + * @property {string} [COUNTY_UNITARY_TYPE] - (Optional) Classification of county/unitary authority. + * @property {string} [REGION] - (Optional) Region name. + * @property {string} [REGION_URI] - (Optional) URI for region. + * @property {string} [COUNTRY] - (Optional) Country name. + * @property {string} [COUNTRY_URI] - (Optional) URI for country. + */ + +/** + * OS names GAZETTEER_ENTRY response + * @typedef {object} OsNamesFindResult + * @property {OsNamesFindGazetteerEntry} GAZETTEER_ENTRY - Gazetteer entry + */ + +/** + * @import { Request } from '@hapi/hapi' + */ From aa9453c7ca70601036c2bb5a91273a4a1653f415 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 12:34:05 +0000 Subject: [PATCH 06/52] Register the new map plugin --- src/server/plugins/engine/plugin.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/server/plugins/engine/plugin.ts b/src/server/plugins/engine/plugin.ts index 14b915bf5..62859760b 100644 --- a/src/server/plugins/engine/plugin.ts +++ b/src/server/plugins/engine/plugin.ts @@ -15,6 +15,7 @@ import { getRoutes as getRepeaterItemDeleteRoutes } from '~/src/server/plugins/e import { getRoutes as getRepeaterSummaryRoutes } from '~/src/server/plugins/engine/routes/repeaters/summary.js' import { type PluginOptions } from '~/src/server/plugins/engine/types.js' import { registerVision } from '~/src/server/plugins/engine/vision.js' +import { mapPlugin } from '~/src/server/plugins/map/index.js' import { postcodeLookupPlugin } from '~/src/server/plugins/postcode-lookup/index.js' import { type FormRequestPayloadRefs, @@ -57,6 +58,16 @@ export const plugin = { }) } + // Register the maps plugin only if we have an OS api key + if (ordnanceSurveyApiKey) { + await server.register({ + plugin: mapPlugin, + options: { + ordnanceSurveyApiKey + } + }) + } + server.expose('baseLayoutPath', nunjucksOptions.baseLayoutPath) server.expose('viewContext', viewContext) server.expose('cacheService', cacheService) From 60f117de216b6b7c940baf5169c6828a9e96670d Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 12:52:25 +0000 Subject: [PATCH 07/52] Add defra-map dependency --- package-lock.json | 7140 +++++++++++++++++++++++++++++++-------------- package.json | 1 + 2 files changed, 4900 insertions(+), 2241 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36440fba0..7e9f9a63e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "hasInstallScript": true, "license": "SEE LICENSE IN LICENSE", "dependencies": { + "@defra/defra-map": "github:DEFRA/defra-map#main-v1", "@defra/forms-model": "^3.0.597", "@defra/hapi-tracing": "^1.29.0", "@elastic/ecs-pino-format": "^1.5.0", @@ -146,6 +147,97 @@ "dev": true, "license": "MIT" }, + "node_modules/@amcharts/amcharts5": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@amcharts/amcharts5/-/amcharts5-5.14.4.tgz", + "integrity": "sha512-Tl7wQLWvsvyWVtlCIm1yhZtJviSDYjuNTnlUkO0D49GyByoK0nb9fr0DK4rUw4DVgyLcySxWBsb2lzTJm5Rd9Q==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@types/d3": "^7.0.0", + "@types/d3-chord": "^3.0.0", + "@types/d3-hierarchy": "3.1.1", + "@types/d3-sankey": "^0.11.1", + "@types/d3-shape": "^3.0.0", + "@types/geojson": "^7946.0.8", + "@types/polylabel": "^1.0.5", + "@types/svg-arc-to-cubic-bezier": "^3.2.0", + "d3": "^7.0.0", + "d3-chord": "^3.0.0", + "d3-force": "^3.0.0", + "d3-geo": "^3.0.0", + "d3-hierarchy": "^3.0.0", + "d3-sankey": "^0.12.3", + "d3-selection": "^3.0.0", + "d3-shape": "^3.0.0", + "d3-transition": "^3.0.0", + "d3-voronoi-treemap": "^1.1.2", + "flatpickr": "^4.6.13", + "markerjs2": "^2.29.4", + "pdfmake": "^0.2.2", + "polylabel": "^1.1.0", + "seedrandom": "^3.0.5", + "svg-arc-to-cubic-bezier": "^3.2.0", + "tslib": "^2.2.0" + } + }, + "node_modules/@arcgis/core": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@arcgis/core/-/core-4.34.8.tgz", + "integrity": "sha512-UrEBTjXpSA9fhmmnAENBzz9GG81xALTezQFMXUs2iMB+tiOckmJyBbhATI/W4lIQyUfNEK7Zm/46EP2PhDga/A==", + "license": "SEE LICENSE IN copyright.txt", + "dependencies": { + "@amcharts/amcharts5": "~5.14.1", + "@arcgis/toolkit": "^4.34.0", + "@esri/arcgis-html-sanitizer": "~4.1.0", + "@esri/calcite-components": "^3.3.2", + "@vaadin/grid": "~24.9.1", + "@zip.js/zip.js": "~2.8.7", + "luxon": "~3.7.2", + "marked": "~16.3.0", + "tslib": "^2.8.1" + } + }, + "node_modules/@arcgis/core/node_modules/marked": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.3.0.tgz", + "integrity": "sha512-K3UxuKu6l6bmA5FUwYho8CfJBlsUWAooKtdGgMcERSpF7gcBUrCGsLH7wDaaNOzwq18JzSUDyoEb/YsrqMac3w==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@arcgis/lumina": { + "version": "4.34.9", + "resolved": "https://registry.npmjs.org/@arcgis/lumina/-/lumina-4.34.9.tgz", + "integrity": "sha512-efqO+SwR+1IYf29AATh1l2FUeypRyRINTBNkaJY+KkaFe+8gqSJ45qOmputhyzF5WTRDb7WhOYgnChjp6VYPpA==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/toolkit": "~4.34.9", + "csstype": "^3.1.3", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@lit/context": "^1.1.5", + "lit": "^3.3.0" + }, + "peerDependenciesMeta": { + "@lit/context": { + "optional": true + } + } + }, + "node_modules/@arcgis/toolkit": { + "version": "4.34.9", + "resolved": "https://registry.npmjs.org/@arcgis/toolkit/-/toolkit-4.34.9.tgz", + "integrity": "sha512-wFST+eVnCwmg9NyICVyn9bsBnR+TlWklsGqG3L7xqSTgfXo6TuCThE7wtTb8xWxsTBkGvImqMUgpgLuwQuTQ1g==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "tslib": "^2.8.1" + } + }, "node_modules/@asamuzakjp/css-color": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", @@ -228,7 +320,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -2048,7 +2139,6 @@ "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" } @@ -2141,7 +2231,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -2165,7 +2254,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -2217,6 +2305,43 @@ "postcss-selector-parser": "^7.0.0" } }, + "node_modules/@defra/defra-map": { + "version": "1.0.0-alpha.1", + "resolved": "git+ssh://git@github.com/DEFRA/defra-map.git#41a56003236059c82e25ef8471deb5b33d8dbd65", + "dependencies": { + "@arcgis/core": "^4.34.8", + "@turf/area": "^7.2.0", + "@turf/boolean-valid": "^7.2.0", + "@turf/helpers": "^7.2.0", + "core-js": "^3.44.0", + "govuk-frontend": "^5.13.0", + "maplibre-gl": "^5.12.0", + "maplibre-gl-legacy": "npm:maplibre-gl@1.15.3", + "preact": "^10.27.2" + }, + "peerDependencies": { + "react": "^19.2.0", + "react-dom": "^19.2.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@defra/defra-map/node_modules/preact": { + "version": "10.28.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz", + "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/@defra/forms-model": { "version": "3.0.597", "resolved": "https://registry.npmjs.org/@defra/forms-model/-/forms-model-3.0.597.tgz", @@ -2879,6 +3004,132 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@esri/arcgis-html-sanitizer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@esri/arcgis-html-sanitizer/-/arcgis-html-sanitizer-4.1.0.tgz", + "integrity": "sha512-einEveDJ/k1180NOp78PB/4Hje9eBy3dyOGLLtLn6bSkizpUfCwuYBIXOA7Y3F/k/BsTQXgKqUVwQ0eiscWMdA==", + "license": "Apache-2.0", + "dependencies": { + "xss": "1.0.13" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@esri/calcite-components": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@esri/calcite-components/-/calcite-components-3.3.3.tgz", + "integrity": "sha512-tw+EfJ3pb+Odj71W6E9GUkm8rMbNxfW1KeiI8GgsKDzhr39hMKwY+zYYFFYuO0FONxWGvAB+B8yqB0NvH7WeHw==", + "license": "SEE LICENSE.md", + "dependencies": { + "@arcgis/lumina": ">=4.34.0-next.158 <4.35.0", + "@arcgis/toolkit": ">=4.34.0-next.158 <4.35.0", + "@esri/calcite-ui-icons": "4.3.0", + "@floating-ui/dom": "^1.6.12", + "@floating-ui/utils": "^0.2.8", + "@types/sortablejs": "^1.15.8", + "color": "^5.0.0", + "composed-offset-position": "^0.0.6", + "es-toolkit": "^1.39.8", + "focus-trap": "^7.6.5", + "interactjs": "^1.10.27", + "lit": "^3.3.0", + "sortablejs": "^1.15.6", + "timezone-groups": "^0.10.4", + "type-fest": "^4.30.1" + } + }, + "node_modules/@esri/calcite-components/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esri/calcite-ui-icons": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@esri/calcite-ui-icons/-/calcite-ui-icons-4.3.0.tgz", + "integrity": "sha512-iOOuRurpjFxFVw6+aXW2JpSkRBrdOpBcbdibfPOmSPqMd1aoHBtYmYXetKoH9vfrXoBiPyO2PkDnczhsu/N9IA==", + "license": "SEE LICENSE.md", + "bin": { + "spriter": "bin/spriter.js" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@foliojs-fork/fontkit": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@foliojs-fork/fontkit/-/fontkit-1.9.2.tgz", + "integrity": "sha512-IfB5EiIb+GZk+77TRB86AHroVaqfq8JRFlUbz0WEwsInyCG0epX2tCPOy+UfaWPju30DeVoUAXfzWXmhn753KA==", + "license": "MIT", + "dependencies": { + "@foliojs-fork/restructure": "^2.0.2", + "brotli": "^1.2.0", + "clone": "^1.0.4", + "deep-equal": "^1.0.0", + "dfa": "^1.2.0", + "tiny-inflate": "^1.0.2", + "unicode-properties": "^1.2.2", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/@foliojs-fork/linebreak": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@foliojs-fork/linebreak/-/linebreak-1.1.2.tgz", + "integrity": "sha512-ZPohpxxbuKNE0l/5iBJnOAfUaMACwvUIKCvqtWGKIMv1lPYoNjYXRfhi9FeeV9McBkBLxsMFWTVVhHJA8cyzvg==", + "license": "MIT", + "dependencies": { + "base64-js": "1.3.1", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/@foliojs-fork/pdfkit": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/@foliojs-fork/pdfkit/-/pdfkit-0.15.3.tgz", + "integrity": "sha512-Obc0Wmy3bm7BINFVvPhcl2rnSSK61DQrlHU8aXnAqDk9LCjWdUOPwhgD8Ywz5VtuFjRxmVOM/kQ/XLIBjDvltw==", + "license": "MIT", + "dependencies": { + "@foliojs-fork/fontkit": "^1.9.2", + "@foliojs-fork/linebreak": "^1.1.1", + "crypto-js": "^4.2.0", + "jpeg-exif": "^1.1.4", + "png-js": "^1.0.0" + } + }, + "node_modules/@foliojs-fork/restructure": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@foliojs-fork/restructure/-/restructure-2.0.2.tgz", + "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==", + "license": "MIT" + }, "node_modules/@hapi/accept": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-6.0.3.tgz", @@ -3432,6 +3683,12 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@interactjs/types": { + "version": "1.10.27", + "resolved": "https://registry.npmjs.org/@interactjs/types/-/types-1.10.27.tgz", + "integrity": "sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA==", + "license": "MIT" + }, "node_modules/@ioredis/commands": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.4.0.tgz", @@ -4183,6 +4440,139 @@ "dev": true, "license": "MIT" }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.0.tgz", + "integrity": "sha512-HLomZXMmrCFHSRKESF5vklAKsDY7/fsT/ZhqCu3V0UoW/Qbv8wxmO4W9bx4KnCCF2Zak4yuk+AGraK/bPmI4kA==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/reactive-element": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0" + } + }, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "license": "ISC", + "dependencies": { + "get-stream": "^6.0.1", + "minimist": "^1.2.6" + }, + "bin": { + "geojson-rewind": "geojson-rewind" + } + }, + "node_modules/@mapbox/geojson-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", + "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==", + "license": "ISC" + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/mapbox-gl-supported": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", + "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==", + "license": "BSD-3-Clause", + "peerDependencies": { + "mapbox-gl": ">=0.32.1 <2.0.0" + } + }, + "node_modules/@mapbox/point-geometry": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz", + "integrity": "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==", + "license": "ISC" + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", + "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/vector-tile": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.4.tgz", + "integrity": "sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~1.1.0", + "@types/geojson": "^7946.0.16", + "pbf": "^4.0.1" + } + }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "license": "ISC", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "24.4.1", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.4.1.tgz", + "integrity": "sha512-UKhA4qv1h30XT768ccSv5NjNCX+dgfoq2qlLVmKejspPcSQTYD4SrVucgqegmYcKcmwf06wcNAa/kRd0NHWbUg==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^3.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@maplibre/mlt": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.1.2.tgz", + "integrity": "sha512-SQKdJ909VGROkA6ovJgtHNs9YXV4YXUPS+VaZ50I2Mt951SLlUm2Cv34x5Xwc1HiFlsd3h2Yrs5cn7xzqBmENw==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0" + } + }, + "node_modules/@maplibre/vt-pbf": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.2.0.tgz", + "integrity": "sha512-bxrk/kQUwWXZgmqYgwOCnZCMONCRi3MJMqJdza4T3E4AeR5i+VyMnaJ8iDWtWxdfEAJRtrzIOeJtxZSy5mFrFA==", + "license": "MIT", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/vector-tile": "^2.0.4", + "@types/geojson-vt": "3.2.5", + "@types/supercluster": "^7.1.3", + "geojson-vt": "^4.0.2", + "pbf": "^4.0.1", + "supercluster": "^8.0.1" + } + }, "node_modules/@mswjs/interceptors": { "version": "0.39.8", "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.39.8.tgz", @@ -4295,6 +4685,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@open-wc/dedupe-mixin": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.4.0.tgz", + "integrity": "sha512-Sj7gKl1TLcDbF7B6KUhtvr+1UCxdhMbNY5KxdU5IfMFWqL8oy1ZeAcCANjoB1TL0AJTcPmcCFsCbHf8X2jGDUA==", + "license": "MIT" + }, "node_modules/@parcel/watcher": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", @@ -4635,6 +5031,15 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@polymer/polymer": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.5.2.tgz", + "integrity": "sha512-fWwImY/UH4bb2534DVSaX+Azs2yKg8slkMBHOyGeU2kKx7Xmxp6Lee0jP8p6B3d7c1gFUPB2Z976dTUtX81pQA==", + "license": "BSD-3-Clause", + "dependencies": { + "@webcomponents/shadycss": "^1.9.1" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -4749,1382 +5154,2824 @@ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "license": "MIT" }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, + "node_modules/@turf/area": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.3.1.tgz", + "integrity": "sha512-9nSiwt4zB5QDMcSoTxF28WpK1f741MNKcpUJDiHVRX08CZ4qfGWGV9ZIPQ8TVEn5RE4LyYkFuQ47Z9pdEUZE9Q==", "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/atob": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@types/atob/-/atob-2.1.4.tgz", - "integrity": "sha512-FisOhG87cCFqzCgq6FUtSYsTMOHCB/p28zJbSN1QBo4ZGJfg9PEhMjdIV++NDeOnloUUe0Gz6jwBV+L1Ac00Mw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, + "node_modules/@turf/bbox": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.3.1.tgz", + "integrity": "sha512-/IyMKoS7P9B0ch5PIlQ6gMfoE8gRr48+cSbzlyexvEjuDuaAV1VURjH1jAthS0ipFG8RrFxFJKnp7TLL1Skong==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, + "node_modules/@turf/boolean-crosses": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/boolean-crosses/-/boolean-crosses-7.3.1.tgz", + "integrity": "sha512-Fn99AxTXQORiQjclUqUYQcA40oJJoJxMBFx/Vycd7v949Lnplt1qrUkBpbZNXQlvHF2gxrgirSfgBDaUnUJjzQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "@turf/boolean-point-in-polygon": "7.3.1", + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@turf/line-intersect": "7.3.1", + "@turf/polygon-to-line": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, + "node_modules/@turf/boolean-disjoint": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-7.3.1.tgz", + "integrity": "sha512-bqVo+eAYaCq0lcr09zsZdWIAdv22UzGc/h2CCfaBwP5r4o/rFudNFLU9gb9BcM6dBUzrtTgBguShAZr7k3cGbw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@turf/boolean-point-in-polygon": "7.3.1", + "@turf/helpers": "7.3.1", + "@turf/line-intersect": "7.3.1", + "@turf/meta": "7.3.1", + "@turf/polygon-to-line": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, + "node_modules/@turf/boolean-overlap": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/boolean-overlap/-/boolean-overlap-7.3.1.tgz", + "integrity": "sha512-QhhsgCLzkwXIeZhaCmgE3H8yTANJGZatJ5IzQG3xnPTx7LiNAaa/ReN2/NroEv++8Yc0sr5Bkh6xWZOtew1dvQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@turf/line-intersect": "7.3.1", + "@turf/line-overlap": "7.3.1", + "@turf/meta": "7.3.1", + "@types/geojson": "^7946.0.10", + "geojson-equality-ts": "^1.0.2", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/boom": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/@types/boom/-/boom-7.3.5.tgz", - "integrity": "sha512-jBS0kU2s9W2sx+ILEyO4kxqIYLllqcUXTaVrBctvGptZ+4X3TWkkgY9+AmxdMPKrgiDDdLcfsaQCTu7bniLvgw==", - "dev": true, - "license": "MIT" + "node_modules/@turf/boolean-point-in-polygon": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.3.1.tgz", + "integrity": "sha512-BUPW63vE43LctwkgannjmEFTX1KFR/18SS7WzFahJWK1ZoP0s1jrfxGX+pi0BH/3Dd9mA71hkGKDDnj1Ndcz0g==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@types/geojson": "^7946.0.10", + "point-in-polygon-hao": "^1.1.0", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } }, - "node_modules/@types/btoa": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/btoa/-/btoa-1.2.5.tgz", - "integrity": "sha512-BItINdjZRlcGdI2efwK4bwxY5vEAT0SnIVfMOZVT18wp4900F1Lurqk/9PNdF9hMP1zgFmWbjVEtAsQKVcbqxA==", - "dev": true, + "node_modules/@turf/boolean-point-on-line": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-on-line/-/boolean-point-on-line-7.3.1.tgz", + "integrity": "sha512-8Hywuv7XFpSc8nfH0BJBtt+XTcJ7OjfjpX2Sz+ty8gyiY/2nCLLqq6amu3ebr67ruqZTDpPNQoGGUbUePjF3rA==", "license": "MIT", "dependencies": { - "@types/node": "*" + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/catbox": { - "version": "10.0.9", - "resolved": "https://registry.npmjs.org/@types/catbox/-/catbox-10.0.9.tgz", - "integrity": "sha512-4qXm1SmZurBMNFc/536+7gfbOlN43fWyoo4O0bdLqtpDK/cpuCYnEDou0Cl4naaMwuJ19rEwnuscR7tetGnTDA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/convict": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@types/convict/-/convict-6.1.6.tgz", - "integrity": "sha512-1B6jqWHWQud+7yyWAqbxnPmzlHrrOtJzZr1DhhYJ/NbpS4irfZSnq+N5Fm76J9LNRlUZvCmYxTVhhohWRvtqHw==", - "dev": true, + "node_modules/@turf/boolean-valid": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/boolean-valid/-/boolean-valid-7.3.1.tgz", + "integrity": "sha512-lpw4J5HaV4Tv033s2j/i6QHt6Zx/8Lc90DTfOU0axgRSrs127kbKNJsmDEGvtmV7YjNp8aPbIG1wwAX9wg/dMA==", "license": "MIT", "dependencies": { - "@types/node": "*" + "@turf/bbox": "7.3.1", + "@turf/boolean-crosses": "7.3.1", + "@turf/boolean-disjoint": "7.3.1", + "@turf/boolean-overlap": "7.3.1", + "@turf/boolean-point-in-polygon": "7.3.1", + "@turf/boolean-point-on-line": "7.3.1", + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@turf/line-intersect": "7.3.1", + "@types/geojson": "^7946.0.10", + "geojson-polygon-self-intersections": "^1.2.1", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, + "node_modules/@turf/distance": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-7.3.1.tgz", + "integrity": "sha512-DK//doTGgYYjBkcWUywAe7wbZYcdP97hdEJ6rXYVYRoULwGGR3lhY96GNjozg6gaW9q2eSNYnZLpcL5iFVHqgw==", "license": "MIT", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, + "node_modules/@turf/geojson-rbush": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/geojson-rbush/-/geojson-rbush-7.3.1.tgz", + "integrity": "sha512-EsrBBftZS5TvzRP2opLzwfnPXfmJi45KkGUcKSSFD0bxQe3BQUSmBrZbHMT8avB2s/XHrS/MniqsyeVOMwc35Q==", "license": "MIT", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@turf/bbox": "7.3.1", + "@turf/helpers": "7.3.1", + "@turf/meta": "7.3.1", + "@types/geojson": "^7946.0.10", + "rbush": "^3.0.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" + "node_modules/@turf/helpers": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.3.1.tgz", + "integrity": "sha512-zkL34JVhi5XhsuMEO0MUTIIFEJ8yiW1InMu4hu/oRqamlY4mMoZql0viEmH6Dafh/p+zOl8OYvMJ3Vm3rFshgg==", + "license": "MIT", + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, + "node_modules/@turf/invariant": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.3.1.tgz", + "integrity": "sha512-IdZJfDjIDCLH+Gu2yLFoSM7H23sdetIo5t4ET1/25X8gi3GE2XSqbZwaGjuZgNh02nisBewLqNiJs2bo+hrqZA==", "license": "MIT", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "@turf/helpers": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/govuk-frontend": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/@types/govuk-frontend/-/govuk-frontend-5.11.0.tgz", - "integrity": "sha512-XUl4XsWqUQPPf5hNlljWjtMfXiCms/ZwVfSA1w94fDW/426gXZnCjRNYR3POUEfCzjY088odIDsra7i+fD57TA==", - "dev": true, - "license": "MIT" + "node_modules/@turf/line-intersect": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-7.3.1.tgz", + "integrity": "sha512-HFPH4Hi+rG7XZ5rijkYL5C9JGVKd6gz6TToShVfqOt/qgGY9/bLYQxymgum/MG7sRhIa8xcKff2d57JrIVuSWA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "7.3.1", + "@types/geojson": "^7946.0.10", + "sweepline-intersections": "^1.5.0", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } }, - "node_modules/@types/hapi": { - "version": "18.0.15", - "resolved": "https://registry.npmjs.org/@types/hapi/-/hapi-18.0.15.tgz", - "integrity": "sha512-n7fXlpRAptQ+6N0JdQun+K4co2v3Wv5+KOFYLFV1xL8HEJ+EX8hqvbBmQg+uL3OkzwQZHvgCtHiBSdmCCDlrog==", - "dev": true, + "node_modules/@turf/line-overlap": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/line-overlap/-/line-overlap-7.3.1.tgz", + "integrity": "sha512-xIhTfPhJMwz57DvM+/JuzG2BUL/gR/pJfH6w+vofI3akej33LTR8b296h2dhcJjDixxprVVH062AD1Q3AGKyfg==", "license": "MIT", "dependencies": { - "@types/boom": "*", - "@types/catbox": "*", - "@types/iron": "*", - "@types/mimos": "*", - "@types/node": "*", - "@types/podium": "*", - "@types/shot": "*", - "joi": "^17.3.0" + "@turf/boolean-point-on-line": "7.3.1", + "@turf/geojson-rbush": "7.3.1", + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@turf/line-segment": "7.3.1", + "@turf/meta": "7.3.1", + "@turf/nearest-point-on-line": "7.3.1", + "@types/geojson": "^7946.0.10", + "fast-deep-equal": "^3.1.3", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/hapi__catbox": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/@types/hapi__catbox/-/hapi__catbox-10.2.6.tgz", - "integrity": "sha512-qdMHk4fBlwRfnBBDJaoaxb+fU9Ewi2xqkXD3mNjSPl2v/G/8IJbDpVRBuIcF7oXrcE8YebU5M8cCeKh1NXEn0w==", - "dev": true, - "license": "MIT" + "node_modules/@turf/line-segment": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-7.3.1.tgz", + "integrity": "sha512-hHz1fM2LigNKmnhyHDXtbRrkBqltH/lYEvhgSmv3laZ9PsEYL8jvA3o7+IhLM9B4KPa8N6VGim6ZR5YA5bhLvQ==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@turf/meta": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } }, - "node_modules/@types/hapi__catbox-memory": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/hapi__catbox-memory/-/hapi__catbox-memory-6.0.2.tgz", - "integrity": "sha512-0bx7IP02GItHGLOBvfVnKfNqFj/8dGmQksyY2Y+OZQB3EdfEBv0kO/SIi8dPkCRtnRc0KBFnnwjmUv8T70XVYA==", - "deprecated": "This is a stub types definition. @hapi/catbox-memory provides its own type definitions, so you do not need this installed.", - "dev": true, + "node_modules/@turf/meta": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.3.1.tgz", + "integrity": "sha512-NWsfOE5RVtWpLQNkfOF/RrYvLRPwwruxhZUV0UFIzHqfiRJ50aO9Y6uLY4bwCUe2TumLJQSR4yaoA72Rmr2mnQ==", "license": "MIT", "dependencies": { - "@hapi/catbox-memory": "*" + "@turf/helpers": "7.3.1", + "@types/geojson": "^7946.0.10" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/hapi__cookie": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@types/hapi__cookie/-/hapi__cookie-12.0.5.tgz", - "integrity": "sha512-rZNcJRDuutoSLHVHNSoIACabeGZEhjYFKqdW9vmucpUgE50YfPbtGPREzXEKOf2/1RR6d+jrSkNRwxUEaUIfsQ==", - "dev": true, + "node_modules/@turf/nearest-point-on-line": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-7.3.1.tgz", + "integrity": "sha512-FialyHfXXZWLayKQcUtdOtKv3ulOQ9FSI45kSmkDl8b96+VFWHX983Pc94tTrSTSg89+XX7MDr6gRl0yowmF4Q==", "license": "MIT", "dependencies": { - "@hapi/hapi": "^21.1.0", - "@types/node": "*", - "joi": "^17.7.0" + "@turf/distance": "7.3.1", + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@turf/meta": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/hapi__crumb": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/@types/hapi__crumb/-/hapi__crumb-7.3.7.tgz", - "integrity": "sha512-miEdR5NX0KY6aCr258ViwaxMCPlf98yBb3QiAi83x/gXVNWY3HXsaE0DkaNa+/SAm41eVuhiF+02F/QpaP7gvA==", - "dev": true, + "node_modules/@turf/polygon-to-line": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-7.3.1.tgz", + "integrity": "sha512-qTOFzn7SLQ0TcKBsPFAFYz7iiq34ijqinpjyr9fHQlFHRHeWzUXiWyIn5a2uOHazkdhHCEXNX8JPkt6hjdZ/fQ==", "license": "MIT", "dependencies": { - "@hapi/hapi": "^21.1.0", - "@types/node": "*", - "joi": "^17.7.0" + "@turf/helpers": "7.3.1", + "@turf/invariant": "7.3.1", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@types/hapi__yar": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/@types/hapi__yar/-/hapi__yar-10.1.6.tgz", - "integrity": "sha512-P7FOASHKDRxsG7wQJuw1USAyJhBDve46JyBUVmO+eqL/kymBpy+2fxZqTJqtegqSHjdqZWVZZEoUuDFP5erPpQ==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@hapi/hapi": "^21.1.0", - "@types/hapi__catbox": "*", - "@types/node": "*", - "joi": "^17.7.0" + "tslib": "^2.4.0" } }, - "node_modules/@types/hoek": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/hoek/-/hoek-4.1.7.tgz", - "integrity": "sha512-eRB9dZ/BxbXv6oIWIx5Nd5MotV9fClhD4UAhO6ZkPBqazbgoh4hE3a4VUpninmdY+IXc2edBx2MXL+me/S54Ww==", + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, "license": "MIT" }, - "node_modules/@types/humanize-duration": { - "version": "3.27.4", - "resolved": "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.4.tgz", - "integrity": "sha512-yaf7kan2Sq0goxpbcwTQ+8E9RP6HutFBPv74T/IA/ojcHKhuKVlk2YFYyHhWZeLvZPzzLE3aatuQB4h0iqyyUA==", + "node_modules/@types/atob": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/atob/-/atob-2.1.4.tgz", + "integrity": "sha512-FisOhG87cCFqzCgq6FUtSYsTMOHCB/p28zJbSN1QBo4ZGJfg9PEhMjdIV++NDeOnloUUe0Gz6jwBV+L1Ac00Mw==", + "dev": true, "license": "MIT" }, - "node_modules/@types/iron": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@types/iron/-/iron-5.0.5.tgz", - "integrity": "sha512-ndu2RvRJ5LWsSVF0kBMJe9qnNcFcAO9eYwzr2P4FOU6m5ypRrbdiX+d8x4GNG7lIn1mKShyQf3M08CIX4wPsEA==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@babel/types": "^7.0.0" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@types/jest": { - "version": "30.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", - "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, "license": "MIT", "dependencies": { - "expect": "^30.0.0", - "pretty-format": "^30.0.0" + "@babel/types": "^7.28.2" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/@types/boom": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@types/boom/-/boom-7.3.5.tgz", + "integrity": "sha512-jBS0kU2s9W2sx+ILEyO4kxqIYLllqcUXTaVrBctvGptZ+4X3TWkkgY9+AmxdMPKrgiDDdLcfsaQCTu7bniLvgw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "MIT" }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "node_modules/@types/btoa": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/btoa/-/btoa-1.2.5.tgz", + "integrity": "sha512-BItINdjZRlcGdI2efwK4bwxY5vEAT0SnIVfMOZVT18wp4900F1Lurqk/9PNdF9hMP1zgFmWbjVEtAsQKVcbqxA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "@types/node": "*" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "node_modules/@types/catbox": { + "version": "10.0.9", + "resolved": "https://registry.npmjs.org/@types/catbox/-/catbox-10.0.9.tgz", + "integrity": "sha512-4qXm1SmZurBMNFc/536+7gfbOlN43fWyoo4O0bdLqtpDK/cpuCYnEDou0Cl4naaMwuJ19rEwnuscR7tetGnTDA==", "dev": true, "license": "MIT" }, - "node_modules/@types/jsdom": { - "version": "21.1.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", - "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "node_modules/@types/convict": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@types/convict/-/convict-6.1.6.tgz", + "integrity": "sha512-1B6jqWHWQud+7yyWAqbxnPmzlHrrOtJzZr1DhhYJ/NbpS4irfZSnq+N5Fm76J9LNRlUZvCmYxTVhhohWRvtqHw==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "@types/node": "*" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", "license": "MIT" }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } }, - "node_modules/@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", - "dev": true, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", "license": "MIT" }, - "node_modules/@types/mime-db": { - "version": "1.43.6", - "resolved": "https://registry.npmjs.org/@types/mime-db/-/mime-db-1.43.6.tgz", - "integrity": "sha512-r2cqxAt/Eo5yWBOQie1lyM1JZFCiORa5xtLlhSZI0w8RJggBPKw8c4g/fgQCzWydaDR5bL4imnmix2d1n52iBw==", - "dev": true, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", "license": "MIT" }, - "node_modules/@types/mimos": { + "node_modules/@types/d3-contour": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/mimos/-/mimos-3.0.6.tgz", - "integrity": "sha512-pQlYu/Q1e5F5lyu7ATW4J2cyPOfjhRHZgAepZlKBbHqqAjshteHtNLqBXgx7KV5GjXjPLXWUvbzWaGwmVFPaYA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", "license": "MIT", "dependencies": { - "@types/mime-db": "*" + "@types/d3-array": "*", + "@types/geojson": "*" } }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", "license": "MIT" }, - "node_modules/@types/mysql": { - "version": "2.15.27", - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.27.tgz", - "integrity": "sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==", - "dev": true, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", "license": "MIT", "dependencies": { - "@types/node": "*" + "@types/d3-selection": "*" } }, - "node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", - "dev": true, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "@types/d3-dsv": "*" } }, - "node_modules/@types/nunjucks": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@types/nunjucks/-/nunjucks-3.2.6.tgz", - "integrity": "sha512-pHiGtf83na1nCzliuAdq8GowYiXvH5l931xZ0YEHaLMNFgynpEqx+IPStlu7UaDkehfvl01e4x/9Tpwhy7Ue3w==", - "dev": true, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", "license": "MIT" }, - "node_modules/@types/podium": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/podium/-/podium-1.0.4.tgz", - "integrity": "sha512-HuG5/hRHs9PxuXXlNFXPy7mHMnBD6Z4riED2SFGwjs+RcszJUkxLgYHQpoiDpYrhLv7sHk9WDyswybD6aNYkig==", - "dev": true, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", "license": "MIT" }, - "node_modules/@types/resolve": { - "version": "1.20.6", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", - "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", - "dev": true, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz", + "integrity": "sha512-QwjxA3+YCKH3N1Rs3uSiSy1bdxlLB1uUiENXeJudBoAFvtDuswUxLcanoOaR2JYn1melDTuIXR8VhnVyI3yG/A==", "license": "MIT" }, - "node_modules/@types/shot": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/shot/-/shot-4.0.5.tgz", - "integrity": "sha512-4wiGdy1sXfpcFgF1VAouUaSl6zjWn0v2NarNgviAJYm3BeiODywERnRtIC5YtNIbfh3UfShfCRD9yyeWAD7R0w==", - "dev": true, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", "license": "MIT", "dependencies": { - "@types/node": "*" + "@types/d3-color": "*" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", "license": "MIT" }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", "license": "MIT" }, - "node_modules/@types/url-parse": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.11.tgz", - "integrity": "sha512-FKvKIqRaykZtd4n47LbK/W/5fhQQ1X7cxxzG9A48h0BGN+S04NH7ervcCjM8tyR0lyGru83FAHSmw2ObgKoESg==", - "dev": true, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", "license": "MIT" }, - "node_modules/@types/webpack-assets-manifest": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-5.1.4.tgz", - "integrity": "sha512-v+OXN5idAs3V6w/szEalQn7PyOV7XQBpngizl9ztmJaSvLjXhp5WyHC5WqvtPDe0lKYskEiZkm1rXH67F49boA==", - "dev": true, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, + "node_modules/@types/d3-sankey": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@types/d3-sankey/-/d3-sankey-0.11.2.tgz", + "integrity": "sha512-U6SrTWUERSlOhnpSrgvMX64WblX1AxX6nEjI2t3mLK2USpQrnbwYYK+AS9SwiE7wgYmOsSSKoSdr8aoKBH0HgQ==", "license": "MIT", "dependencies": { - "@types/node": "*", - "tapable": "^2.2.0", - "webpack": "^5" + "@types/d3-shape": "^1" } }, - "node_modules/@types/wreck": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/@types/wreck/-/wreck-14.0.5.tgz", - "integrity": "sha512-y2miG7Z6KYNoJ2sV5MImONyEQ9ne1yULrmEWYOmGa47KhlukiwQZe3MuFSNa/BlVA65crBzWWRtcCUaEdT1eqQ==", - "dev": true, + "node_modules/@types/d3-sankey/node_modules/@types/d3-path": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-1.0.11.tgz", + "integrity": "sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==", + "license": "MIT" + }, + "node_modules/@types/d3-sankey/node_modules/@types/d3-shape": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.12.tgz", + "integrity": "sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==", "license": "MIT", "dependencies": { - "@types/boom": "*", - "@types/node": "*" + "@types/d3-path": "^1" } }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@types/d3-time": "*" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", "license": "MIT" }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.4.tgz", - "integrity": "sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==", - "dev": true, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", "license": "MIT", - "peer": true, "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/type-utils": "8.46.4", - "@typescript-eslint/utils": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.46.4", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@types/d3-path": "*" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.4.tgz", - "integrity": "sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==", - "dev": true, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@types/d3-selection": "*" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.4.tgz", - "integrity": "sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==", - "dev": true, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.46.4", - "@typescript-eslint/types": "^8.46.4", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.4.tgz", - "integrity": "sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==", + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.4.tgz", - "integrity": "sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==", + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.4.tgz", - "integrity": "sha512-V4QC8h3fdT5Wro6vANk6eojqfbv5bpwHuMsBcJUJkqs2z5XnYhJzyz9Y02eUmF9u3PgXEUiOt4w4KHR3P+z0PQ==", + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, + "license": "MIT" + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4", - "@typescript-eslint/utils": "8.46.4", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@types/geojson": "*" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.4.tgz", - "integrity": "sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==", + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.4.tgz", - "integrity": "sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==", + "node_modules/@types/govuk-frontend": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@types/govuk-frontend/-/govuk-frontend-5.11.0.tgz", + "integrity": "sha512-XUl4XsWqUQPPf5hNlljWjtMfXiCms/ZwVfSA1w94fDW/426gXZnCjRNYR3POUEfCzjY088odIDsra7i+fD57TA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hapi": { + "version": "18.0.15", + "resolved": "https://registry.npmjs.org/@types/hapi/-/hapi-18.0.15.tgz", + "integrity": "sha512-n7fXlpRAptQ+6N0JdQun+K4co2v3Wv5+KOFYLFV1xL8HEJ+EX8hqvbBmQg+uL3OkzwQZHvgCtHiBSdmCCDlrog==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.46.4", - "@typescript-eslint/tsconfig-utils": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "@types/boom": "*", + "@types/catbox": "*", + "@types/iron": "*", + "@types/mimos": "*", + "@types/node": "*", + "@types/podium": "*", + "@types/shot": "*", + "joi": "^17.3.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "node_modules/@types/hapi__catbox": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/@types/hapi__catbox/-/hapi__catbox-10.2.6.tgz", + "integrity": "sha512-qdMHk4fBlwRfnBBDJaoaxb+fU9Ewi2xqkXD3mNjSPl2v/G/8IJbDpVRBuIcF7oXrcE8YebU5M8cCeKh1NXEn0w==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "license": "MIT" + }, + "node_modules/@types/hapi__catbox-memory": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/hapi__catbox-memory/-/hapi__catbox-memory-6.0.2.tgz", + "integrity": "sha512-0bx7IP02GItHGLOBvfVnKfNqFj/8dGmQksyY2Y+OZQB3EdfEBv0kO/SIi8dPkCRtnRc0KBFnnwjmUv8T70XVYA==", + "deprecated": "This is a stub types definition. @hapi/catbox-memory provides its own type definitions, so you do not need this installed.", + "dev": true, + "license": "MIT", + "dependencies": { + "@hapi/catbox-memory": "*" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.4.tgz", - "integrity": "sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==", + "node_modules/@types/hapi__cookie": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@types/hapi__cookie/-/hapi__cookie-12.0.5.tgz", + "integrity": "sha512-rZNcJRDuutoSLHVHNSoIACabeGZEhjYFKqdW9vmucpUgE50YfPbtGPREzXEKOf2/1RR6d+jrSkNRwxUEaUIfsQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@hapi/hapi": "^21.1.0", + "@types/node": "*", + "joi": "^17.7.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.4.tgz", - "integrity": "sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==", + "node_modules/@types/hapi__crumb": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@types/hapi__crumb/-/hapi__crumb-7.3.7.tgz", + "integrity": "sha512-miEdR5NX0KY6aCr258ViwaxMCPlf98yBb3QiAi83x/gXVNWY3HXsaE0DkaNa+/SAm41eVuhiF+02F/QpaP7gvA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@hapi/hapi": "^21.1.0", + "@types/node": "*", + "joi": "^17.7.0" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "node_modules/@types/hapi__yar": { + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/@types/hapi__yar/-/hapi__yar-10.1.6.tgz", + "integrity": "sha512-P7FOASHKDRxsG7wQJuw1USAyJhBDve46JyBUVmO+eqL/kymBpy+2fxZqTJqtegqSHjdqZWVZZEoUuDFP5erPpQ==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "license": "MIT", + "dependencies": { + "@hapi/hapi": "^21.1.0", + "@types/hapi__catbox": "*", + "@types/node": "*", + "joi": "^17.7.0" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "node_modules/@types/hoek": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/hoek/-/hoek-4.1.7.tgz", + "integrity": "sha512-eRB9dZ/BxbXv6oIWIx5Nd5MotV9fClhD4UAhO6ZkPBqazbgoh4hE3a4VUpninmdY+IXc2edBx2MXL+me/S54Ww==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], + "node_modules/@types/humanize-duration": { + "version": "3.27.4", + "resolved": "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.4.tgz", + "integrity": "sha512-yaf7kan2Sq0goxpbcwTQ+8E9RP6HutFBPv74T/IA/ojcHKhuKVlk2YFYyHhWZeLvZPzzLE3aatuQB4h0iqyyUA==", + "license": "MIT" + }, + "node_modules/@types/iron": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@types/iron/-/iron-5.0.5.tgz", + "integrity": "sha512-ndu2RvRJ5LWsSVF0kBMJe9qnNcFcAO9eYwzr2P4FOU6m5ypRrbdiX+d8x4GNG7lIn1mKShyQf3M08CIX4wPsEA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@types/node": "*" + } }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], + "node_modules/@types/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.0.0" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], + "node_modules/@types/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], + "node_modules/@types/mime-db": { + "version": "1.43.6", + "resolved": "https://registry.npmjs.org/@types/mime-db/-/mime-db-1.43.6.tgz", + "integrity": "sha512-r2cqxAt/Eo5yWBOQie1lyM1JZFCiORa5xtLlhSZI0w8RJggBPKw8c4g/fgQCzWydaDR5bL4imnmix2d1n52iBw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], + "node_modules/@types/mimos": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/mimos/-/mimos-3.0.6.tgz", + "integrity": "sha512-pQlYu/Q1e5F5lyu7ATW4J2cyPOfjhRHZgAepZlKBbHqqAjshteHtNLqBXgx7KV5GjXjPLXWUvbzWaGwmVFPaYA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@types/mime-db": "*" + } }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], + "node_modules/@types/mysql": { + "version": "2.15.27", + "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.27.tgz", + "integrity": "sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" + "@types/node": "*" } }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "undici-types": "~7.16.0" + } }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], + "node_modules/@types/nunjucks": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@types/nunjucks/-/nunjucks-3.2.6.tgz", + "integrity": "sha512-pHiGtf83na1nCzliuAdq8GowYiXvH5l931xZ0YEHaLMNFgynpEqx+IPStlu7UaDkehfvl01e4x/9Tpwhy7Ue3w==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], + "node_modules/@types/podium": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/podium/-/podium-1.0.4.tgz", + "integrity": "sha512-HuG5/hRHs9PxuXXlNFXPy7mHMnBD6Z4riED2SFGwjs+RcszJUkxLgYHQpoiDpYrhLv7sHk9WDyswybD6aNYkig==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/polylabel": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/polylabel/-/polylabel-1.1.3.tgz", + "integrity": "sha512-9Zw2KoDpi+T4PZz2G6pO2xArE0m/GSMTW1MIxF2s8ZY8x9XDO6fv9um0ydRGvcbkFLlaq8yNK6eZxnmMZtDgWQ==", + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", + "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/shot": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/shot/-/shot-4.0.5.tgz", + "integrity": "sha512-4wiGdy1sXfpcFgF1VAouUaSl6zjWn0v2NarNgviAJYm3BeiODywERnRtIC5YtNIbfh3UfShfCRD9yyeWAD7R0w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@types/node": "*" + } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "node_modules/@types/sortablejs": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.15.9.tgz", + "integrity": "sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ==", + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true, + "license": "MIT" + }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + "@types/geojson": "*" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "node_modules/@types/svg-arc-to-cubic-bezier": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@types/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.3.tgz", + "integrity": "sha512-UNOnbTtl0nVTm8hwKaz5R5VZRvSulFMGojO5+Q7yucKxBoCaTtS4ibSQVRHo5VW5AaRo145U8p1Vfg5KrYe9Bg==", + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true, "license": "MIT" }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@types/url-parse": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.11.tgz", + "integrity": "sha512-FKvKIqRaykZtd4n47LbK/W/5fhQQ1X7cxxzG9A48h0BGN+S04NH7ervcCjM8tyR0lyGru83FAHSmw2ObgKoESg==", "dev": true, "license": "MIT" }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "node_modules/@types/webpack-assets-manifest": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-5.1.4.tgz", + "integrity": "sha512-v+OXN5idAs3V6w/szEalQn7PyOV7XQBpngizl9ztmJaSvLjXhp5WyHC5WqvtPDe0lKYskEiZkm1rXH67F49boA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "tapable": "^2.2.0", + "webpack": "^5" + } + }, + "node_modules/@types/wreck": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/@types/wreck/-/wreck-14.0.5.tgz", + "integrity": "sha512-y2miG7Z6KYNoJ2sV5MImONyEQ9ne1yULrmEWYOmGa47KhlukiwQZe3MuFSNa/BlVA65crBzWWRtcCUaEdT1eqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/boom": "*", + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.4.tgz", + "integrity": "sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/type-utils": "8.46.4", + "@typescript-eslint/utils": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.46.4", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.4.tgz", + "integrity": "sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.4.tgz", + "integrity": "sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.46.4", + "@typescript-eslint/types": "^8.46.4", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.4.tgz", + "integrity": "sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.4.tgz", + "integrity": "sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.4.tgz", + "integrity": "sha512-V4QC8h3fdT5Wro6vANk6eojqfbv5bpwHuMsBcJUJkqs2z5XnYhJzyz9Y02eUmF9u3PgXEUiOt4w4KHR3P+z0PQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4", + "@typescript-eslint/utils": "8.46.4", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.4.tgz", + "integrity": "sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.4.tgz", + "integrity": "sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.46.4", + "@typescript-eslint/tsconfig-utils": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/visitor-keys": "8.46.4", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.4.tgz", + "integrity": "sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.46.4", + "@typescript-eslint/types": "8.46.4", + "@typescript-eslint/typescript-estree": "8.46.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.46.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.4.tgz", + "integrity": "sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.46.4", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vaadin/a11y-base": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.9.7.tgz", + "integrity": "sha512-JkF2kGYmFIr5CAIKPJjI8qZY51LGauah37Z7EZD1tD95vLbyRQVtE8CtumeZXwvJOoKv5t8tLvYTMn0z53jW0w==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/checkbox": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.9.7.tgz", + "integrity": "sha512-UQG7AAArC/dI7p+QpaBQPDtzSHPVEK+24s5HiqnUYDGQUvU/XvSa5oYWDO+BqqHn4IZLS0dp+g9tAmkxt5fI2A==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.9.7", + "@vaadin/component-base": "~24.9.7", + "@vaadin/field-base": "~24.9.7", + "@vaadin/vaadin-lumo-styles": "~24.9.7", + "@vaadin/vaadin-material-styles": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/component-base": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.9.7.tgz", + "integrity": "sha512-9IsgcC0rF7iitcnoa9q3TnnOtMeBtPjq6RXdcgux5FZTefpCWCEvv+hq8IiXMpalM5Fm9NuhFsp6T08haczU+g==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-development-mode-detector": "^2.0.0", + "@vaadin/vaadin-usage-statistics": "^2.1.0", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/field-base": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.9.7.tgz", + "integrity": "sha512-+Rj1LvKXeTNbvOfxq2QRjsAD95lIVAZmy/TCAh49rfDd5eUh94qxgrMnaBFbIU+g+byTszPAVySkdHZo52C+Qg==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.9.7", + "@vaadin/component-base": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/grid": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.9.7.tgz", + "integrity": "sha512-4aPxH32BG5TRlans8t3895f3qeciH4XRYuu62RCfOw/dEYlCpwNftnJX2HPv0Goj1AgdNAq24TijKYPxLa/WAQ==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.9.7", + "@vaadin/checkbox": "~24.9.7", + "@vaadin/component-base": "~24.9.7", + "@vaadin/lit-renderer": "~24.9.7", + "@vaadin/text-field": "~24.9.7", + "@vaadin/vaadin-lumo-styles": "~24.9.7", + "@vaadin/vaadin-material-styles": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/icon": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.9.7.tgz", + "integrity": "sha512-H1BmjZeo0XKVe4xoIt1INp7TdbwAOM+hoe3T+EZUJPjwn20iGRPI3iupGVEoySeh8fQnXzyV9fFMlitMmeYFyQ==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.9.7", + "@vaadin/vaadin-lumo-styles": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/input-container": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.9.7.tgz", + "integrity": "sha512-KZ8EAakEOWi+yAub3RYyT8HDLwFSsN7ty50jJWqQcRxJ8F+lCGXYc/9MBDNAK6rq9r++urbyc9HaJZydUvYcZg==", + "license": "Apache-2.0", + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.9.7", + "@vaadin/vaadin-lumo-styles": "~24.9.7", + "@vaadin/vaadin-material-styles": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/lit-renderer": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.9.7.tgz", + "integrity": "sha512-WZriGHq8Iz2Rl7mVy0XXybNPrxx3VHV9jgZebXMORfDJkHGF/azLd+ElX6cMiIemWVft9SNWkeZ8x83oITHxlQ==", + "license": "Apache-2.0", + "dependencies": { + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/text-field": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.9.7.tgz", + "integrity": "sha512-p8OO2kJGoYjlvmfjZst1oMPeFYwXav83/H5FH/2A4cXJh9gInFYcReoTA9Xvmf2zfVuMfPZO73X8yOKd0e52IA==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.9.7", + "@vaadin/component-base": "~24.9.7", + "@vaadin/field-base": "~24.9.7", + "@vaadin/input-container": "~24.9.7", + "@vaadin/vaadin-lumo-styles": "~24.9.7", + "@vaadin/vaadin-material-styles": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/vaadin-development-mode-detector": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.7.tgz", + "integrity": "sha512-9FhVhr0ynSR3X2ao+vaIEttcNU5XfzCbxtmYOV8uIRnUCtNgbvMOIcyGBvntsX9I5kvIP2dV3cFAOG9SILJzEA==", + "license": "Apache-2.0" + }, + "node_modules/@vaadin/vaadin-lumo-styles": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.9.7.tgz", + "integrity": "sha512-sxceUR2740h/Ah9puwOHuDNomDQwJcAAh5xYoHIWAKNQtEuNdvvzmodlZtLiTHkRqcaPWbqefI8mfDCCcF0VJQ==", + "license": "Apache-2.0", + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.9.7", + "@vaadin/icon": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7" + } + }, + "node_modules/@vaadin/vaadin-material-styles": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.9.7.tgz", + "integrity": "sha512-+1sJ/sQSs0GAe1CwljEakZD6fkciJZKbB1vvAySX6YShBzeG14UakY/Uv5Kflwpqu2qcyHAlxHIBMEf2s9+VwA==", + "license": "Apache-2.0", + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.9.7", + "@vaadin/vaadin-themable-mixin": "~24.9.7" + } + }, + "node_modules/@vaadin/vaadin-themable-mixin": { + "version": "24.9.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.9.7.tgz", + "integrity": "sha512-NqUMCxaJzDtdl2wLKeeqrEryvxcFFhj0twFaAhPzzAmcJvD6/MO7CkE/zzyynaZ8qhfo8ocXYGRpxC8fAJSCgA==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "lit": "^3.0.0", + "style-observer": "^0.0.8" + } + }, + "node_modules/@vaadin/vaadin-usage-statistics": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.3.tgz", + "integrity": "sha512-8r4TNknD7OJQADe3VygeofFR7UNAXZ2/jjBFP5dgI8+2uMfnuGYgbuHivasKr9WSQ64sPej6m8rDoM1uSllXjQ==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@vaadin/vaadin-development-mode-detector": "^2.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webcomponents/shadycss": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.2.tgz", + "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", + "license": "BSD-3-Clause" + }, + "node_modules/@webpack-cli/configtest": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@zip.js/zip.js": { + "version": "2.8.14", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.14.tgz", + "integrity": "sha512-BZ7OyJLA5cjYwf2jVjvZCK10swzIc6sDOLpkPjJXfXgx/IHF5y61PyL3Ko5/q3bUU5GvIhk6tzKDUcDJ7rhzbg==", + "license": "BSD-3-Clause", + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=18.0.0" + } + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "license": "MIT" + }, + "node_modules/abstract-logging": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", + "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", + "license": "MIT" + }, + "node_modules/accessible-autocomplete": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/accessible-autocomplete/-/accessible-autocomplete-3.0.1.tgz", + "integrity": "sha512-xMshgc2LT5addvvfCTGzIkRrvhbOFeylFSnSMfS/PdjvvvElZkakCwxO3/yJYBWyi1hi3tZloqOJQ5kqqJtH4g==", + "license": "MIT", + "peerDependencies": { + "preact": "^8.0.0" + }, + "peerDependenciesMeta": { + "preact": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "node_modules/autoprefixer": { + "version": "10.4.22", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", + "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", "dev": true, - "license": "Apache-2.0", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@xtuc/long": "4.2.2" + "browserslist": "^4.27.0", + "caniuse-lite": "^1.0.30001754", + "fraction.js": "^5.3.4", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "node_modules/babel-jest": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", + "integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" + "@jest/transform": "30.2.0", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "node_modules/babel-loader": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", + "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" + "find-up": "^5.0.0" + }, + "engines": { + "node": "^18.20.0 || ^20.10.0 || >=22.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5.61.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", + "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "node_modules/babel-plugin-jest-hoist": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz", + "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "node_modules/babel-plugin-module-resolver": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz", + "integrity": "sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" + "dependencies": { + "find-babel-config": "^2.1.1", + "glob": "^9.3.3", + "pkg-up": "^3.1.0", + "reselect": "^4.1.7", + "resolve": "^1.22.8" } }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "node_modules/babel-plugin-module-resolver/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, "engines": { - "node": ">=18.12.0" + "node": ">=16 || 14 >=14.17" }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "node_modules/babel-plugin-module-resolver/node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" + "engines": { + "node": ">=16 || 14 >=14.17" }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "node_modules/babel-plugin-module-resolver/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "ISC", + "engines": { + "node": ">=8" + } }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, - "license": "Apache-2.0" - }, - "node_modules/a-sync-waterfall": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", - "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", - "license": "MIT" - }, - "node_modules/abstract-logging": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", - "license": "MIT" - }, - "node_modules/accessible-autocomplete": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/accessible-autocomplete/-/accessible-autocomplete-3.0.1.tgz", - "integrity": "sha512-xMshgc2LT5addvvfCTGzIkRrvhbOFeylFSnSMfS/PdjvvvElZkakCwxO3/yJYBWyi1hi3tZloqOJQ5kqqJtH4g==", "license": "MIT", - "peerDependencies": { - "preact": "^8.0.0" + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" }, - "peerDependenciesMeta": { - "preact": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "license": "MIT", - "peer": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, - "engines": { - "node": ">=0.4.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10.13.0" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { - "acorn": "^8.14.0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/babel-plugin-replace-import-extension": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/babel-plugin-replace-import-extension/-/babel-plugin-replace-import-extension-1.1.5.tgz", + "integrity": "sha512-gqXyzEEQ7pAdH8+twgt+GzwJB/5l3CzN+kbX1YxmX1f/qxMqb1q4Sm6ugpGqezt9QxdD/SKfoDnJHSlZryv+jA==", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "license": "Apache-2.0" }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "license": "MIT", - "engines": { - "node": ">= 14" + "node_modules/babel-plugin-transform-import-meta": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-import-meta/-/babel-plugin-transform-import-meta-2.3.3.tgz", + "integrity": "sha512-bbh30qz1m6ZU1ybJoNOhA2zaDvmeXMnGNBMVMDOJ1Fni4+wMBoy/j7MTRVmqAUCIcy54/rEnr9VEBsfcgbpm3Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/template": "^7.25.9", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@babel/core": "^7.10.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "node_modules/babel-preset-jest": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz", + "integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^8.0.0" + "babel-plugin-jest-hoist": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0" }, - "peerDependencies": { - "ajv": "^8.0.0" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.29.tgz", + "integrity": "sha512-sXdt2elaVnhpDNRDz+1BDx1JQoJRuNk7oVlAlbGiFkLikHCAQiccexF/9e91zVi6RCgqspl04aP+6Cnl9zRLrA==", "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, "engines": { "node": ">=8" }, @@ -6132,198 +7979,234 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node_modules/blankie": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/blankie/-/blankie-5.0.0.tgz", + "integrity": "sha512-LVHCsOC7R7uUbHX2WGq+NMGSMzyrGI1BMpMQybBmVJJSue8iWOZ/V2Ju3fqf5hSAhdrv27/ndDUFXMwgTAr9YQ==", + "license": "MIT", + "dependencies": { + "@hapi/hoek": "^9.0.3", + "@hapi/joi": "^17.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8.9.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/blankie/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/blipp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/blipp/-/blipp-4.0.2.tgz", + "integrity": "sha512-QA5amT0IFJgCFgJeWw2udD2zZLui60NgqXTyvbSq+qpVbS6jfqELTRlC8PWW0yD4+chdZ2a+svnN6WE9zqfK5Q==", + "license": "BSD", + "dependencies": { + "@hapi/hoek": "9.x.x", + "chalk": "4.x.x", + "easy-table": "1.x.x", + "joi": "17.x.x" + } + }, + "node_modules/blipp/node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "base64-js": "^1.1.2" } }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "node_modules/browserslist": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, "engines": { - "node": ">=14" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "dequal": "^2.0.3" + "node-int64": "^0.4.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "btoa": "bin/btoa.js" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.4.0" } }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "node_modules/buffer-builder": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", + "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", + "dev": true, + "license": "MIT/X11" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "node_modules/builtins": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, "license": "MIT", "dependencies": { - "array-uniq": "^1.0.1" + "semver": "^7.0.0" + } + }, + "node_modules/builtins/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "node_modules/cacheable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.2.0.tgz", + "integrity": "sha512-LEJxRqfeomiiRd2t0uON6hxAtgOoWDfY3fugebbz+J3vDLO+SkdfFChQcOHTZhj9SYa9iwE9MGYNX72dKiOE4w==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@cacheable/memory": "^2.0.5", + "@cacheable/utils": "^2.3.0", + "hookified": "^1.13.0", + "keyv": "^5.5.4", + "qified": "^0.5.2" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "node_modules/cacheable/node_modules/@cacheable/utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.0.tgz", + "integrity": "sha512-qznqu6bpEei96zojGW+/IX1VXTOihznnVOK/kzyQWcqgn7SqkC3216nsX7M4BQfGwQgnxUXZ1xX7xiUoedqLPA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" + "hashery": "^1.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "keyv": "^5.5.4" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "node_modules/cacheable/node_modules/keyv": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz", + "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@keyv/serialize": "^1.1.1" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -6332,1460 +8215,1412 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "license": "MIT" - }, - "node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" + "node": ">=6" } }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8.0.0" + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/autoprefixer": { - "version": "10.4.22", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", - "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", + "node_modules/caniuse-lite": { + "version": "1.0.30001755", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001755.tgz", + "integrity": "sha512-44V+Jm6ctPj7R52Na4TLi3Zri4dWUljJd+RDm+j8LtNCc/ihLCT+X1TzoOAkRETEWqjuLnh9581Tl80FvK7jVA==", "dev": true, "funding": [ { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { - "browserslist": "^4.27.0", - "caniuse-lite": "^1.0.30001754", - "fraction.js": "^5.3.4", - "normalize-range": "^0.1.2", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { - "possible-typed-array-names": "^1.0.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.10.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/babel-jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", - "integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==", + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.1.tgz", + "integrity": "sha512-+CmxIZ/L2vNcEfvNtLdU0ZQ6mbq3FZnwAP2PPTiKP+1QOoKwlKlPgb8UKV0Dds7QVaMnHm+FwSft2VB0s/SLjQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.2.0", - "@types/babel__core": "^7.20.5", - "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.2.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "slash": "^3.0.0" + "del": "^4.1.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10.0.0" }, "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-0" + "webpack": ">=4.0.0 <6.0.0" } }, - "node_modules/babel-jest/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-loader": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", - "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^5.0.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": "^18.20.0 || ^20.10.0 || >=22.0.0" + "node": ">=18" }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5.61.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-plugin-istanbul": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", - "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "BSD-3-Clause", - "workspaces": [ - "test/babel-8" - ], + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-instrument": "^6.0.2", - "test-exclude": "^6.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { "node": ">=12" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz", - "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/babel__core": "^7.20.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } + "license": "MIT" }, - "node_modules/babel-plugin-module-resolver": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz", - "integrity": "sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg==", + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", - "dependencies": { - "find-babel-config": "^2.1.1", - "glob": "^9.3.3", - "pkg-up": "^3.1.0", - "reselect": "^4.1.7", - "resolve": "^1.22.8" + "engines": { + "node": ">=8" } }, - "node_modules/babel-plugin-module-resolver/node_modules/glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/babel-plugin-module-resolver/node_modules/minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/babel-plugin-module-resolver/node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true, - "license": "ISC", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", - "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.7", - "@babel/helper-define-polyfill-provider": "^0.6.5", - "semver": "^6.3.1" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" + "isobject": "^3.0.1" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", - "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/babel-plugin-replace-import-extension": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/babel-plugin-replace-import-extension/-/babel-plugin-replace-import-extension-1.1.5.tgz", - "integrity": "sha512-gqXyzEEQ7pAdH8+twgt+GzwJB/5l3CzN+kbX1YxmX1f/qxMqb1q4Sm6ugpGqezt9QxdD/SKfoDnJHSlZryv+jA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/babel-plugin-transform-import-meta": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-import-meta/-/babel-plugin-transform-import-meta-2.3.3.tgz", - "integrity": "sha512-bbh30qz1m6ZU1ybJoNOhA2zaDvmeXMnGNBMVMDOJ1Fni4+wMBoy/j7MTRVmqAUCIcy54/rEnr9VEBsfcgbpm3Q==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/template": "^7.25.9", - "tslib": "^2.8.1" - }, - "peerDependencies": { - "@babel/core": "^7.10.0" + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", - "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" + "license": "MIT" + }, + "node_modules/color": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", + "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", + "license": "MIT", + "dependencies": { + "color-convert": "^3.1.3", + "color-string": "^2.1.3" }, - "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" + "engines": { + "node": ">=18" } }, - "node_modules/babel-preset-jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz", - "integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==", - "dev": true, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "30.2.0", - "babel-preset-current-node-syntax": "^1.2.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + "node": ">=7.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.29.tgz", - "integrity": "sha512-sXdt2elaVnhpDNRDz+1BDx1JQoJRuNk7oVlAlbGiFkLikHCAQiccexF/9e91zVi6RCgqspl04aP+6Cnl9zRLrA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "node_modules/color-string": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", + "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, "engines": { - "node": ">=10.0.0" + "node": ">=18" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/color-string/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12.20" } }, - "node_modules/blankie": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/blankie/-/blankie-5.0.0.tgz", - "integrity": "sha512-LVHCsOC7R7uUbHX2WGq+NMGSMzyrGI1BMpMQybBmVJJSue8iWOZ/V2Ju3fqf5hSAhdrv27/ndDUFXMwgTAr9YQ==", + "node_modules/color/node_modules/color-convert": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", + "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", "license": "MIT", "dependencies": { - "@hapi/hoek": "^9.0.3", - "@hapi/joi": "^17.1.0" + "color-name": "^2.0.0" }, "engines": { - "node": ">= 8.9.0" + "node": ">=14.6" } }, - "node_modules/blankie/node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/blipp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/blipp/-/blipp-4.0.2.tgz", - "integrity": "sha512-QA5amT0IFJgCFgJeWw2udD2zZLui60NgqXTyvbSq+qpVbS6jfqELTRlC8PWW0yD4+chdZ2a+svnN6WE9zqfK5Q==", - "license": "BSD", - "dependencies": { - "@hapi/hoek": "9.x.x", - "chalk": "4.x.x", - "easy-table": "1.x.x", - "joi": "17.x.x" + "node_modules/color/node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "engines": { + "node": ">=12.20" } }, - "node_modules/blipp/node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">= 6" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/comment-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "dev": true, "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, "engines": { - "node": ">=8" + "node": ">= 12.0.0" } }, - "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "node_modules/composed-offset-position": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/composed-offset-position/-/composed-offset-position-0.0.6.tgz", + "integrity": "sha512-Q7dLompI6lUwd7LWyIcP66r4WcS9u7AL2h8HaeipiRfCRPLMWqRx8fYsjb4OHi6UQFifO7XtNC2IlEJ1ozIFxw==", + "license": "MIT", + "peerDependencies": { + "@floating-ui/utils": "^0.2.5" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" }, "bin": { - "browserslist": "cli.js" + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "license": "(MIT OR Apache-2.0)", - "bin": { - "btoa": "bin/btoa.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/buffer-builder": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", - "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", - "dev": true, - "license": "MIT/X11" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/convict": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/convict/-/convict-6.2.4.tgz", + "integrity": "sha512-qN60BAwdMVdofckX7AlohVJ2x9UvjTNoKVXCL2LxFk1l7757EJqf1nySdMkPQer0bt8kQ5lQiyZ9/2NvrFBuwQ==", + "license": "Apache-2.0", + "dependencies": { + "lodash.clonedeep": "^4.5.0", + "yargs-parser": "^20.2.7" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "node_modules/copy-webpack-plugin": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", + "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.0.0" + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "node_modules/builtins/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "is-glob": "^4.0.3" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" } }, - "node_modules/cacheable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.2.0.tgz", - "integrity": "sha512-LEJxRqfeomiiRd2t0uON6hxAtgOoWDfY3fugebbz+J3vDLO+SkdfFChQcOHTZhj9SYa9iwE9MGYNX72dKiOE4w==", - "dev": true, + "node_modules/core-js": { + "version": "3.46.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.46.0.tgz", + "integrity": "sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "@cacheable/memory": "^2.0.5", - "@cacheable/utils": "^2.3.0", - "hookified": "^1.13.0", - "keyv": "^5.5.4", - "qified": "^0.5.2" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/cacheable/node_modules/@cacheable/utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.0.tgz", - "integrity": "sha512-qznqu6bpEei96zojGW+/IX1VXTOihznnVOK/kzyQWcqgn7SqkC3216nsX7M4BQfGwQgnxUXZ1xX7xiUoedqLPA==", + "node_modules/core-js-compat": { + "version": "3.46.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz", + "integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==", "dev": true, "license": "MIT", "dependencies": { - "hashery": "^1.2.0" + "browserslist": "^4.26.3" }, - "peerDependencies": { - "keyv": "^5.5.4" - } - }, - "node_modules/cacheable/node_modules/keyv": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz", - "integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@keyv/serialize": "^1.1.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 8" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/css-declaration-sorter": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz", + "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, + "license": "ISC", "engines": { - "node": ">= 0.4" + "node": "^14 || ^16 || >=18" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12 || >=16" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001755", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001755.tgz", - "integrity": "sha512-44V+Jm6ctPj7R52Na4TLi3Zri4dWUljJd+RDm+j8LtNCc/ihLCT+X1TzoOAkRETEWqjuLnh9581Tl80FvK7jVA==", + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=10" + "node": ">= 6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csscolorparser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==", + "license": "MIT" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "license": "MIT" + }, + "node_modules/cssnano": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.2.tgz", + "integrity": "sha512-HYOPBsNvoiFeR1eghKD5C3ASm64v9YVyJB4Ivnl2gqKoQYvjjN/G0rztvKQq8OxocUtC6sjqY8jwYngIB4AByA==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "cssnano-preset-default": "^7.0.10", + "lilconfig": "^3.1.3" }, "engines": { - "node": ">= 8.10.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" }, "funding": { - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/cssnano" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependencies": { + "postcss": "^8.4.32" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "node_modules/cssnano-preset-default": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.10.tgz", + "integrity": "sha512-6ZBjW0Lf1K1Z+0OKUAUpEN62tSXmYChXWi2NAA0afxEVsj9a+MbcB1l5qel6BHJHmULai2fCGRthCeKSFbScpA==", "dev": true, "license": "MIT", + "dependencies": { + "browserslist": "^4.27.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.1", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.5", + "postcss-convert-values": "^7.0.8", + "postcss-discard-comments": "^7.0.5", + "postcss-discard-duplicates": "^7.0.2", + "postcss-discard-empty": "^7.0.1", + "postcss-discard-overridden": "^7.0.1", + "postcss-merge-longhand": "^7.0.5", + "postcss-merge-rules": "^7.0.7", + "postcss-minify-font-values": "^7.0.1", + "postcss-minify-gradients": "^7.0.1", + "postcss-minify-params": "^7.0.5", + "postcss-minify-selectors": "^7.0.5", + "postcss-normalize-charset": "^7.0.1", + "postcss-normalize-display-values": "^7.0.1", + "postcss-normalize-positions": "^7.0.1", + "postcss-normalize-repeat-style": "^7.0.1", + "postcss-normalize-string": "^7.0.1", + "postcss-normalize-timing-functions": "^7.0.1", + "postcss-normalize-unicode": "^7.0.5", + "postcss-normalize-url": "^7.0.1", + "postcss-normalize-whitespace": "^7.0.1", + "postcss-ordered-values": "^7.0.2", + "postcss-reduce-initial": "^7.0.5", + "postcss-reduce-transforms": "^7.0.1", + "postcss-svgo": "^7.1.0", + "postcss-unique-selectors": "^7.0.4" + }, "engines": { - "node": ">=6.0" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" } }, - "node_modules/ci-info": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", - "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "node_modules/cssnano-utils": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.1.tgz", + "integrity": "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], "license": "MIT", "engines": { - "node": ">=8" + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" } }, - "node_modules/cjs-module-lexer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.1.1.tgz", - "integrity": "sha512-+CmxIZ/L2vNcEfvNtLdU0ZQ6mbq3FZnwAP2PPTiKP+1QOoKwlKlPgb8UKV0Dds7QVaMnHm+FwSft2VB0s/SLjQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/clean-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, "license": "MIT", "dependencies": { - "del": "^4.1.1" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.0 <6.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^5.0.0" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" }, "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" }, "engines": { "node": ">=12" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "node_modules/d3-axis": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "d3-path": "1 - 3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=12" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "license": "MIT", - "optional": true, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", "engines": { - "node": ">=0.8" + "node": ">=12" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "license": "MIT", + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "d3-array": "^3.2.0" }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", "dependencies": { - "isobject": "^3.0.1" + "delaunator": "5" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", - "license": "Apache-2.0", + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "license": "MIT", + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=12" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", - "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" - }, - "node_modules/colorjs.io": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", - "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 10" } }, - "node_modules/comment-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", - "dev": true, - "license": "MIT", + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", "engines": { - "node": ">= 12.0.0" + "node": ">=12" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/concurrently": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", - "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", - "dev": true, - "license": "MIT", + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", "dependencies": { - "chalk": "4.1.2", - "rxjs": "7.8.2", - "shell-quote": "1.8.3", - "supports-color": "8.1.1", - "tree-kill": "1.2.2", - "yargs": "17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" + "d3-dsv": "1 - 3" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + "node": ">=12" } }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=12" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "engines": { + "node": ">=12" + } }, - "node_modules/convict": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/convict/-/convict-6.2.4.tgz", - "integrity": "sha512-qN60BAwdMVdofckX7AlohVJ2x9UvjTNoKVXCL2LxFk1l7757EJqf1nySdMkPQer0bt8kQ5lQiyZ9/2NvrFBuwQ==", - "license": "Apache-2.0", + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", "dependencies": { - "lodash.clonedeep": "^4.5.0", - "yargs-parser": "^20.2.7" + "d3-array": "2.5.0 - 3" }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "dev": true, - "license": "MIT", + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", "engines": { - "node": ">=18" + "node": ">=12" } }, - "node_modules/copy-webpack-plugin": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", - "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", - "dev": true, - "license": "MIT", + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", "dependencies": { - "glob-parent": "^6.0.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2", - "tinyglobby": "^0.2.12" + "d3-color": "1 - 3" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "node": ">=12" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, "engines": { - "node": ">=10.13.0" + "node": ">=12" } }, - "node_modules/core-js": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.46.0.tgz", - "integrity": "sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", + "engines": { + "node": ">=12" } }, - "node_modules/core-js-compat": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz", - "integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.26.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" } }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/css-declaration-sorter": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz", - "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==", - "dev": true, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", "license": "ISC", - "engines": { - "node": "^14 || ^16 || >=18" + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" }, - "peerDependencies": { - "postcss": "^8.0.9" + "engines": { + "node": ">=12" } }, - "node_modules/css-functions-list": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", - "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", - "dev": true, - "license": "MIT", + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", "engines": { - "node": ">=12 || >=16" + "node": ">=12" } }, - "node_modules/css-select": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "d3-path": "^3.1.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=12" } }, - "node_modules/css-tree": { + "node_modules/d3-time": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", - "dev": true, - "license": "MIT", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" + "d3-array": "2 - 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=12" } }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=12" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/cssnano": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.2.tgz", - "integrity": "sha512-HYOPBsNvoiFeR1eghKD5C3ASm64v9YVyJB4Ivnl2gqKoQYvjjN/G0rztvKQq8OxocUtC6sjqY8jwYngIB4AByA==", - "dev": true, - "license": "MIT", + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", "dependencies": { - "cssnano-preset-default": "^7.0.10", - "lilconfig": "^3.1.3" + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" }, "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" + "node": ">=12" }, "peerDependencies": { - "postcss": "^8.4.32" + "d3-selection": "2 - 3" } }, - "node_modules/cssnano-preset-default": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.10.tgz", - "integrity": "sha512-6ZBjW0Lf1K1Z+0OKUAUpEN62tSXmYChXWi2NAA0afxEVsj9a+MbcB1l5qel6BHJHmULai2fCGRthCeKSFbScpA==", - "dev": true, - "license": "MIT", + "node_modules/d3-voronoi-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-voronoi-map/-/d3-voronoi-map-2.1.1.tgz", + "integrity": "sha512-mCXfz/kD9IQxjHaU2IMjkO8fSo4J6oysPR2iL+omDsCy1i1Qn6BQ/e4hEAW8C6ms2kfuHwqtbNom80Hih94YsA==", + "license": "BSD-3-Clause", "dependencies": { - "browserslist": "^4.27.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.1", - "postcss-calc": "^10.1.1", - "postcss-colormin": "^7.0.5", - "postcss-convert-values": "^7.0.8", - "postcss-discard-comments": "^7.0.5", - "postcss-discard-duplicates": "^7.0.2", - "postcss-discard-empty": "^7.0.1", - "postcss-discard-overridden": "^7.0.1", - "postcss-merge-longhand": "^7.0.5", - "postcss-merge-rules": "^7.0.7", - "postcss-minify-font-values": "^7.0.1", - "postcss-minify-gradients": "^7.0.1", - "postcss-minify-params": "^7.0.5", - "postcss-minify-selectors": "^7.0.5", - "postcss-normalize-charset": "^7.0.1", - "postcss-normalize-display-values": "^7.0.1", - "postcss-normalize-positions": "^7.0.1", - "postcss-normalize-repeat-style": "^7.0.1", - "postcss-normalize-string": "^7.0.1", - "postcss-normalize-timing-functions": "^7.0.1", - "postcss-normalize-unicode": "^7.0.5", - "postcss-normalize-url": "^7.0.1", - "postcss-normalize-whitespace": "^7.0.1", - "postcss-ordered-values": "^7.0.2", - "postcss-reduce-initial": "^7.0.5", - "postcss-reduce-transforms": "^7.0.1", - "postcss-svgo": "^7.1.0", - "postcss-unique-selectors": "^7.0.4" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" + "d3-dispatch": "2.*", + "d3-polygon": "2.*", + "d3-timer": "2.*", + "d3-weighted-voronoi": "1.*" } }, - "node_modules/cssnano-utils": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.1.tgz", - "integrity": "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.32" + "node_modules/d3-voronoi-map/node_modules/d3-dispatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", + "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-voronoi-map/node_modules/d3-polygon": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", + "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-voronoi-map/node_modules/d3-timer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-2.0.0.tgz", + "integrity": "sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-voronoi-treemap": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-voronoi-treemap/-/d3-voronoi-treemap-1.1.2.tgz", + "integrity": "sha512-7odu9HdG/yLPWwzDteJq4yd9Q/NwgQV7IE/u36VQtcCK7k1sZwDqbkHCeMKNTBsq5mQjDwolTsrXcU0j8ZEMCA==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-voronoi-map": "2.*" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "license": "MIT", + "node_modules/d3-weighted-voronoi": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/d3-weighted-voronoi/-/d3-weighted-voronoi-1.1.3.tgz", + "integrity": "sha512-C3WdvSKl9aqhAy+f3QT3PPsQG6V+ajDfYO3BSclQDSD+araW2xDBFIH67aKzsSuuuKaX8K2y2dGq1fq/dWTVig==", + "license": "BSD-3-Clause", "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "d3-array": "2", + "d3-polygon": "2" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "license": "MIT", + "node_modules/d3-weighted-voronoi/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "internmap": "^1.0.0" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true, - "license": "CC0-1.0" + "node_modules/d3-weighted-voronoi/node_modules/d3-polygon": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-2.0.0.tgz", + "integrity": "sha512-MsexrCK38cTGermELs0cO1d79DcTsQRN7IWMJKczD/2kBjzNXxLUWP33qRF6VDpiLV/4EI4r6Gs0DAWQkE8pSQ==", + "license": "BSD-3-Clause" }, - "node_modules/cssstyle": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", - "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", - "dev": true, - "license": "MIT", + "node_modules/d3-weighted-voronoi/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" }, "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/data-uri-to-buffer": { @@ -7923,6 +9758,26 @@ } } }, + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "license": "MIT", + "dependencies": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -7957,7 +9812,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -7975,7 +9829,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", @@ -8022,6 +9875,15 @@ "node": ">=6" } }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, "node_modules/denque": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", @@ -8065,6 +9927,12 @@ "node": ">=8" } }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -8186,7 +10054,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -8197,6 +10064,12 @@ "node": ">= 0.4" } }, + "node_modules/earcut": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", + "license": "ISC" + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -8425,7 +10298,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -8435,7 +10307,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -8452,7 +10323,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -8508,6 +10378,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-toolkit": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.43.0.tgz", + "integrity": "sha512-SKCT8AsWvYzBBuUqMk4NPwFlSdqLpJwmy6AP322ERn8W2YLIB6JBXnwMI2Qsh2gfphT3q7EKAxKb23cvFHFwKA==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, "node_modules/esbuild": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", @@ -8601,7 +10481,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -8837,7 +10716,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -9014,7 +10892,6 @@ "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", @@ -9091,7 +10968,6 @@ "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -9342,7 +11218,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -9523,6 +11398,12 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/flatpickr": { + "version": "4.6.13", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz", + "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==", + "license": "MIT" + }, "node_modules/flatted": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", @@ -9530,6 +11411,15 @@ "dev": true, "license": "ISC" }, + "node_modules/focus-trap": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.7.1.tgz", + "integrity": "sha512-Pkp8m55GjxBLnhBoT6OXdMvfRr4TjMAKLvFM566zlIryq5plbhaTmLAJWTGR0EkRwLjEte1lCOG9MxF1ipJrOg==", + "license": "MIT", + "dependencies": { + "tabbable": "^6.4.0" + } + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -9652,7 +11542,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9678,6 +11567,45 @@ "node": ">=6.9.0" } }, + "node_modules/geojson-equality-ts": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/geojson-equality-ts/-/geojson-equality-ts-1.0.2.tgz", + "integrity": "sha512-h3Ryq+0mCSN/7yLs0eDgrZhvc9af23o/QuC4aTiuuzP/MRCtd6mf5rLsLRY44jX0RPUfM8c4GqERQmlUxPGPoQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "^7946.0.14" + } + }, + "node_modules/geojson-polygon-self-intersections": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/geojson-polygon-self-intersections/-/geojson-polygon-self-intersections-1.2.2.tgz", + "integrity": "sha512-6XRNF4CsRHYmR9z5YuIk5f/aOototnDf0dgMqYGcS7y1l57ttt6MAIAxl3rXyas6lq1HEbTuLMh4PgvO+OV42w==", + "license": "MIT", + "dependencies": { + "rbush": "^2.0.1" + } + }, + "node_modules/geojson-polygon-self-intersections/node_modules/quickselect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==", + "license": "ISC" + }, + "node_modules/geojson-polygon-self-intersections/node_modules/rbush": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz", + "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==", + "license": "MIT", + "dependencies": { + "quickselect": "^1.0.1" + } + }, + "node_modules/geojson-vt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz", + "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==", + "license": "ISC" + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -9704,7 +11632,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -9739,7 +11666,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -9753,7 +11679,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -9807,6 +11732,12 @@ "node": ">= 14" } }, + "node_modules/gl-matrix": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", + "license": "MIT" + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -9997,7 +11928,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -10029,6 +11959,12 @@ "dev": true, "license": "MIT" }, + "node_modules/grid-index": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", + "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==", + "license": "ISC" + }, "node_modules/hapi-pino": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/hapi-pino/-/hapi-pino-13.0.0.tgz", @@ -10110,7 +12046,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" @@ -10139,7 +12074,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -10152,7 +12086,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -10315,7 +12248,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -10324,6 +12256,26 @@ "node": ">=0.10.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/ignore": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", @@ -10424,6 +12376,15 @@ "dev": true, "license": "ISC" }, + "node_modules/interactjs": { + "version": "1.10.27", + "resolved": "https://registry.npmjs.org/interactjs/-/interactjs-1.10.27.tgz", + "integrity": "sha512-y/8RcCftGAF24gSp76X2JS3XpHiUvDQyhF8i7ujemBz77hwiHDuJzftHx7thY8cxGogwGiPJ+o97kWB6eAXnsA==", + "license": "MIT", + "dependencies": { + "@interactjs/types": "1.10.27" + } + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -10439,6 +12400,15 @@ "node": ">= 0.4" } }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -10482,6 +12452,22 @@ "node": ">= 12" } }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -10661,7 +12647,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -10880,7 +12865,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -11193,7 +13177,6 @@ "integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "30.2.0", "@jest/types": "30.2.0", @@ -12243,7 +14226,6 @@ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "jiti": "lib/jiti-cli.mjs" } @@ -12253,7 +14235,6 @@ "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -12286,6 +14267,12 @@ "node": ">=10" } }, + "node_modules/jpeg-exif": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", + "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "license": "MIT" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -12322,7 +14309,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -12398,6 +14384,12 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stringify-pretty-compact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "license": "MIT" + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -12418,6 +14410,12 @@ "node": ">=6" } }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -12731,6 +14729,37 @@ "node": ">=18.0.0" } }, + "node_modules/lit": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.2.tgz", + "integrity": "sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.1.0", + "lit-element": "^4.2.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-element": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz", + "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0", + "@lit/reactive-element": "^2.1.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-html": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz", + "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, "node_modules/loader-runner": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", @@ -12948,53 +14977,351 @@ "dev": true, "license": "ISC", "dependencies": { - "yallist": "^3.0.2" + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/mapbox-gl": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.3.tgz", + "integrity": "sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==", + "license": "SEE LICENSE IN LICENSE.txt", + "peer": true, + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/geojson-types": "^1.0.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/mapbox-gl-supported": "^1.5.0", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^1.1.1", + "@mapbox/unitbezier": "^0.0.0", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "csscolorparser": "~1.0.3", + "earcut": "^2.2.2", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.2.1", + "grid-index": "^1.1.0", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^1.0.1", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "supercluster": "^7.1.0", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.1" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/mapbox-gl/node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "license": "ISC", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/@mapbox/tiny-sdf": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz", + "integrity": "sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/@mapbox/unitbezier": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "node_modules/mapbox-gl/node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "license": "ISC", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/geojson-vt": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "license": "ISC", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "license": "ISC", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/mapbox-gl/node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "license": "ISC", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC", + "peer": true + }, + "node_modules/mapbox-gl/node_modules/supercluster": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", + "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", + "license": "ISC", + "peer": true, + "dependencies": { + "kdbush": "^3.0.0" + } + }, + "node_modules/mapbox-gl/node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.15.0.tgz", + "integrity": "sha512-pPeu/t4yPDX/+Uf9ibLUdmaKbNMlGxMAX+tBednYukol2qNk2TZXAlhdohWxjVvTO3is8crrUYv3Ok02oAaKzA==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/tiny-sdf": "^2.0.7", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^2.0.4", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^24.4.1", + "@maplibre/mlt": "^1.1.2", + "@maplibre/vt-pbf": "^4.2.0", + "@types/geojson": "^7946.0.16", + "@types/geojson-vt": "3.2.5", + "@types/supercluster": "^7.1.3", + "earcut": "^3.0.2", + "geojson-vt": "^4.0.2", + "gl-matrix": "^3.4.4", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^4.0.1", + "potpack": "^2.1.0", + "quickselect": "^3.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^3.0.0" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/maplibre-gl-legacy": { + "name": "maplibre-gl", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-1.15.3.tgz", + "integrity": "sha512-ZuOhLCNgp7Yl1L9uyKgZeuo7kKdewP0iWtmEXsZ/snp0JiVkR1Kl+m1rsfKT/wpm/O4zZ7mUGxF16cYbMIFDRA==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.0", + "@mapbox/geojson-types": "^1.0.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/mapbox-gl-supported": "^1.5.0", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^1.1.1", + "@mapbox/unitbezier": "^0.0.0", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "csscolorparser": "~1.0.3", + "earcut": "^2.2.2", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.2.1", + "grid-index": "^1.1.0", + "minimist": "^1.2.6", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^1.0.1", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "supercluster": "^7.1.0", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.1" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/maplibre-gl-legacy/node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "license": "ISC" + }, + "node_modules/maplibre-gl-legacy/node_modules/@mapbox/tiny-sdf": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz", + "integrity": "sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==", + "license": "BSD-2-Clause" + }, + "node_modules/maplibre-gl-legacy/node_modules/@mapbox/unitbezier": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==", + "license": "BSD-2-Clause" + }, + "node_modules/maplibre-gl-legacy/node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" - } + "node_modules/maplibre-gl-legacy/node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "license": "ISC" }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "license": "MIT", + "node_modules/maplibre-gl-legacy/node_modules/geojson-vt": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "license": "ISC" + }, + "node_modules/maplibre-gl-legacy/node_modules/kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "license": "ISC" + }, + "node_modules/maplibre-gl-legacy/node_modules/pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "license": "BSD-3-Clause", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", "bin": { - "semver": "bin/semver" + "pbf": "bin/pbf" } }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/maplibre-gl-legacy/node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "license": "ISC" + }, + "node_modules/maplibre-gl-legacy/node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC" + }, + "node_modules/maplibre-gl-legacy/node_modules/supercluster": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", + "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", + "license": "ISC", "dependencies": { - "tmpl": "1.0.5" + "kdbush": "^3.0.0" } }, + "node_modules/maplibre-gl-legacy/node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC" + }, "node_modules/marked": { "version": "15.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", @@ -13007,11 +15334,16 @@ "node": ">= 18" } }, + "node_modules/markerjs2": { + "version": "2.32.7", + "resolved": "https://registry.npmjs.org/markerjs2/-/markerjs2-2.32.7.tgz", + "integrity": "sha512-HeFRZjmc43DOG3lSQp92z49cq2oCYpYn2pX++SkJAW1Dij4xJtRquVRf+cXeSZQWDX3ufns1Ry/bGk+zveP7rA==", + "license": "SEE LICENSE IN LICENSE" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -13201,6 +15533,12 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "license": "MIT" + }, "node_modules/nanoid": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", @@ -13404,11 +15742,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -13662,6 +16015,12 @@ "dev": true, "license": "BlueOak-1.0.0" }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -13801,6 +16160,49 @@ "node": ">=8" } }, + "node_modules/pbf": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", + "license": "BSD-3-Clause", + "dependencies": { + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/pdfmake": { + "version": "0.2.22", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.22.tgz", + "integrity": "sha512-nY0tvBlBCAfefFzXkWGHzW7OQeWKsGKL8M1I8o+fFhLBDtYesSA2G/KxfOF8jn+l53kzCLSTAdmTyPV2EM/v9g==", + "license": "MIT", + "dependencies": { + "@foliojs-fork/linebreak": "^1.1.2", + "@foliojs-fork/pdfkit": "^0.15.3", + "iconv-lite": "^0.7.1", + "xmldoc": "^2.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/pdfmake/node_modules/iconv-lite": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", + "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -14097,6 +16499,35 @@ "node": ">=4" } }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, + "node_modules/point-in-polygon-hao": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/point-in-polygon-hao/-/point-in-polygon-hao-1.2.4.tgz", + "integrity": "sha512-x2pcvXeqhRHlNRdhLs/tgFapAbSSe86wa/eqmj1G6pWftbEs5aVRJhRGM6FYSUERKu0PjekJzMq0gsI2XyiclQ==", + "license": "MIT", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/polylabel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/polylabel/-/polylabel-1.1.0.tgz", + "integrity": "sha512-bxaGcA40sL3d6M4hH72Z4NdLqxpXRsCFk8AITYg6x1rn1Ei3izf00UMLklerBZTO49aPA3CYrIwVulx2Bce2pA==", + "license": "ISC", + "dependencies": { + "tinyqueue": "^2.0.3" + } + }, + "node_modules/polylabel/node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC" + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -14127,7 +16558,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -14704,7 +17134,6 @@ "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14772,6 +17201,21 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/potpack": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==", + "license": "ISC" + }, + "node_modules/preact": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.5.3.tgz", + "integrity": "sha512-O3kKP+1YdgqHOFsZF2a9JVdtqD+RPzCQc3rP+Ualf7V6rmRDchZ9MJbiGTT7LuyqFKZqlHSOyO/oMFmI2lVTsw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -14852,6 +17296,12 @@ "node": ">= 8" } }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", + "license": "MIT" + }, "node_modules/proxy-agent": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", @@ -14963,6 +17413,12 @@ "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", "license": "MIT" }, + "node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -14973,6 +17429,21 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "license": "MIT", + "dependencies": { + "quickselect": "^2.0.0" + } + }, + "node_modules/rbush/node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC" + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -15096,7 +17567,6 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.8", @@ -15241,6 +17711,15 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "license": "MIT", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, "node_modules/restore-cursor": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", @@ -15319,6 +17798,12 @@ "rimraf": "bin.js" } }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense" + }, "node_modules/rrweb-cssom": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", @@ -15350,6 +17835,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, "node_modules/rxjs": { "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", @@ -15448,7 +17939,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, "license": "MIT" }, "node_modules/sass": { @@ -15915,7 +18405,6 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", - "dev": true, "license": "BlueOak-1.0.0" }, "node_modules/saxes": { @@ -15957,7 +18446,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -16005,6 +18493,12 @@ ], "license": "BSD-3-Clause" }, + "node_modules/seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "license": "MIT" + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -16029,7 +18523,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -16047,7 +18540,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -16302,6 +18794,12 @@ "atomic-sleep": "^1.0.0" } }, + "node_modules/sortablejs": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.6.tgz", + "integrity": "sha512-aNfiuwMEpfBM/CN6LY0ibyhxPfPbyFeBTYJKCvzkJ2GkUpazIt3H+QIPAMHwqQ7tMKaHz1Qj+rJJCqljnf4p3A==", + "license": "MIT" + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -16688,6 +19186,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/style-observer": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/style-observer/-/style-observer-0.0.8.tgz", + "integrity": "sha512-UaIPn33Sx4BJ+goia51Q++VFWoplWK1995VdxQYzwwbFa+FUNLKlG+aiIdG2Vw7VyzIUBi8tqu8mTyg0Ppu6Yg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/LeaVerou" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/leaverou" + } + ], + "license": "MIT" + }, "node_modules/stylehacks": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.7.tgz", @@ -16721,7 +19235,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", @@ -17042,6 +19555,15 @@ "node": ">=8" } }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -17083,6 +19605,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-arc-to-cubic-bezier": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", + "license": "ISC" + }, "node_modules/svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", @@ -17125,6 +19653,21 @@ "node": ">=16" } }, + "node_modules/sweepline-intersections": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sweepline-intersections/-/sweepline-intersections-1.5.0.tgz", + "integrity": "sha512-AoVmx72QHpKtItPu72TzFL+kcYjd67BPLDoR0LarIk+xyaRg+pDTMFXndIEvZf9xEKnJv6JdhgRMnocoG0D3AQ==", + "license": "MIT", + "dependencies": { + "tinyqueue": "^2.0.0" + } + }, + "node_modules/sweepline-intersections/node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC" + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -17171,6 +19714,12 @@ "url": "https://opencollective.com/synckit" } }, + "node_modules/tabbable": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", + "license": "MIT" + }, "node_modules/table": { "version": "6.9.0", "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", @@ -17423,6 +19972,21 @@ "real-require": "^0.2.0" } }, + "node_modules/timezone-groups": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/timezone-groups/-/timezone-groups-0.10.4.tgz", + "integrity": "sha512-AnkJYrbb7uPkDCEqGeVJiawZNiwVlSkkeX4jZg1gTEguClhyX+/Ezn07KB6DT29tG3UN418ldmS/W6KqGOTDjg==", + "license": "MIT", + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -17464,7 +20028,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -17472,6 +20035,12 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC" + }, "node_modules/tldts": { "version": "6.1.86", "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", @@ -17608,7 +20177,6 @@ "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" @@ -17743,7 +20311,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -17812,6 +20379,16 @@ "node": ">=4" } }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", @@ -17822,6 +20399,16 @@ "node": ">=4" } }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/unrs-resolver": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", @@ -17940,6 +20527,45 @@ "dev": true, "license": "MIT" }, + "node_modules/vt-pbf": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "license": "MIT", + "dependencies": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.2.1" + } + }, + "node_modules/vt-pbf/node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "license": "ISC" + }, + "node_modules/vt-pbf/node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "node_modules/vt-pbf/node_modules/pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", @@ -18003,7 +20629,6 @@ "integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -18072,7 +20697,6 @@ "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@discoveryjs/json-ext": "^0.6.1", "@webpack-cli/configtest": "^3.0.1", @@ -18511,6 +21135,40 @@ "dev": true, "license": "MIT" }, + "node_modules/xmldoc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-2.0.3.tgz", + "integrity": "sha512-6gRk4NY/Jvg67xn7OzJuxLRsGgiXBaPUQplVJ/9l99uIugxh4FTOewYz5ic8WScj7Xx/2WvhENiQKwkK9RpE4w==", + "license": "MIT", + "dependencies": { + "sax": "^1.4.3" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/xss": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.13.tgz", + "integrity": "sha512-clu7dxTm1e8Mo5fz3n/oW3UCXBfV89xZ72jM8yzo1vR/pIS0w3sgB3XV2H8Vm6zfGnHL0FzvLJPJEBhd86/z4Q==", + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xss/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index 7e7976deb..941102ad1 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ }, "license": "SEE LICENSE IN LICENSE", "dependencies": { + "@defra/defra-map": "github:DEFRA/defra-map#main-v1", "@defra/forms-model": "^3.0.597", "@defra/hapi-tracing": "^1.29.0", "@elastic/ecs-pino-format": "^1.5.0", From 9be89a30ddcd81f5c15e4cfb97e811e13c32e8bf Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 13:23:53 +0000 Subject: [PATCH 08/52] Sonar fixes (Define a constant instead of duplicating) --- src/client/javascripts/location-map.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index fe3e60e99..13f460009 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -105,6 +105,8 @@ export function initMaps({ locationInputs.after(mapContainer) + const logoAltText = 'Ordnance survey logo' + /** @type {DefraMap} */ const defraMap = new defra.DefraMap(mapId, { ...initConfig, @@ -126,7 +128,7 @@ export function initMaps({ url: data.VTS_OUTDOOR_URL, thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, - logoAltText: 'Ordnance survey logo', + logoAltText, attribution: `Contains OS data ${String.fromCharCode(169)} Crown copyright and database rights ${new Date().getFullYear()}`, backgroundColor: '#f5f5f0' }, @@ -138,7 +140,7 @@ export function initMaps({ appColorScheme: 'dark', thumbnail: `${assetPath}/defra-map/assets/images/dark-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo-white.svg`, - logoAltText: 'Ordnance survey logo', + logoAltText, attribution: 'Test' }, { @@ -147,7 +149,7 @@ export function initMaps({ url: data.VTS_BLACK_AND_WHITE_URL, thumbnail: `${assetPath}/defra-map/assets/images/black-and-white-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo-black.svg`, - logoAltText: 'Ordnance survey logo', + logoAltText, attribution: 'Test' } ] From 83024b5c58fe588922abbb1cdbb0e0690425aa1a Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 13:26:54 +0000 Subject: [PATCH 09/52] Sonar fixes (No magic number) --- src/client/javascripts/location-map.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 13f460009..3d29a9800 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -1,6 +1,10 @@ // @ts-expect-error - Defra namespace currently comes from UMD support files const defra = window.defra +// Center of UK +const DEFAULT_LAT = 53.825564 +const DEFAULT_LONG = -2.421975 + const defaultData = { VTS_OUTDOOR_URL: 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json', @@ -98,7 +102,7 @@ export function initMaps({ const defaultConfig = { zoom: '6', - center: [-2.421975, 53.825564] + center: [DEFAULT_LONG, DEFAULT_LAT] } const initConfig = getInitMapConfig(location) ?? defaultConfig From 7eb2da0389aadd433bb4237ee6a6f2bd3ae05bc5 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 13:28:47 +0000 Subject: [PATCH 10/52] Sonar fixes (No magic number) --- src/client/javascripts/location-map.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 3d29a9800..88281ba61 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -5,6 +5,8 @@ const defra = window.defra const DEFAULT_LAT = 53.825564 const DEFAULT_LONG = -2.421975 +const COMPANY_SYMBOL_CODE = 169 + const defaultData = { VTS_OUTDOOR_URL: 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json', @@ -133,7 +135,7 @@ export function initMaps({ thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, logoAltText, - attribution: `Contains OS data ${String.fromCharCode(169)} Crown copyright and database rights ${new Date().getFullYear()}`, + attribution: `Contains OS data ${String.fromCharCode(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}`, backgroundColor: '#f5f5f0' }, { From 2364c9bf5876c21451fe72b2644924ba7f2b2144 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 13:30:34 +0000 Subject: [PATCH 11/52] Sonar fixes (use "return" consistently) --- src/client/javascripts/location-map.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 88281ba61..fa7cf91b9 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -191,7 +191,7 @@ export function initMaps({ bindLatLongField(location, defraMap, e.map) break default: - // throw new Error('Not implemented') + throw new Error('Not implemented') } // Get saved data from sessionStorage @@ -238,7 +238,7 @@ export function initMaps({ case 'latlongfield': return getInitLatLongMapConfig(locationField) default: - // throw new Error('Not implemented') + throw new Error('Not implemented') } } From 1e0593dac85dede039b1bb13d9ab4db6a65b152c Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 13:33:51 +0000 Subject: [PATCH 12/52] Sonar fixes (out scope) --- src/client/javascripts/location-map.js | 216 ++++++++++++------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index fa7cf91b9..f28985e1b 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -226,141 +226,141 @@ export function initMaps({ } ) } +} - /** - * Gets initial map config for a location field - * @param {HTMLDivElement} locationField - the location field element - */ - function getInitMapConfig(locationField) { - const locationType = locationField.dataset.locationtype - - switch (locationType) { - case 'latlongfield': - return getInitLatLongMapConfig(locationField) - default: - throw new Error('Not implemented') - } +/** + * Gets initial map config for a location field + * @param {HTMLDivElement} locationField - the location field element + */ +function getInitMapConfig(locationField) { + const locationType = locationField.dataset.locationtype + + switch (locationType) { + case 'latlongfield': + return getInitLatLongMapConfig(locationField) + default: + throw new Error('Not implemented') } +} - /** - * Validates lat and long is numeric and within UK bounds - * @param {string} strLat - the latitude string - * @param {string} strLong - the longitude string - * @returns {{ valid: false } | { valid: true, value: { lat: number, long: number } }} - */ - function validateLatLong(strLat, strLong) { - const lat = strLat.trim() && Number(strLat.trim()) - const long = strLong.trim() && Number(strLong.trim()) - - if (!lat || !long) { - return { valid: false } - } +/** + * Validates lat and long is numeric and within UK bounds + * @param {string} strLat - the latitude string + * @param {string} strLong - the longitude string + * @returns {{ valid: false } | { valid: true, value: { lat: number, long: number } }} + */ +function validateLatLong(strLat, strLong) { + const lat = strLat.trim() && Number(strLat.trim()) + const long = strLong.trim() && Number(strLong.trim()) - const latMin = 49.85 - const latMax = 60.859 - const longMin = -13.687 - const longMax = 1.767 + if (!lat || !long) { + return { valid: false } + } - const latInBounds = lat >= latMin && lat <= latMax - const longInBounds = long >= longMin && long <= longMax + const latMin = 49.85 + const latMax = 60.859 + const longMin = -13.687 + const longMax = 1.767 - if (!latInBounds || !longInBounds) { - return { valid: false } - } + const latInBounds = lat >= latMin && lat <= latMax + const longInBounds = long >= longMin && long <= longMax - return { valid: true, value: { lat, long } } + if (!latInBounds || !longInBounds) { + return { valid: false } } - /** - * Gets initial map config for a latlong location field - * @param {HTMLDivElement} locationField - the latlong location field element - */ - function getLatLongInputs(locationField) { - const inputs = locationField.querySelectorAll('input.govuk-input') - - if (inputs.length !== 2) { - throw new Error('Expected 2 inputs for lat and long') - } + return { valid: true, value: { lat, long } } +} - const latInput = /** @type {HTMLInputElement} */ (inputs[0]) - const longInput = /** @type {HTMLInputElement} */ (inputs[1]) +/** + * Gets initial map config for a latlong location field + * @param {HTMLDivElement} locationField - the latlong location field element + */ +function getLatLongInputs(locationField) { + const inputs = locationField.querySelectorAll('input.govuk-input') - return { latInput, longInput } + if (inputs.length !== 2) { + throw new Error('Expected 2 inputs for lat and long') } - /** - * Gets initial map config for a latlong location field - * @param {HTMLDivElement} locationField - the latlong location field element - */ - function getInitLatLongMapConfig(locationField) { - const { latInput, longInput } = getLatLongInputs(locationField) - const result = validateLatLong(latInput.value, longInput.value) + const latInput = /** @type {HTMLInputElement} */ (inputs[0]) + const longInput = /** @type {HTMLInputElement} */ (inputs[1]) - if (!result.valid) { - return - } + return { latInput, longInput } +} - return { - zoom: '16', - center: [result.value.long, result.value.lat], - markers: [ - { - id: 'location', - coords: [result.value.long, result.value.lat] - } - ] - } - } +/** + * Gets initial map config for a latlong location field + * @param {HTMLDivElement} locationField - the latlong location field element + */ +function getInitLatLongMapConfig(locationField) { + const { latInput, longInput } = getLatLongInputs(locationField) + const result = validateLatLong(latInput.value, longInput.value) - /** - * Bind a latlong field to the map - * @param {HTMLDivElement} locationField - the latlong location field - * @param {DefraMap} map - the map component instance (of DefraMap) - * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) - */ - function bindLatLongField(locationField, map, mapProvider) { - const { latInput, longInput } = getLatLongInputs(locationField) + if (!result.valid) { + return + } - map.on( - 'interact:markerchange', - /** - * Callback function which fires when the map marker changes - * @param {object} e - the event - * @param {[number, number]} e.coords - the map marker coordinates - */ - function (e) { - latInput.value = e.coords[1].toFixed(7) - longInput.value = e.coords[0].toFixed(7) + return { + zoom: '16', + center: [result.value.long, result.value.lat], + markers: [ + { + id: 'location', + coords: [result.value.long, result.value.lat] } - ) + ] + } +} +/** + * Bind a latlong field to the map + * @param {HTMLDivElement} locationField - the latlong location field + * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) + */ +function bindLatLongField(locationField, map, mapProvider) { + const { latInput, longInput } = getLatLongInputs(locationField) + + map.on( + 'interact:markerchange', /** - * Lat & long input change event listener - * Update the map view location when the inputs are changed + * Callback function which fires when the map marker changes + * @param {object} e - the event + * @param {[number, number]} e.coords - the map marker coordinates */ - function onUpdateInputs() { - const result = validateLatLong(latInput.value, longInput.value) + function (e) { + latInput.value = e.coords[1].toFixed(7) + longInput.value = e.coords[0].toFixed(7) + } + ) - if (!result.valid) { - return - } + /** + * Lat & long input change event listener + * Update the map view location when the inputs are changed + */ + function onUpdateInputs() { + const result = validateLatLong(latInput.value, longInput.value) - const center = [result.value.long, result.value.lat] + if (!result.valid) { + return + } - // TODO: Move the location marker to the new point - map.addMarker('location', center) + const center = [result.value.long, result.value.lat] - // Pan & zoom the map to the new valid location - mapProvider.flyTo({ - center, - zoom: 14, - essential: true - }) - } + // TODO: Move the location marker to the new point + map.addMarker('location', center) - latInput.addEventListener('change', onUpdateInputs, false) - longInput.addEventListener('change', onUpdateInputs, false) + // Pan & zoom the map to the new valid location + mapProvider.flyTo({ + center, + zoom: 14, + essential: true + }) } + + latInput.addEventListener('change', onUpdateInputs, false) + longInput.addEventListener('change', onUpdateInputs, false) } /** From 0e85e547b8c2076113db77e7e0c336f6d36d3d8e Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 13:36:39 +0000 Subject: [PATCH 13/52] Sonar fixes (No magic number) --- src/client/javascripts/location-map.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index f28985e1b..e089c467c 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -330,8 +330,9 @@ function bindLatLongField(locationField, map, mapProvider) { * @param {[number, number]} e.coords - the map marker coordinates */ function (e) { - latInput.value = e.coords[1].toFixed(7) - longInput.value = e.coords[0].toFixed(7) + const maxPrecision = 7 + latInput.value = e.coords[1].toFixed(maxPrecision) + longInput.value = e.coords[0].toFixed(maxPrecision) } ) From 5d2d90a0bcf2db3016f22df16a2b9de1bb659dc1 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 14:27:24 +0000 Subject: [PATCH 14/52] Sonar fixes (Explicit return value) --- src/client/javascripts/location-map.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index e089c467c..9bab30fcb 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -344,7 +344,7 @@ function bindLatLongField(locationField, map, mapProvider) { const result = validateLatLong(latInput.value, longInput.value) if (!result.valid) { - return + return undefined } const center = [result.value.long, result.value.lat] From 8f4cd49f72b479257abeda738b7c1f28cd69e225 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 17:05:47 +0000 Subject: [PATCH 15/52] Sonar fixes (Split it into smaller functions) --- src/client/javascripts/location-map.js | 345 +++++++++++++------------ 1 file changed, 182 insertions(+), 163 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 9bab30fcb..d4d883f9b 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -20,32 +20,14 @@ const defaultData = { * Initialise location maps * @param {MapsClientConfig} config - the map configuration */ -export function initMaps({ - assetPath = '/assets', - apiPath = '/form/api', - data = defaultData -} = {}) { +export function initMaps(config = {}) { + const { + assetPath = '/assets', + apiPath = '/form/api', + data = defaultData + } = config const locations = document.querySelectorAll('.app-location-field') - /** - * Proxy OS API requests via our server - * @param {string} url - the request URL - * @param {string} resourceType - the resource type - */ - const transformTileRequest = (url, resourceType) => { - // Only proxy OS API requests that don't already have a key - if (resourceType !== 'Style' && url.startsWith('https://api.os.uk')) { - const urlObj = new URL(url) - if (!urlObj.searchParams.has('key')) { - return { - url: `${apiPath}/map-proxy?url=${encodeURIComponent(url)}`, - headers: {} - } - } - } - return { url, headers: {} } - } - // TODO: Fix this in `defra-map` // If there are location components on the page fix up the main form submit // handler so it doesn't fire when using the integrated map search feature @@ -72,160 +54,190 @@ export function initMaps({ ) } - locations.forEach(processLocation) + locations.forEach((location, index) => { + processLocation({ assetPath, apiPath, data }, location, index) + }) +} +/** + * OS API request proxy factory + * @param {string} apiPath - the root API path + */ +function makeTileRequestTransformer(apiPath) { /** - * Processes a location field to add map capability - * @param {Element} location - the location field element - * @param {*} index - the 0-based index + * Proxy OS API requests via our server + * @param {string} url - the request URL + * @param {string} resourceType - the resource type */ - function processLocation(location, index) { - if (!(location instanceof HTMLDivElement)) { - return - } - - const locationInputs = location.querySelector('.app-location-field-inputs') - if (!(locationInputs instanceof HTMLDivElement)) { - return + return function transformTileRequest(url, resourceType) { + // Only proxy OS API requests that don't already have a key + if (resourceType !== 'Style' && url.startsWith('https://api.os.uk')) { + const urlObj = new URL(url) + if (!urlObj.searchParams.has('key')) { + return { + url: `${apiPath}/map-proxy?url=${encodeURIComponent(url)}`, + headers: {} + } + } } - const locationType = location.dataset.locationtype - // Check for support - const supportedLocations = ['latlongfield'] - if (!locationType || !supportedLocations.includes(locationType)) { - return - } + return { url, headers: {} } + } +} - const mapContainer = document.createElement('div') - const mapId = `map_${index}` +/** + * Processes a location field to add map capability + * @param {MapsClientParams} config - the location field element + * @param {Element} location - the location field element + * @param {*} index - the 0-based index + */ +function processLocation(config, location, index) { + if (!(location instanceof HTMLDivElement)) { + return + } - mapContainer.setAttribute('id', mapId) - mapContainer.setAttribute('class', 'map-container') + const locationInputs = location.querySelector('.app-location-field-inputs') + if (!(locationInputs instanceof HTMLDivElement)) { + return + } + const locationType = location.dataset.locationtype - const defaultConfig = { - zoom: '6', - center: [DEFAULT_LONG, DEFAULT_LAT] - } + // Check for support + const supportedLocations = ['latlongfield'] + if (!locationType || !supportedLocations.includes(locationType)) { + return + } - const initConfig = getInitMapConfig(location) ?? defaultConfig + const { assetPath, apiPath, data = defaultData } = config + const mapContainer = document.createElement('div') + const mapId = `map_${index}` - locationInputs.after(mapContainer) + mapContainer.setAttribute('id', mapId) + mapContainer.setAttribute('class', 'map-container') - const logoAltText = 'Ordnance survey logo' + const defaultConfig = { + zoom: '6', + center: [DEFAULT_LONG, DEFAULT_LAT] + } - /** @type {DefraMap} */ - const defraMap = new defra.DefraMap(mapId, { - ...initConfig, - mapProvider: defra.maplibreProvider(), - reverseGeocodeProvider: defra.openNamesProvider({ - url: `${apiPath}/reverse-geocode-proxy?easting={easting}&northing={northing}` + const initConfig = getInitMapConfig(location) ?? defaultConfig + + locationInputs.after(mapContainer) + + const logoAltText = 'Ordnance survey logo' + + /** @type {DefraMap} */ + const defraMap = new defra.DefraMap(mapId, { + ...initConfig, + mapProvider: defra.maplibreProvider(), + reverseGeocodeProvider: defra.openNamesProvider({ + url: `${apiPath}/reverse-geocode-proxy?easting={easting}&northing={northing}` + }), + behaviour: 'inline', + minZoom: 6, + maxZoom: 18, + containerHeight: '400px', + transformRequest: makeTileRequestTransformer(apiPath), + plugins: [ + defra.mapStylesPlugin({ + mapStyles: [ + { + id: 'outdoor', + label: 'Outdoor', + url: data.VTS_OUTDOOR_URL, + thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, + logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, + logoAltText, + attribution: `Contains OS data ${String.fromCharCode(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}`, + backgroundColor: '#f5f5f0' + }, + { + id: 'dark', + label: 'Dark', + url: data.VTS_DARK_URL, + mapColorScheme: 'dark', + appColorScheme: 'dark', + thumbnail: `${assetPath}/defra-map/assets/images/dark-map-thumb.jpg`, + logo: `${assetPath}/defra-map/assets/images/os-logo-white.svg`, + logoAltText, + attribution: 'Test' + }, + { + id: 'black-and-white', + label: 'Black/White', + url: data.VTS_BLACK_AND_WHITE_URL, + thumbnail: `${assetPath}/defra-map/assets/images/black-and-white-map-thumb.jpg`, + logo: `${assetPath}/defra-map/assets/images/os-logo-black.svg`, + logoAltText, + attribution: 'Test' + } + ] }), - behaviour: 'inline', - minZoom: 6, - maxZoom: 18, - containerHeight: '400px', - transformRequest: transformTileRequest, - plugins: [ - defra.mapStylesPlugin({ - mapStyles: [ - { - id: 'outdoor', - label: 'Outdoor', - url: data.VTS_OUTDOOR_URL, - thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, - logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, - logoAltText, - attribution: `Contains OS data ${String.fromCharCode(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}`, - backgroundColor: '#f5f5f0' - }, - { - id: 'dark', - label: 'Dark', - url: data.VTS_DARK_URL, - mapColorScheme: 'dark', - appColorScheme: 'dark', - thumbnail: `${assetPath}/defra-map/assets/images/dark-map-thumb.jpg`, - logo: `${assetPath}/defra-map/assets/images/os-logo-white.svg`, - logoAltText, - attribution: 'Test' - }, - { - id: 'black-and-white', - label: 'Black/White', - url: data.VTS_BLACK_AND_WHITE_URL, - thumbnail: `${assetPath}/defra-map/assets/images/black-and-white-map-thumb.jpg`, - logo: `${assetPath}/defra-map/assets/images/os-logo-black.svg`, - logoAltText, - attribution: 'Test' - } - ] - }), - defra.interactPlugin({ - dataLayers: [], - markerColor: { outdoor: '#ff0000', dark: '#00ff00' }, - interactionMode: 'marker', // 'auto', 'select', 'marker' // defaults to 'marker' - multiSelect: false - }), - defra.searchPlugin({ - osNamesURL: `${apiPath}/geocode-proxy?query={query}`, - width: '300px', - showMarker: false - }), - defra.zoomControlsPlugin(), - defra.scaleBarPlugin({ - units: 'metric' - }) - ] - }) + defra.interactPlugin({ + dataLayers: [], + markerColor: { outdoor: '#ff0000', dark: '#00ff00' }, + interactionMode: 'marker', + multiSelect: false + }), + defra.searchPlugin({ + osNamesURL: `${apiPath}/geocode-proxy?query={query}`, + width: '300px', + showMarker: false + }), + defra.zoomControlsPlugin(), + defra.scaleBarPlugin({ + units: 'metric' + }) + ] + }) - defraMap.on( - 'map:ready', - /** - * Callback function which fires when the map is ready - * @param {object} e - the event - * @param {MapLibreMap} e.map - the map provider instance - */ - function onMapReady(e) { - switch (locationType) { - case 'latlongfield': - bindLatLongField(location, defraMap, e.map) - break - default: - throw new Error('Not implemented') - } + defraMap.on( + 'map:ready', + /** + * Callback function which fires when the map is ready + * @param {object} e - the event + * @param {MapLibreMap} e.map - the map provider instance + */ + function onMapReady(e) { + switch (locationType) { + case 'latlongfield': + bindLatLongField(location, defraMap, e.map) + break + default: + throw new Error('Not implemented') + } - // Get saved data from sessionStorage - const mapInfoPanelSeen = sessionStorage.getItem('mapInfoPanelSeen') - - if (!mapInfoPanelSeen) { - // Add info panel - defraMap.addPanel('info', { - showLabel: true, - label: 'How to use the map', - mobile: { - slot: 'bottom', - initiallyOpen: true, - dismissable: true, - modal: false - }, - tablet: { - slot: 'bottom', - initiallyOpen: true, - dismissable: true, - modal: false - }, - desktop: { - slot: 'bottom', - initiallyOpen: true, - dismissable: true, - modal: false - }, - html: 'If using a map click on a point to update the location.

If using a keyboard, navigate to the point, centering the crosshair at the location and press enter.' - }) - } + // Get saved data from sessionStorage + const mapInfoPanelSeen = sessionStorage.getItem('mapInfoPanelSeen') + + if (!mapInfoPanelSeen) { + // Add info panel + defraMap.addPanel('info', { + showLabel: true, + label: 'How to use the map', + mobile: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + tablet: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + desktop: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + html: 'If using a map click on a point to update the location.

If using a keyboard, navigate to the point, centering the crosshair at the location and press enter.' + }) } - ) - } + } + ) } /** @@ -349,7 +361,7 @@ function bindLatLongField(locationField, map, mapProvider) { const center = [result.value.long, result.value.lat] - // TODO: Move the location marker to the new point + // Move the 'location' marker to the new point map.addMarker('location', center) // Pan & zoom the map to the new valid location @@ -389,3 +401,10 @@ function bindLatLongField(locationField, map, mapProvider) { * @property {string} [apiPath] - the root API path * @property {TileData} [data] - the tile data config */ + +/** + * @typedef {object} MapsClientParams + * @property {string} assetPath - the root asset path + * @property {string} apiPath - the root API path + * @property {TileData} data - the tile data config + */ From bd6ca9d3b64417309037301a6d63a8a87d7bd7e2 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 17:16:20 +0000 Subject: [PATCH 16/52] Sonar fixes ("return" consistently) --- src/client/javascripts/location-map.js | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index d4d883f9b..004e964f1 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -310,7 +310,7 @@ function getInitLatLongMapConfig(locationField) { const result = validateLatLong(latInput.value, longInput.value) if (!result.valid) { - return + return undefined } return { @@ -355,21 +355,19 @@ function bindLatLongField(locationField, map, mapProvider) { function onUpdateInputs() { const result = validateLatLong(latInput.value, longInput.value) - if (!result.valid) { - return undefined - } - - const center = [result.value.long, result.value.lat] + if (result.valid) { + const center = [result.value.long, result.value.lat] - // Move the 'location' marker to the new point - map.addMarker('location', center) + // Move the 'location' marker to the new point + map.addMarker('location', center) - // Pan & zoom the map to the new valid location - mapProvider.flyTo({ - center, - zoom: 14, - essential: true - }) + // Pan & zoom the map to the new valid location + mapProvider.flyTo({ + center, + zoom: 14, + essential: true + }) + } } latInput.addEventListener('change', onUpdateInputs, false) From 6a368963350d3fe8a7228289b64e99b94f71694b Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 8 Jan 2026 17:50:39 +0000 Subject: [PATCH 17/52] Sonar fixes (Split it into smaller functions) --- src/client/javascripts/location-map.js | 142 ++++++++++++++----------- 1 file changed, 78 insertions(+), 64 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 004e964f1..a66faea7c 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -5,6 +5,12 @@ const defra = window.defra const DEFAULT_LAT = 53.825564 const DEFAULT_LONG = -2.421975 +/** @type {DefraMapInitConfig} */ +const defaultConfig = { + zoom: '6', + center: [DEFAULT_LONG, DEFAULT_LAT] +} + const COMPANY_SYMBOL_CODE = 169 const defaultData = { @@ -18,7 +24,7 @@ const defaultData = { /** * Initialise location maps - * @param {MapsClientConfig} config - the map configuration + * @param {Partial} config - the map configuration */ export function initMaps(config = {}) { const { @@ -87,7 +93,7 @@ function makeTileRequestTransformer(apiPath) { /** * Processes a location field to add map capability - * @param {MapsClientParams} config - the location field element + * @param {MapsEnvironmentConfig} config - the location field element * @param {Element} location - the location field element * @param {*} index - the 0-based index */ @@ -108,26 +114,74 @@ function processLocation(config, location, index) { return } - const { assetPath, apiPath, data = defaultData } = config const mapContainer = document.createElement('div') const mapId = `map_${index}` mapContainer.setAttribute('id', mapId) mapContainer.setAttribute('class', 'map-container') - const defaultConfig = { - zoom: '6', - center: [DEFAULT_LONG, DEFAULT_LAT] - } - const initConfig = getInitMapConfig(location) ?? defaultConfig locationInputs.after(mapContainer) + const map = createMap(mapId, initConfig, config) + + map.on( + 'map:ready', + /** + * Callback function which fires when the map is ready + * @param {object} e - the event + * @param {MapLibreMap} e.map - the map provider instance + */ + function onMapReady(e) { + switch (locationType) { + case 'latlongfield': + bindLatLongField(location, map, e.map) + break + default: + throw new Error('Not implemented') + } + + // Add info panel + map.addPanel('info', { + showLabel: true, + label: 'How to use the map', + mobile: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + tablet: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + desktop: { + slot: 'bottom', + initiallyOpen: true, + dismissable: true, + modal: false + }, + html: 'If using a map click on a point to update the location.

If using a keyboard, navigate to the point, centering the crosshair at the location and press enter.' + }) + } + ) +} + +/** + * Create a Defra map instance + * @param {string} mapId - the map id + * @param {DefraMapInitConfig} initConfig - the map initial configuration + * @param {MapsEnvironmentConfig} mapsConfig - the map environment params + */ +function createMap(mapId, initConfig, mapsConfig) { + const { assetPath, apiPath, data = defaultData } = mapsConfig const logoAltText = 'Ordnance survey logo' /** @type {DefraMap} */ - const defraMap = new defra.DefraMap(mapId, { + const map = new defra.DefraMap(mapId, { ...initConfig, mapProvider: defra.maplibreProvider(), reverseGeocodeProvider: defra.openNamesProvider({ @@ -191,53 +245,7 @@ function processLocation(config, location, index) { ] }) - defraMap.on( - 'map:ready', - /** - * Callback function which fires when the map is ready - * @param {object} e - the event - * @param {MapLibreMap} e.map - the map provider instance - */ - function onMapReady(e) { - switch (locationType) { - case 'latlongfield': - bindLatLongField(location, defraMap, e.map) - break - default: - throw new Error('Not implemented') - } - - // Get saved data from sessionStorage - const mapInfoPanelSeen = sessionStorage.getItem('mapInfoPanelSeen') - - if (!mapInfoPanelSeen) { - // Add info panel - defraMap.addPanel('info', { - showLabel: true, - label: 'How to use the map', - mobile: { - slot: 'bottom', - initiallyOpen: true, - dismissable: true, - modal: false - }, - tablet: { - slot: 'bottom', - initiallyOpen: true, - dismissable: true, - modal: false - }, - desktop: { - slot: 'bottom', - initiallyOpen: true, - dismissable: true, - modal: false - }, - html: 'If using a map click on a point to update the location.

If using a keyboard, navigate to the point, centering the crosshair at the location and press enter.' - }) - } - } - ) + return map } /** @@ -304,6 +312,7 @@ function getLatLongInputs(locationField) { /** * Gets initial map config for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element + * @returns {DefraMapInitConfig | undefined} */ function getInitLatLongMapConfig(locationField) { const { latInput, longInput } = getLatLongInputs(locationField) @@ -356,6 +365,7 @@ function bindLatLongField(locationField, map, mapProvider) { const result = validateLatLong(latInput.value, longInput.value) if (result.valid) { + /** @type {MapCenter} */ const center = [result.value.long, result.value.lat] // Move the 'location' marker to the new point @@ -386,6 +396,17 @@ function bindLatLongField(locationField, map, mapProvider) { * @property {Function} flyTo - pans/zooms to a new location */ +/** + * @typedef {[number, number]} MapCenter - Map center point as [long, lat] + */ + +/** + * @typedef {object} DefraMapInitConfig - additional config that can be provided to DefraMap + * @property {string} zoom - the zoom level of the map + * @property {MapCenter} center - the center point of the map + * @property {{ id: string, coords: MapCenter}[]} [markers] - the markers to add to the map + */ + /** * @typedef {object} TileData * @property {string} VTS_OUTDOOR_URL - the outdoor tile URL @@ -394,14 +415,7 @@ function bindLatLongField(locationField, map, mapProvider) { */ /** - * @typedef {object} MapsClientConfig - * @property {string} [assetPath] - the root asset path - * @property {string} [apiPath] - the root API path - * @property {TileData} [data] - the tile data config - */ - -/** - * @typedef {object} MapsClientParams + * @typedef {object} MapsEnvironmentConfig * @property {string} assetPath - the root asset path * @property {string} apiPath - the root API path * @property {TileData} data - the tile data config From 62790be1840dcdd4c342b21ed631292f9025b9fc Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 9 Jan 2026 16:11:08 +0000 Subject: [PATCH 18/52] Add location maps client tests --- src/client/javascripts/location-map.js | 43 +++-- test/client/javascripts/location-map.test.js | 179 +++++++++++++++++++ 2 files changed, 205 insertions(+), 17 deletions(-) create mode 100644 test/client/javascripts/location-map.test.js diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index a66faea7c..a82aec320 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -1,6 +1,3 @@ -// @ts-expect-error - Defra namespace currently comes from UMD support files -const defra = window.defra - // Center of UK const DEFAULT_LAT = 53.825564 const DEFAULT_LONG = -2.421975 @@ -22,6 +19,27 @@ const defaultData = { 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Black_and_White.json' } +/** + * Make a form submit handler that only allows submissions from allowed buttons + * @param {HTMLButtonElement[]} buttons - the form buttons to allow submissions + */ +export function formSubmitFactory(buttons) { + /** + * The submit handler + * @param {SubmitEvent} e + */ + const onFormSubmit = function (e) { + if ( + !(e.submitter instanceof HTMLButtonElement) || + !buttons.includes(e.submitter) + ) { + e.preventDefault() + } + } + + return onFormSubmit +} + /** * Initialise location maps * @param {Partial} config - the map configuration @@ -45,19 +63,7 @@ export function initMaps(config = {}) { } const buttons = Array.from(form.querySelectorAll('button')) - - form.addEventListener( - 'submit', - function (e) { - if ( - e.submitter instanceof HTMLButtonElement && - !buttons.includes(e.submitter) - ) { - e.preventDefault() - } - }, - false - ) + form.addEventListener('submit', formSubmitFactory(buttons), false) } locations.forEach((location, index) => { @@ -180,6 +186,9 @@ function createMap(mapId, initConfig, mapsConfig) { const { assetPath, apiPath, data = defaultData } = mapsConfig const logoAltText = 'Ordnance survey logo' + // @ts-expect-error - Defra namespace currently comes from UMD support files + const defra = window.defra + /** @type {DefraMap} */ const map = new defra.DefraMap(mapId, { ...initConfig, @@ -350,7 +359,7 @@ function bindLatLongField(locationField, map, mapProvider) { * @param {object} e - the event * @param {[number, number]} e.coords - the map marker coordinates */ - function (e) { + function onInteractMarkerChange(e) { const maxPrecision = 7 latInput.value = e.coords[1].toFixed(maxPrecision) longInput.value = e.coords[0].toFixed(maxPrecision) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js new file mode 100644 index 000000000..4aa22c79b --- /dev/null +++ b/test/client/javascripts/location-map.test.js @@ -0,0 +1,179 @@ +import { + formSubmitFactory, + initMaps +} from '~/src/client/javascripts/location-map.js' + +describe('Location Maps Client JS', () => { + /** @type {jest.Mock} */ + let onMock + + /** @type {jest.Mock} */ + let addMarkerMock + + /** @type {jest.Mock} */ + let addPanelMock + + beforeEach(() => { + // eslint-disable-next-line @typescript-eslint/no-empty-function + const noop = () => {} + onMock = jest.fn() + addMarkerMock = jest.fn() + addPanelMock = jest.fn() + + class MockDefraMap { + // eslint-disable-next-line @typescript-eslint/no-empty-function + on = onMock + // eslint-disable-next-line @typescript-eslint/no-empty-function + addMarker = addMarkerMock + // eslint-disable-next-line @typescript-eslint/no-empty-function + addPanel = addPanelMock + } + + // @ts-expect-error - loaded via UMD + window.defra = { + DefraMap: MockDefraMap, + maplibreProvider: noop, + openNamesProvider: noop, + mapStylesPlugin: noop, + interactPlugin: noop, + searchPlugin: noop, + zoomControlsPlugin: noop, + scaleBarPlugin: noop + } + + document.body.innerHTML = ` +
+
+
+ + What is your latitude and longitude (optional) + +
+ For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767 +
+
+
+
+ +
+ + +
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+ +
+
+ ` + }) + + afterEach(() => { + document.body.innerHTML = '' + }) + + test('initMaps initializes without errors when DOM elements are present', () => { + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith('map:ready', expect.any(Function)) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) + + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) + + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + const onInteractMarkerChange = onMock.mock.calls[1][1] + expect(typeof onInteractMarkerChange).toBe('function') + onInteractMarkerChange({ coords: [0, 0] }) + + const inputs = document.body.querySelectorAll('input.govuk-input') + expect(inputs).toHaveLength(2) + + const [latInput, longInput] = inputs + + ;/** @type {HTMLInputElement} */ (latInput).value = '53.825564' + latInput.dispatchEvent(new window.Event('change')) + ;/** @type {HTMLInputElement} */ (longInput).value = '-2.421975' + longInput.dispatchEvent(new window.Event('change')) + + expect(addMarkerMock).toHaveBeenCalledTimes(1) + expect(flyToMock).toHaveBeenCalledTimes(1) + }) + + test('form does submit when submitter is the main form button', () => { + const preventDefault = jest.fn() + + initMaps() + + const form = document.body.querySelector('form') + if (!form) { + throw new TypeError('Unexpected empty form') + } + + const buttons = Array.from(form.querySelectorAll('button')) + const onFormSubmit = formSubmitFactory(buttons) + + const e = /** @type {SubmitEvent} */ ( + /** @type {unknown} */ ({ + submitter: buttons.at(0), + preventDefault + }) + ) + + onFormSubmit(e) + + expect(preventDefault).toHaveBeenCalledTimes(0) + }) + + test('form does not submit unless it is the main form button', () => { + const preventDefault = jest.fn() + + initMaps() + + const form = document.body.querySelector('form') + if (!form) { + throw new TypeError('Unexpected empty form') + } + + const buttons = Array.from(form.querySelectorAll('button')) + const onFormSubmit = formSubmitFactory(buttons) + + const e = /** @type {SubmitEvent} */ ( + /** @type {unknown} */ ({ + submitter: null, + preventDefault + }) + ) + + onFormSubmit(e) + + expect(preventDefault).toHaveBeenCalledTimes(1) + }) +}) From d556643a24bbdeab18d199151b5d1befd4bb058e Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 9 Jan 2026 16:19:33 +0000 Subject: [PATCH 19/52] Fix formatting --- test/client/javascripts/location-map.test.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 4aa22c79b..438889970 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -116,13 +116,16 @@ describe('Location Maps Client JS', () => { const inputs = document.body.querySelectorAll('input.govuk-input') expect(inputs).toHaveLength(2) - const [latInput, longInput] = inputs + const latInput = /** @type {HTMLInputElement} */ (inputs[0]) + const longInput = /** @type {HTMLInputElement} */ (inputs[1]) - ;/** @type {HTMLInputElement} */ (latInput).value = '53.825564' + latInput.value = '53.825564' latInput.dispatchEvent(new window.Event('change')) - ;/** @type {HTMLInputElement} */ (longInput).value = '-2.421975' + + longInput.value = '-2.421975' longInput.dispatchEvent(new window.Event('change')) + // Expect it to update once, only when both fields are valid expect(addMarkerMock).toHaveBeenCalledTimes(1) expect(flyToMock).toHaveBeenCalledTimes(1) }) From ac114c2b75fb176eb33cbe20c20a08bd98b08c13 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 9 Jan 2026 17:01:11 +0000 Subject: [PATCH 20/52] Add map service tests --- src/server/plugins/map/service.test.js | 144 ++++++++++ src/server/plugins/map/test/__stubs__/find.js | 266 ++++++++++++++++++ .../plugins/map/test/__stubs__/nearest.js | 46 +++ 3 files changed, 456 insertions(+) create mode 100644 src/server/plugins/map/service.test.js create mode 100644 src/server/plugins/map/test/__stubs__/find.js create mode 100644 src/server/plugins/map/test/__stubs__/nearest.js diff --git a/src/server/plugins/map/service.test.js b/src/server/plugins/map/service.test.js new file mode 100644 index 000000000..3ddeb617f --- /dev/null +++ b/src/server/plugins/map/service.test.js @@ -0,0 +1,144 @@ +import Boom from '@hapi/boom' + +import * as service from '~/src/server/plugins/map/service.js' +import { result as findResult } from '~/src/server/plugins/map/test/__stubs__/find.js' +import { result as nearestResult } from '~/src/server/plugins/map/test/__stubs__/nearest.js' +import { getJson } from '~/src/server/services/httpService.js' + +jest.mock('~/src/server/services/httpService.ts') + +describe('Maps service', () => { + describe('find', () => { + it('should return entires', async () => { + jest.mocked(getJson).mockResolvedValueOnce({ + res: /** @type {IncomingMessage} */ ({ + statusCode: 200, + headers: {} + }), + payload: findResult, + error: undefined + }) + + const { results } = await service.find('NW1 6XE', 'apikey') + + expect(results).toHaveLength(8) + expect(results.at(1)).toEqual({ + GAZETTEER_ENTRY: { + ID: 'NW26XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW26XE', + NAME1: 'NW2 6XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 523065, + GEOMETRY_Y: 185795, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'London', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074813508', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'Brent', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011447', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }) + }) + + it('should return an empty response when an error is encountered', async () => { + jest.mocked(getJson).mockResolvedValueOnce({ + res: /** @type {IncomingMessage} */ ({ + statusCode: 300, + headers: {} + }), + payload: undefined, + error: new Error('Unknown error') + }) + + const { results } = await service.find('NW1 6XE', 'apikey') + + expect(results).toHaveLength(0) + expect(results).toEqual([]) + }) + + it('should return an empty response when a non 200 response is encountered', async () => { + jest + .mocked(getJson) + .mockRejectedValueOnce( + Boom.badRequest( + 'OS API error', + new Error('Invalid postcode segments') + ) + ) + + const { results } = await service.find('invalid postcode', 'apikey') + + expect(results).toHaveLength(0) + expect(results).toEqual([]) + }) + }) + + describe('nearest', () => { + it('should return entries', async () => { + jest.mocked(getJson).mockResolvedValueOnce({ + res: /** @type {IncomingMessage} */ ({ + statusCode: 200, + headers: {} + }), + payload: nearestResult, + error: undefined + }) + + const { results } = await service.nearest(700000, 1300000, 'apikey') + + expect(results).toHaveLength(1) + expect(results.at(0)).toEqual({ + GAZETTEER_ENTRY: { + ID: 'NW26XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW26XE', + NAME1: 'NW2 6XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 523065, + GEOMETRY_Y: 185795, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'London', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074813508', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'Brent', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011447', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }) + }) + }) +}) + +/** + * @import { IncomingMessage } from 'node:http' + */ diff --git a/src/server/plugins/map/test/__stubs__/find.js b/src/server/plugins/map/test/__stubs__/find.js new file mode 100644 index 000000000..eed2edc1b --- /dev/null +++ b/src/server/plugins/map/test/__stubs__/find.js @@ -0,0 +1,266 @@ +export const result = { + header: { + uri: 'https://api.os.uk/search/names/v1/find?query=NW1%206XE&fq=local_type%3Apostcode%20local_type%3Ahamlet%20local_type%3Avillage%20local_type%3Atown%20local_type%3Acity%20local_type%3Aother_settlement&maxresults=8', + query: 'NW1 6XE', + format: 'JSON', + maxresults: 8, + offset: 0, + totalresults: 2016, + filter: + 'fq=local_type:postcode local_type:hamlet local_type:village local_type:town local_type:city local_type:other_settlement' + }, + results: [ + { + GAZETTEER_ENTRY: { + ID: 'NW16XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW16XE', + NAME1: 'NW1 6XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 527850, + GEOMETRY_Y: 182134, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'City of Westminster', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074559881', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'City of Westminster', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011164', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW26XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW26XE', + NAME1: 'NW2 6XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 523065, + GEOMETRY_Y: 185795, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'London', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074813508', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'Brent', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011447', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW36XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW36XE', + NAME1: 'NW3 6XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 526197, + GEOMETRY_Y: 185535, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'Hampstead', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074541613', + DISTRICT_BOROUGH: 'Camden', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011244', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW10XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW10XE', + NAME1: 'NW1 0XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 529608, + GEOMETRY_Y: 183996, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'Camden Town', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074557754', + DISTRICT_BOROUGH: 'Camden', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011244', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW16AE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW16AE', + NAME1: 'NW1 6AE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 527873, + GEOMETRY_Y: 182010, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'City of Westminster', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074559881', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'City of Westminster', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011164', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW16DE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW16DE', + NAME1: 'NW1 6DE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 527681, + GEOMETRY_Y: 182107, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'City of Westminster', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074559881', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'City of Westminster', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011164', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW16EX', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW16EX', + NAME1: 'NW1 6EX', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 527534, + GEOMETRY_Y: 182220, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'City of Westminster', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074559881', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'City of Westminster', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011164', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + }, + { + GAZETTEER_ENTRY: { + ID: 'NW16HE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW16HE', + NAME1: 'NW1 6HE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 527621, + GEOMETRY_Y: 182113, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'City of Westminster', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074559881', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'City of Westminster', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011164', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + } + ] +} diff --git a/src/server/plugins/map/test/__stubs__/nearest.js b/src/server/plugins/map/test/__stubs__/nearest.js new file mode 100644 index 000000000..d5eb86691 --- /dev/null +++ b/src/server/plugins/map/test/__stubs__/nearest.js @@ -0,0 +1,46 @@ +export const result = { + header: { + uri: 'https://api.os.uk/search/names/v1/nearest?point=523065%2C185795&radius=1000&fq=local_type%3AAirfield%20local_type%3AAirport%20local_type%3ABus_Station%20local_type%3AChemical_Works%20local_type%3ACity%20local_type%3ACoach_Station%20local_type%3AElectricity_Distribution%20local_type%3AElectricity_Production%20local_type%3AFurther_Education%20local_type%3AGas_Distribution_or_Storage%20local_type%3AHamlet%20local_type%3AHarbour%20local_type%3AHelicopter_Station%20local_type%3AHeliport%20local_type%3AHigher_or_University_Education%20local_type%3AHill_Or_Mountain%20local_type%3AHospice%20local_type%3AHospital%20local_type%3AMedical_Care_Accommodation%20local_type%3ANamed_Road%20local_type%3ANon_State_Primary_Education%20local_type%3ANon_State_Secondary_Education%20local_type%3AOther_Settlement%20local_type%3APassenger_Ferry_Terminal%20local_type%3APort_Consisting_of_Docks_and_Nautical_Berthing%20local_type%3APostcode%20local_type%3APrimary_Education%20local_type%3ARailway_Station%20local_type%3ARoad_User_Services%20local_type%3ASecondary_Education%20local_type%3ASection_Of_Named_Road%20local_type%3ASection_Of_Numbered_Road%20local_type%3ASpecial_Needs_Education%20local_type%3ASuburban_Area%20local_type%3ATown%20local_type%3AUrban_Greenspace%20local_type%3AVehicular_Ferry_Terminal%20local_type%3AVehicular_Rail_Terminal%20local_type%3AVillage%20local_type%3AWaterfall%20', + query: 'point=523065,185795 radius=1000', + format: 'JSON', + maxresults: 1, + offset: 0, + totalresults: 1, + filter: + 'fq=local_type:Airfield local_type:Airport local_type:Bus_Station local_type:Chemical_Works local_type:City local_type:Coach_Station local_type:Electricity_Distribution local_type:Electricity_Production local_type:Further_Education local_type:Gas_Distribution_or_Storage local_type:Hamlet local_type:Harbour local_type:Helicopter_Station local_type:Heliport local_type:Higher_or_University_Education local_type:Hill_Or_Mountain local_type:Hospice local_type:Hospital local_type:Medical_Care_Accommodation local_type:Named_Road local_type:Non_State_Primary_Education local_type:Non_State_Secondary_Education local_type:Other_Settlement local_type:Passenger_Ferry_Terminal local_type:Port_Consisting_of_Docks_and_Nautical_Berthing local_type:Postcode local_type:Primary_Education local_type:Railway_Station local_type:Road_User_Services local_type:Secondary_Education local_type:Section_Of_Named_Road local_type:Section_Of_Numbered_Road local_type:Special_Needs_Education local_type:Suburban_Area local_type:Town local_type:Urban_Greenspace local_type:Vehicular_Ferry_Terminal local_type:Vehicular_Rail_Terminal local_type:Village local_type:Waterfall' + }, + results: [ + { + GAZETTEER_ENTRY: { + ID: 'NW26XE', + NAMES_URI: 'http://data.ordnancesurvey.co.uk/id/postcodeunit/NW26XE', + NAME1: 'NW2 6XE', + TYPE: 'other', + LOCAL_TYPE: 'Postcode', + GEOMETRY_X: 523065, + GEOMETRY_Y: 185795, + MOST_DETAIL_VIEW_RES: 3500, + LEAST_DETAIL_VIEW_RES: 18000, + POPULATED_PLACE: 'London', + POPULATED_PLACE_URI: + 'http://data.ordnancesurvey.co.uk/id/4000000074813508', + POPULATED_PLACE_TYPE: + 'http://www.ordnancesurvey.co.uk/xml/codelists/localtype.xml#city', + DISTRICT_BOROUGH: 'Brent', + DISTRICT_BOROUGH_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000011447', + DISTRICT_BOROUGH_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/LondonBorough', + COUNTY_UNITARY: 'Greater London', + COUNTY_UNITARY_URI: + 'http://data.ordnancesurvey.co.uk/id/7000000000041441', + COUNTY_UNITARY_TYPE: + 'http://data.ordnancesurvey.co.uk/ontology/admingeo/GreaterLondonAuthority', + REGION: 'London', + REGION_URI: 'http://data.ordnancesurvey.co.uk/id/7000000000041428', + COUNTRY: 'England', + COUNTRY_URI: 'http://data.ordnancesurvey.co.uk/id/country/england' + } + } + ] +} From 9bae11af900e05c195a1cd2b30d23a1315665ba3 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 9 Jan 2026 17:07:26 +0000 Subject: [PATCH 21/52] Delete map tile proxy routes (because there are other requests e.g. sprites) --- src/server/plugins/map/routes/index.js | 21 +- .../vts/OS_VTS_3857_Black_and_White.json | 7858 ----------------- .../map/routes/vts/OS_VTS_3857_Dark.json | 7669 ---------------- .../map/routes/vts/OS_VTS_3857_Outdoor.json | 7653 ---------------- src/server/plugins/map/routes/vts/README.md | 5 - 5 files changed, 1 insertion(+), 23205 deletions(-) delete mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json delete mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json delete mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json delete mode 100644 src/server/plugins/map/routes/vts/README.md diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js index f7cd2ee59..1dbea22e2 100644 --- a/src/server/plugins/map/routes/index.js +++ b/src/server/plugins/map/routes/index.js @@ -1,5 +1,3 @@ -import { resolve } from 'node:path' - import { StatusCodes } from 'http-status-codes' import Joi from 'joi' @@ -16,8 +14,7 @@ export function getRoutes(options) { return [ mapProxyRoute(options), geocodeProxyRoute(options), - reverseGeocodeProxyRoute(options), - ...tileRoutes() + reverseGeocodeProxyRoute(options) ] } @@ -135,22 +132,6 @@ function reverseGeocodeProxyRoute(options) { } } -function tileRoutes() { - return [ - { - method: 'GET', - path: '/api/maps/vts/{path}', - options: { - handler: { - directory: { - path: resolve(import.meta.dirname, './vts') - } - } - } - } - ] -} - /** * @import { ServerRoute } from '@hapi/hapi' * @import { MapConfiguration, MapProxyGetRequestRefs, MapGeocodeGetRequestRefs, MapReverseGeocodeGetRequestRefs } from '~/src/server/plugins/map/types.js' diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json deleted file mode 100644 index b89760cde..000000000 --- a/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json +++ /dev/null @@ -1,7858 +0,0 @@ -{ - "version": 8, - "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/greyscale", - "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", - "sources": { - "esri": { - "type": "vector", - "url": "https://api.os.uk/maps/vector/v1/vts" - } - }, - "layers": [ - { - "id": "background", - "type": "background", - "paint": { - "background-color": "rgb(254,254,254)" - } - }, - { - "id": "Background", - "type": "fill", - "source": "esri", - "source-layer": "Background", - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [9, "rgb(220,220,220)"], - [11, "rgb(230,230,230)"], - [12, "rgb(240,240,240)"], - [14, "rgb(255,255,255)"] - ] - } - } - }, - { - "id": "European_land/2", - "type": "fill", - "source": "esri", - "source-layer": "European_land", - "minzoom": 8, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)", - "fill-outline-color": "rgb(0,0,0)" - } - }, - { - "id": "European_land/1", - "type": "fill", - "source": "esri", - "source-layer": "European_land", - "maxzoom": 8, - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/GB_land/3", - "type": "fill", - "source": "esri", - "source-layer": "GB_land", - "minzoom": 8, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/GB_land/2", - "type": "fill", - "source": "esri", - "source-layer": "GB_land", - "minzoom": 7, - "maxzoom": 8, - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/GB_land/1", - "type": "fill", - "source": "esri", - "source-layer": "GB_land", - "minzoom": 5, - "maxzoom": 7, - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/GB_land", - "type": "fill", - "source": "esri", - "source-layer": "GB_land", - "maxzoom": 5, - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/National_parks/2", - "type": "fill", - "source": "esri", - "source-layer": "National_parks", - "minzoom": 8, - "maxzoom": 11, - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [8, "rgb(245,245,245)"], - [10, "rgb(255,255,255)"] - ] - }, - "fill-opacity": 0.5 - } - }, - { - "id": "OS/National_parks/1", - "type": "fill", - "source": "esri", - "source-layer": "National_parks", - "minzoom": 7, - "maxzoom": 8, - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [5, "rgb(230,230,230)"], - [8, "rgb(245,245,245)"] - ] - }, - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Urban_areas/National/2", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "minzoom": 7, - "maxzoom": 9, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": "rgb(240,240,240)" - } - }, - { - "id": "OS/Urban_areas/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "minzoom": 5, - "maxzoom": 7, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": "rgb(235,235,235)" - } - }, - { - "id": "OS/Urban_areas/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "minzoom": 9, - "maxzoom": 12, - "filter": ["==", "_symbol", 1], - "layout": {}, - "paint": { - "fill-color": "rgb(235,235,235)" - } - }, - { - "id": "OS/Functional_sites/Air Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": "rgb(240,240,240)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Education/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": {}, - "paint": { - "fill-color": "rgb(240,240,240)", - "fill-opacity": 0 - } - }, - { - "id": "OS/Functional_sites/Medical Care/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": {}, - "paint": { - "fill-color": "rgb(240,240,240)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Road Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": {}, - "paint": { - "fill-color": "rgb(240,240,240)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Water Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": {}, - "paint": { - "fill-color": "rgb(245,245,245)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Greenspace:2/1", - "type": "fill", - "source": "esri", - "source-layer": "Greenspace:2", - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(235,235,235)" - } - }, - { - "id": "OS/Greenspace:2/0", - "type": "line", - "source": "esri", - "source-layer": "Greenspace:2", - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(226,226,226)", - "line-width": { - "stops": [ - [10, 0], - [11, 0], - [12, 0], - [13, 0], - [14, 0.1], - [15, 0.15], - [16, 0.25] - ] - } - } - }, - { - "id": "OS/TopographicArea_1/Unclassified", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 48], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Landform Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 47], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Tidal Water", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 46], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Landform Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 45], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Glasshouse", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 44], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Rail Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 42], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Structure", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 43], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Rail Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 41], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Path", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 40], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Inland Water", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 39], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Roadside Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 38], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Roadside Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 37], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Road Or Track", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 36], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 34], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 35], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Foreshore", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 30], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 29], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/3", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 29], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/3" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 29], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/2" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 29], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/1" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 29], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/0" - } - }, - { - "id": "OS/TopographicArea_1/Marsh/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 28], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Shingle", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 27], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Marsh/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 28], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Marsh/0" - } - }, - { - "id": "OS/TopographicArea_1/Mud", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 26], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Sand", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 25], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Saltmarsh/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 24], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Heath/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 23], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Saltmarsh/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 24], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" - } - }, - { - "id": "OS/TopographicArea_1/Heath/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 23], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Heath/0" - } - }, - { - "id": "OS/TopographicArea_1/Rough Grassland/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 22], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Rough Grassland/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 22], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" - } - }, - { - "id": "OS/TopographicArea_1/Scree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 21], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Scree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 21], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scree/0" - } - }, - { - "id": "OS/TopographicArea_1/Rock/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 20], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Rock/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 20], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Rock/0" - } - }, - { - "id": "OS/TopographicArea_1/Boulders/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 19], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Boulders/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 19], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Boulders/0" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/3", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/3" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/2" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/1" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/0" - } - }, - { - "id": "OS/TopographicArea_1/Coppice Or Osiers/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 17], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Coppice Or Osiers/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 17], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" - } - }, - { - "id": "OS/TopographicArea_1/Orchard/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 16], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Agricultural Land", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 15], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Orchard/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 16], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Orchard/0" - } - }, - { - "id": "OS/TopographicArea_1/Coniferous Tree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 14], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Coniferous Tree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 14], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" - } - }, - { - "id": "OS/TopographicArea_1/Nonconiferous Tree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 13], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Nonconiferous Tree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 13], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" - } - }, - { - "id": "OS/TopographicArea_1/Mixed Woodland/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 12], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Footbridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 11], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Mixed Woodland/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 15, - "filter": ["==", "_symbol", 12], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" - } - }, - { - "id": "OS/TopographicArea_1/Canal", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 10], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Step", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 9], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Track", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 8], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Pylon", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 7], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Traffic Calming", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 6], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Level Crossing", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 5], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Rail Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Road Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Archway", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Multi Surface", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_1/Cliff", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 32], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Cliff" - } - }, - { - "id": "OS/TopographicArea_1/Slope", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 31], - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Slope" - } - }, - { - "id": "OS/Woodland:3/Local/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [12, "rgb(248,248,248)"], - [15, "rgb(250,250,250)"] - ] - }, - "fill-outline-color": { - "stops": [ - [12, "rgb(250,250,250)"], - [15, "rgb(230,230,230)"] - ] - } - } - }, - { - "id": "OS/Woodland:3/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "minzoom": 6, - "maxzoom": 10, - "filter": ["==", "_symbol", 1], - "layout": {}, - "paint": { - "fill-color": "rgb(245,245,245)" - } - }, - { - "id": "OS/Woodland:3/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "minzoom": 10, - "maxzoom": 12, - "filter": ["==", "_symbol", 2], - "layout": {}, - "paint": { - "fill-color": "rgb(245,245,245)" - } - }, - { - "id": "OS/District_buildings/2", - "type": "fill", - "source": "esri", - "source-layer": "District_buildings", - "minzoom": 11, - "maxzoom": 13, - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [6, "rgb(220,220,220)"], - [12, "rgb(225,225,225)"] - ] - } - } - }, - { - "id": "OS/District_buildings/1", - "type": "fill", - "source": "esri", - "source-layer": "District_buildings", - "minzoom": 13, - "maxzoom": 14, - "layout": {}, - "paint": { - "fill-color": "rgb(230,230,230)" - } - }, - { - "id": "OS/Local_buildings/3", - "type": "fill", - "source": "esri", - "source-layer": "Local_buildings", - "minzoom": 15, - "maxzoom": 16, - "layout": { - "visibility": "visible" - }, - "paint": { - "fill-color": { - "stops": [ - [15, "rgb(250,250,250)"], - [16, "rgb(255,255,255)"] - ] - }, - "fill-outline-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/Local_buildings/2.5", - "type": "fill", - "source": "esri", - "source-layer": "Local_buildings", - "minzoom": 14, - "maxzoom": 15, - "layout": { - "visibility": "visible" - }, - "paint": { - "fill-color": "rgb(245,245,245)", - "fill-outline-color": "rgb(180,180,180)" - } - }, - { - "id": "OS/Local_buildings/1", - "type": "fill", - "source": "esri", - "source-layer": "Local_buildings", - "minzoom": 13, - "maxzoom": 14, - "layout": {}, - "paint": { - "fill-color": "rgb(230,230,230)" - } - }, - { - "id": "OS/Contours/Index", - "type": "line", - "source": "esri", - "source-layer": "Contours", - "minzoom": 10, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(150,150,150)", - "line-width": { - "stops": [ - [7, 0.1], - [8, 0.13], - [9, 0.2], - [10, 0.3], - [11, 0.4], - [12, 0.6], - [13, 0.8], - [14, 1], - [15, 1], - [16, 1.1] - ] - }, - "line-opacity": 0.3 - } - }, - { - "id": "OS/Contours/Normal", - "type": "line", - "source": "esri", - "source-layer": "Contours", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(150,150,150)", - "line-width": { - "stops": [ - [12, 0.3], - [13, 0.4], - [14, 0.5], - [15, 0.5], - [16, 0.7] - ] - }, - "line-opacity": 0.3 - } - }, - { - "id": "OS/Surfacewater/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "minzoom": 6, - "maxzoom": 8, - "filter": ["==", "_symbol", 1], - "layout": {}, - "paint": { - "fill-color": "rgb(220,220,220)" - } - }, - { - "id": "OS/Surfacewater/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "minzoom": 8, - "maxzoom": 12, - "filter": ["==", "_symbol", 2], - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [9, "rgb(220,220,220)"], - [11, "rgb(230,230,230)"], - [12, "rgb(240,240,240)"] - ] - } - } - }, - { - "id": "OS/Surfacewater/Local", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": { - "stops": [ - [12, "rgb(240,240,240)"], - [14, "rgb(255,255,255)"] - ] - }, - "fill-outline-color": "rgba(0,0,0,0.5)" - } - }, - { - "id": "OS/Foreshore/1", - "type": "fill", - "source": "esri", - "source-layer": "Foreshore", - "minzoom": 8, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(252,252,252)" - } - }, - { - "id": "OS/Ornament/1", - "type": "fill", - "source": "esri", - "source-layer": "Ornament", - "minzoom": 14, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(150,150,150)", - "fill-opacity": 0.4 - } - }, - { - "id": "OS/TopographicLine/Property Closing Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [6, 6], - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.5] - ] - } - } - }, - { - "id": "OS/TopographicArea_2/Structure", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 6], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_2/Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 5], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_2/Building/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_2/Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_2/Rail Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_2/Road Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicArea_2/Archway", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "minzoom": 15, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicLine/Step", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [6, 0.4], - [17, 0.4], - [18, 0.8], - [19, 1.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Mean High Water", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [6, 0.8], - [17, 0.9], - [18, 1.3], - [19, 2.1] - ] - } - } - }, - { - "id": "OS/TopographicLine/Traffic Calming", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Standard Gauge Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.8], - [18, 1.2], - [19, 2.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Mean Low Water", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 5], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.6] - ] - } - } - }, - { - "id": "OS/TopographicLine/Path", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 6], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [6, 4], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Overhead Construction", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 7], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [2, 2], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Culvert", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 8], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Pylon", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 9], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 1], - [18, 1.8], - [19, 2.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Ridge Or Rock Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 10], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 1.3], - [18, 2], - [19, 2.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Narrow Gauge Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 11], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Railway Buffer", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 12], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Tunnel Edge", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 13], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [2.5, 2.5], - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 2.1] - ] - } - } - }, - { - "id": "OS/TopographicLine/Line Of Posts", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 14], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Drain", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 15], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicArea_1/Building/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "minzoom": 16, - "filter": ["==", "_symbol", 33], - "layout": {}, - "paint": { - "fill-color": "rgb(255,255,255)" - } - }, - { - "id": "OS/TopographicLine/Default Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 16], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [16, 0.3], - [18, 0.7], - [19, 1.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Building Outline", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 17], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Edge Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [2, 2], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Road Or Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 19], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Building Division", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 20], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Inland water Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 21], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/General Surface Natural Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 22], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [2, 2], - "line-width": 0.6 - } - }, - { - "id": "OS/TopographicLine/Building Overhead Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 23], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [6, 4], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Landform Natural Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 24], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Historic Interest Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 25], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Landform Manmade Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 26], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Unclassified", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "minzoom": 16, - "filter": ["==", "_symbol", 27], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [17, 0.4], - [18, 1], - [19, 1.5] - ] - } - } - }, - { - "id": "OS/Waterlines/District", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 11, - "maxzoom": 13, - "filter": ["==", "_symbol", 0], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(207,207,207)", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/Local", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(200,200,200)", - "line-width": 0.5 - } - }, - { - "id": "OS/Waterlines/MHW", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": 0.5 - } - }, - { - "id": "OS/Waterlines/MHW_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "maxzoom": 12, - "filter": ["==", "_symbol", 2], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": 0.5 - } - }, - { - "id": "OS/Waterlines/MLW-2", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": 0.5, - "line-opacity": 0.8 - } - }, - { - "id": "OS/Waterlines/MLW", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 10, - "maxzoom": 13, - "filter": ["==", "_symbol", 3], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": 0.5, - "line-opacity": 0.4 - } - }, - { - "id": "OS/Waterlines/MLW_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 9, - "maxzoom": 10, - "filter": ["==", "_symbol", 3], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgba(144, 144, 144, 1)", - "line-width": 0.5 - } - }, - { - "id": "OS/Waterlines/National", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 7, - "maxzoom": 8, - "filter": ["==", "_symbol", 4], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(207,207,207)", - "line-width": 0.4 - } - }, - { - "id": "OS/Waterlines/Regional", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "minzoom": 8, - "maxzoom": 11, - "filter": ["==", "_symbol", 5], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(207,207,207)", - "line-width": 0.6 - } - }, - { - "id": "OS/Roads/Tunnels,", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 19], - "layout": {}, - "paint": { - "line-color": "rgb(146,146,146)", - "line-dasharray": [4, 2.5], - "line-width": { - "stops": [ - [9, 0.7], - [12, 0.8], - [14, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 9, - "filter": ["==", "_symbol", 6], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(160,160,160)", - "line-width": 1 - } - }, - { - "id": "OS/Roads/Motorway,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.6], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10], - [16, 14] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 5, - "maxzoom": 7, - "filter": ["==", "_symbol", 0], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(150,150,150)", - "line-width": 1 - } - }, - { - "id": "OS/Roads/Primary,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 3], - [9, 3.5], - [10, 4], - [12, 5], - [13, 5], - [14, 6], - [15, 8.5], - [16, 11] - ] - } - } - }, - { - "id": "OS/Roads/Primary,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 8, - "filter": ["==", "_symbol", 3], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(160,160,160)", - "line-width": 1 - } - }, - { - "id": "OS/Roads/A Road,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 6], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [5, 2.7], - [8, 2.7], - [9, 3.3], - [10, 4], - [12, 4.2], - [13, 5], - [14, 5.3], - [15, 7.5], - [16, 11] - ] - } - } - }, - { - "id": "OS/Roads/B Road,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 10, - "maxzoom": 16, - "filter": ["==", "_symbol", 8], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [8, 4], - [9, 2.7], - [10, 3], - [12, 3.5], - [13, 4.5], - [14, 5], - [15, 7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Minor,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 10], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [9, 2], - [10, 2.5], - [12, 3], - [13, 4], - [14, 5], - [15, 6], - [16, 8] - ] - } - } - }, - { - "id": "OS/Roads/Local,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 13], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [13, 3], - [14, 3], - [15, 5], - [16, 6.5] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 14, - "maxzoom": 16, - "filter": ["==", "_symbol", 15], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [13, 3], - [14, 3.5], - [15, 4], - [16, 5] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 17], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(197,197,197)", - "line-width": { - "stops": [ - [12, 4], - [13, 4], - [14, 5.3], - [15, 6.7], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 6], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [5, 1.8], - [8, 1.8], - [9, 2.3], - [10, 2.8], - [12, 3.2], - [13, 3.9], - [14, 4.4], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 10, - "maxzoom": 16, - "filter": ["==", "_symbol", 8], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [8, 2.8], - [9, 1.8], - [10, 2.3], - [12, 3.2], - [13, 3.9], - [14, 4.2], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 10], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.2], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 13], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [13, 2.3], - [14, 2.9], - [15, 3.75], - [16, 5.4] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 14, - "maxzoom": 16, - "filter": ["==", "_symbol", 15], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [13, 2], - [14, 2.7], - [15, 3], - [16, 4.2] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 17], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [12, 2], - [13, 2], - [14, 2.7], - [15, 3.3], - [16, 3.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "line-join": "round", - "line-cap": "round" - }, - "paint": { - "line-color": "rgb(255,255,255)", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgba(255, 255, 255, 1)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "line-join": "bevel" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.6], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10], - [16, 14] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 5, - "maxzoom": 7, - "filter": ["==", "_symbol", 1], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(150,150,150)", - "line-width": 1 - } - }, - { - "id": "OS/Roads/Primary,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 3], - [9, 3.5], - [10, 4], - [12, 5], - [13, 5], - [14, 6], - [15, 8.5], - [16, 11] - ] - } - } - }, - { - "id": "OS/Roads/Primary,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 8, - "filter": ["==", "_symbol", 4], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(200,200,200)", - "line-width": 1 - } - }, - { - "id": "OS/Roads/A Road,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 7], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [5, 2.7], - [8, 2.7], - [9, 3.3], - [10, 4], - [12, 4.5], - [13, 5], - [14, 5.3], - [15, 7.5], - [16, 11] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 8, - "filter": ["==", "_symbol", 7], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(200,200,200)", - "line-width": 1.3 - } - }, - { - "id": "OS/Roads/B Road,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 9], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [8, 4], - [9, 2.7], - [10, 3], - [12, 3.5], - [13, 4.5], - [14, 5], - [15, 7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Minor,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 11], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [9, 2], - [10, 2.5], - [12, 3], - [13, 4], - [14, 5], - [15, 6], - [16, 8] - ] - } - } - }, - { - "id": "OS/Roads/Local,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 14], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(205,205,205)", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 6], - [16, 8.7] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 16], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(205,205,205)", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 5.3], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(197,197,197)", - "line-width": { - "stops": [ - [12, 4], - [13, 4], - [14, 5.3], - [15, 6.7], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 7], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [5, 1.8], - [8, 1.8], - [9, 2.3], - [10, 2.8], - [12, 3.2], - [13, 3.9], - [14, 4.4], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 9], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [8, 2.8], - [9, 1.8], - [10, 2.3], - [12, 3.2], - [13, 3.9], - [14, 4.2], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 11], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.2], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 14], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [13, 2.3], - [14, 2.9], - [15, 3.75], - [16, 5.4] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 16], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [13, 2], - [14, 2.7], - [15, 3], - [16, 4.2] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_symbol", 18], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [12, 2], - [13, 2], - [14, 2.7], - [15, 3.3], - [16, 3.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(255,255,255)", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(255,255,255)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.6], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10], - [16, 14] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 5, - "maxzoom": 7, - "filter": ["==", "_symbol", 2], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(149,149,149)", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 5], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(147,147,147)", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,2_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 5, - "maxzoom": 8, - "filter": ["==", "_symbol", 5], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(176,176,176)", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 10, - "maxzoom": 16, - "filter": ["==", "_symbol", 12], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(197,197,197)", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 7, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(255,255,255)", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 8, - "maxzoom": 16, - "filter": ["==", "_symbol", 5], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(176,176,176)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Minor,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "minzoom": 10, - "maxzoom": 16, - "filter": ["==", "_symbol", 12], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(254,254,254)", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.1], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Railways/Multi Track", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [9, 0.5], - [10, 0.7], - [11, 0.7], - [12, 0.8], - [13, 1], - [14, 1], - [15, 1.5], - [16, 1.3] - ] - } - } - }, - { - "id": "OS/Railways/Narrow Gauge", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(146,146,146)", - "line-width": { - "stops": [ - [12, 0.4], - [13, 0.4], - [14, 0.4], - [15, 0.5], - [16, 0.5] - ] - } - } - }, - { - "id": "OS/Railways/Single Track", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-width": { - "stops": [ - [10, 0.5], - [11, 0.5], - [12, 0.7], - [13, 0.8], - [14, 0.8], - [15, 0.8], - [16, 1] - ] - } - } - }, - { - "id": "OS/Railways/Tunnel", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "minzoom": 9, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": {}, - "paint": { - "line-color": "rgb(146,146,146)", - "line-dasharray": [4, 2], - "line-width": { - "stops": [ - [10, 1], - [11, 1], - [12, 1], - [13, 1], - [14, 1], - [15, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/ETL", - "type": "line", - "source": "esri", - "source-layer": "ETL", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(0,0,0)", - "line-dasharray": [3, 2], - "line-width": { - "stops": [ - [13, 1], - [14, 1], - [15, 1], - [16, 1] - ] - }, - "line-opacity": 0.5 - } - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station", - "icon-size": { - "stops": [ - [12, 0.5], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 1], - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", - "icon-size": { - "stops": [ - [12, 0.5], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 13, - "filter": ["==", "_symbol", 1], - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 2], - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", - "icon-size": { - "stops": [ - [12, 0.7], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 3], - "layout": { - "icon-image": "OS/Railway_stations/London Underground Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Railway Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 16, - "filter": ["==", "_symbol", 4], - "layout": { - "icon-image": "OS/Railway_stations/Railway Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Railway Station And London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_symbol", 5], - "layout": { - "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.8], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Railway Station And London Underground Station_1", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 13, - "filter": ["==", "_symbol", 5], - "layout": { - "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Airports", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "minzoom": 8, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Airports", - "icon-size": { - "stops": [ - [9, 0.85], - [10, 0.85], - [11, 0.85], - [12, 0.85], - [13, 1], - [14, 1], - [15, 1], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgb(36,36,36)" - } - }, - { - "id": "OS/TopographicPoint/Spot Height", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 16, - "filter": ["==", "_symbol", 0], - "layout": { - "icon-image": "OS/TopographicPoint/Spot Height", - "icon-size": { - "stops": [ - [17, 0.6], - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(119,119,119)" - } - }, - { - "id": "OS/TopographicPoint/Site Of Heritage", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 1], - "layout": { - "icon-image": "OS/TopographicPoint/Site Of Heritage", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(125,125,125)" - } - }, - { - "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 2], - "layout": { - "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", - "icon-size": { - "stops": [ - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(81,81,81)" - } - }, - { - "id": "OS/TopographicPoint/Inland Water", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 3], - "layout": { - "icon-image": "OS/TopographicPoint/Inland Water", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(125,125,125)" - } - }, - { - "id": "OS/TopographicPoint/Roadside", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 4], - "layout": { - "icon-image": "OS/TopographicPoint/Roadside", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(82,82,82)" - } - }, - { - "id": "OS/TopographicPoint/Overhead Construction", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 5], - "layout": { - "icon-image": "OS/TopographicPoint/Overhead Construction", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(82,82,82)" - } - }, - { - "id": "OS/TopographicPoint/Rail", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 6], - "layout": { - "icon-image": "OS/TopographicPoint/Rail", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(125,125,125)" - } - }, - { - "id": "OS/TopographicPoint/Positioned Coniferous Tree", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 7], - "layout": { - "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", - "icon-size": { - "stops": [ - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(81,81,81)" - } - }, - { - "id": "OS/TopographicPoint/Triangulation Point Or Pillar", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 8], - "layout": { - "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", - "icon-size": { - "stops": [ - [18, 1.25], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(82,82,82)" - } - }, - { - "id": "OS/TopographicPoint/Historic Interest", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 9], - "layout": { - "icon-image": "OS/TopographicPoint/Historic Interest", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(125,125,125)" - } - }, - { - "id": "OS/TopographicPoint/Landform", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 10], - "layout": { - "icon-image": "OS/TopographicPoint/Landform", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgba(240,240,240,0)" - } - }, - { - "id": "OS/TopographicPoint/Tidal Water", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 11], - "layout": { - "icon-image": "OS/TopographicPoint/Tidal Water", - "icon-size": { - "stops": [ - [18, 1.4], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(125,125,125)" - } - }, - { - "id": "OS/TopographicPoint/Structure", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "minzoom": 17, - "filter": ["==", "_symbol", 12], - "layout": { - "icon-image": "OS/TopographicPoint/Structure", - "icon-size": { - "stops": [ - [18, 1.4], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(82,82,82)" - } - }, - { - "id": "OS/CartographicSymbol/Culvert Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "minzoom": 17, - "filter": ["==", "_symbol", 0], - "layout": { - "icon-image": "OS/CartographicSymbol/Culvert Symbol", - "icon-size": { - "stops": [ - [18, 1.6], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(125,125,125)" - } - }, - { - "id": "OS/CartographicSymbol/Bench Mark Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "minzoom": 17, - "filter": ["==", "_symbol", 2], - "layout": { - "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(82,82,82)" - } - }, - { - "id": "OS/CartographicSymbol/Road Related Flow Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "minzoom": 17, - "filter": ["==", "_symbol", 3], - "layout": { - "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", - "icon-size": { - "stops": [ - [18, 1.1], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(82,82,82)" - } - }, - { - "id": "OS/Names/National/Capital:1", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Capital:1", - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)" - } - }, - { - "id": "OS/Names/National/Country", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Country", - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class79", 79], - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "center", - "text-offset": [0.107527, 0], - "text-rotate": ["get", "_label_angle79"], - "text-letter-spacing": 0.05, - "text-field": "{_name79}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class64", 64], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-letter-spacing": 0.05, - "text-field": "{_name64}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class74", 74], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle74"], - "text-letter-spacing": 0.05, - "text-field": "{_name74}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class97", 97], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle97"], - "text-letter-spacing": 0.05, - "text-field": "{_name97}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class87", 87], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle87"], - "text-letter-spacing": 0.05, - "text-field": "{_name87}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class72", 72], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle72"], - "text-letter-spacing": 0.05, - "text-field": "{_name72}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class73", 73], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle73"], - "text-letter-spacing": 0.05, - "text-field": "{_name73}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class61", 61], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-letter-spacing": 0.05, - "text-field": "{_name61}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class99", 99], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle99"], - "text-letter-spacing": 0.05, - "text-field": "{_name99}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class96", 96], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle96"], - "text-letter-spacing": 0.05, - "text-field": "{_name96}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class95", 95], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle95"], - "text-letter-spacing": 0.05, - "text-field": "{_name95}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class89", 89], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle89"], - "text-letter-spacing": 0.05, - "text-field": "{_name89}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class86", 86], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle86"], - "text-letter-spacing": 0.05, - "text-field": "{_name86}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class85", 85], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle85"], - "text-letter-spacing": 0.05, - "text-field": "{_name85}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class76", 76], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle76"], - "text-letter-spacing": 0.05, - "text-field": "{_name76}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class66", 66], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-letter-spacing": 0.05, - "text-field": "{_name66}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class53", 53], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0952381, 0], - "text-rotate": ["get", "_label_angle53"], - "text-letter-spacing": 0.05, - "text-field": "{_name53}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class54", 54], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle54"], - "text-letter-spacing": 0.05, - "text-field": "{_name54}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class100", 100], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle100"], - "text-letter-spacing": 0.05, - "text-field": "{_name100}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class90", 90], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle90"], - "text-letter-spacing": 0.05, - "text-field": "{_name90}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class77", 77], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle77"], - "text-letter-spacing": 0.05, - "text-field": "{_name77}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class67", 67], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-letter-spacing": 0.05, - "text-field": "{_name67}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class55", 55], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle55"], - "text-letter-spacing": 0.05, - "text-field": "{_name55}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class78", 78], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle78"], - "text-letter-spacing": 0.05, - "text-field": "{_name78}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class68", 68], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-letter-spacing": 0.05, - "text-field": "{_name68}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class56", 56], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle56"], - "text-letter-spacing": 0.05, - "text-field": "{_name56}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class101", 101], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle101"], - "text-letter-spacing": 0.05, - "text-field": "{_name101}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class91", 91], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle91"], - "text-letter-spacing": 0.05, - "text-field": "{_name91}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class69", 69], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle69"], - "text-letter-spacing": 0.05, - "text-field": "{_name69}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class57", 57], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle57"], - "text-letter-spacing": 0.05, - "text-field": "{_name57}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class92", 92], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle92"], - "text-letter-spacing": 0.05, - "text-field": "{_name92}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-width": 1, - "text-halo-color": "rgba(255, 255, 255, 1)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class82", 82], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle82"], - "text-letter-spacing": 0.05, - "text-field": "{_name82}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class60", 60], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name60}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class58", 58], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle58"], - "text-letter-spacing": 0.05, - "text-field": "{_name58}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class75", 75], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle75"], - "text-letter-spacing": 0.05, - "text-field": "{_name75}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class98", 98], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle98"], - "text-letter-spacing": 0.05, - "text-field": "{_name98}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class88", 88], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle88"], - "text-letter-spacing": 0.05, - "text-field": "{_name88}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class59", 59], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle59"], - "text-letter-spacing": 0.05, - "text-field": "{_name59}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class65", 65], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-letter-spacing": 0.05, - "text-field": "{_name65}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class52", 52], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle52"]], - "text-letter-spacing": 0.05, - "text-field": "{_name52}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class50", 50], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle50"], - "text-letter-spacing": 0.05, - "text-field": "{_name50}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class40", 40], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle40"], - "text-letter-spacing": 0.05, - "text-field": "{_name40}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class43", 43], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle43"], - "text-letter-spacing": 0.05, - "text-field": "{_name43}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class44", 44], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle44"], - "text-letter-spacing": 0.05, - "text-field": "{_name44}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class45", 45], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle45"], - "text-letter-spacing": 0.05, - "text-field": "{_name45}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class46", 46], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle46"], - "text-letter-spacing": 0.05, - "text-field": "{_name46}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class47", 47], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle47"], - "text-letter-spacing": 0.05, - "text-field": "{_name47}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class48", 48], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle48"], - "text-letter-spacing": 0.05, - "text-field": "{_name48}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - NW(1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class49", 49], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle49"], - "text-letter-spacing": 0.05, - "text-field": "{_name49}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class51", 51], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle51"], - "text-letter-spacing": 0.05, - "text-field": "{_name51}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class42", 42], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle42"]], - "text-letter-spacing": 0.05, - "text-field": "{_name42}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class80", 80], - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle80"], - "text-letter-spacing": 0.05, - "text-field": "{_name80}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class94", 94], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle94"]], - "text-letter-spacing": 0.05, - "text-field": "{_name94}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class84", 84], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle84"]], - "text-letter-spacing": 0.05, - "text-field": "{_name84}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class93", 93], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle93"], - "text-letter-spacing": 0.05, - "text-field": "{_name93}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class83", 83], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle83"], - "text-letter-spacing": 0.05, - "text-field": "{_name83}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class71", 71], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle71"]], - "text-letter-spacing": 0.05, - "text-field": "{_name71}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class63", 63], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-letter-spacing": 0.05, - "text-field": "{_name63}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Height - East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class62", 62], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-letter-spacing": 0.05, - "text-field": "{_name62}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class41", 41], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle41"], - "text-letter-spacing": 0.05, - "text-field": "{_name41}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class70", 70], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle70"], - "text-letter-spacing": 0.05, - "text-field": "{_name70}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class81", 81], - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle81"]], - "text-letter-spacing": 0.05, - "text-field": "{_name81}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class32", 32], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle32"]], - "text-letter-spacing": 0.05, - "text-field": "{_name32}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class39", 39], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle39"], - "text-letter-spacing": 0.05, - "text-field": "{_name39}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class38", 38], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle38"], - "text-letter-spacing": 0.05, - "text-field": "{_name38}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class37", 37], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle37"], - "text-letter-spacing": 0.05, - "text-field": "{_name37}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class36", 36], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle36"], - "text-letter-spacing": 0.05, - "text-field": "{_name36}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class35", 35], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle35"], - "text-letter-spacing": 0.05, - "text-field": "{_name35}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class34", 34], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle34"], - "text-letter-spacing": 0.05, - "text-field": "{_name34}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class33", 33], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0930233, 0], - "text-rotate": ["get", "_label_angle33"], - "text-letter-spacing": 0.05, - "text-field": "{_name33}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class30", 30], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0930233, 0], - "text-rotate": ["get", "_label_angle30"], - "text-letter-spacing": 0.05, - "text-field": "{_name30}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class31", 31], - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle31"], - "text-letter-spacing": 0.05, - "text-field": "{_name31}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class20", 20], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle20"], - "text-letter-spacing": 0.05, - "text-field": "{_name20}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class21", 21], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle21"], - "text-letter-spacing": 0.05, - "text-field": "{_name21}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class22", 22], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle22"]], - "text-letter-spacing": 0.05, - "text-field": "{_name22}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class23", 23], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle23"], - "text-letter-spacing": 0.05, - "text-field": "{_name23}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class24", 24], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle24"], - "text-letter-spacing": 0.05, - "text-field": "{_name24}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class25", 25], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle25"], - "text-letter-spacing": 0.05, - "text-field": "{_name25}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class26", 26], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle26"], - "text-letter-spacing": 0.05, - "text-field": "{_name26}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class27", 27], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle27"], - "text-letter-spacing": 0.05, - "text-field": "{_name27}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class28", 28], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle28"], - "text-letter-spacing": 0.05, - "text-field": "{_name28}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Natural - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "filter": ["==", "_label_class29", 29], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle29"], - "text-letter-spacing": 0.05, - "text-field": "{_name29}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class12", 12], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle12"]], - "text-letter-spacing": 0.05, - "text-field": "{_name12}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class2", 2], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle2"]], - "text-letter-spacing": 0.05, - "text-field": "{_name2}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class11", 11], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle11"], - "text-letter-spacing": 0.05, - "text-field": "{_name11}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class1", 1], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle1"], - "text-letter-spacing": 0.05, - "text-field": "{_name1}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class10", 10], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle10"], - "text-letter-spacing": 0.05, - "text-field": "{_name10}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/CartographicText/label/General - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class", 0], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle"], - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/CartographicText/label/General - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class17", 17], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle17"], - "text-letter-spacing": 0.05, - "text-field": "{_name17}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class7", 7], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle7"], - "text-letter-spacing": 0.05, - "text-field": "{_name7}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class19", 19], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle19"], - "text-letter-spacing": 0.05, - "text-field": "{_name19}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class9", 9], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle9"], - "text-letter-spacing": 0.05, - "text-field": "{_name9}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class18", 18], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle18"], - "text-letter-spacing": 0.05, - "text-field": "{_name18}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class8", 8], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle8"], - "text-letter-spacing": 0.05, - "text-field": "{_name8}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class16", 16], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle16"], - "text-letter-spacing": 0.05, - "text-field": "{_name16}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class6", 6], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle6"], - "text-letter-spacing": 0.05, - "text-field": "{_name6}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class15", 15], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle15"], - "text-letter-spacing": 0.05, - "text-field": "{_name15}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class5", 5], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle5"], - "text-letter-spacing": 0.05, - "text-field": "{_name5}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class14", 14], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle14"], - "text-letter-spacing": 0.05, - "text-field": "{_name14}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-width": 2, - "text-halo-color": "rgba(255, 255, 255, 1)" - } - }, - { - "id": "OS/CartographicText/label/General - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class4", 4], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle4"], - "text-letter-spacing": 0.05, - "text-field": "{_name4}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 16, - "maxzoom": 17, - "filter": ["==", "_label_class13", 13], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle13"], - "text-letter-spacing": 0.05, - "text-field": "{_name13}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/General - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "minzoom": 17, - "filter": ["==", "_label_class3", 3], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle3"], - "text-letter-spacing": 0.05, - "text-field": "{_name3}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/Roads/label/Local Road 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_label_class", 14], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/Local Road 22400-44800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 12, - "maxzoom": 13, - "filter": ["==", "_label_class", 15], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Minor Road 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_label_class", 12], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/Minor Road 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 13, - "maxzoom": 13, - "filter": ["==", "_label_class", 13], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Greenspace:1", - "type": "symbol", - "source": "esri", - "source-layer": "Greenspace:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Greenspace:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(0,0,0,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Sites", - "type": "symbol", - "source": "esri", - "source-layer": "Sites", - "minzoom": 14, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Sites", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Landform:1", - "type": "symbol", - "source": "esri", - "source-layer": "Landform:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Landform:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Landform:2", - "type": "symbol", - "source": "esri", - "source-layer": "Landform:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Landform:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Landcover:3", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Landcover:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Landcover:2", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:2", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Landcover:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Water:2", - "type": "symbol", - "source": "esri", - "source-layer": "Water:2", - "minzoom": 12, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Water:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(80,80,80)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Water:1", - "type": "symbol", - "source": "esri", - "source-layer": "Water:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Water:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(30,30,30)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Woodland:2", - "type": "symbol", - "source": "esri", - "source-layer": "Woodland:2", - "minzoom": 12, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Woodland:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(50,50,50)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Woodland:1", - "type": "symbol", - "source": "esri", - "source-layer": "Woodland:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Woodland:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgb(53,53,53)", - "text-color": "rgb(53,53,53)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/A & B Road 2800-11200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 14, - "maxzoom": 16, - "filter": ["==", "_label_class", 7], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(254,254,254)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/A & B Road 11200-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 13, - "maxzoom": 14, - "filter": ["==", "_label_class", 8], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(254,254,254)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/A & B Road 22400-358400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 10, - "maxzoom": 13, - "filter": ["==", "_label_class", 9], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(254,254,254)", - "text-halo-width": 1.6 - } - }, - { - "id": "OS/Roads/label/A & B Road Name 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_label_class", 10], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/A & B Road Name 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 12, - "maxzoom": 14, - "filter": ["==", "_label_class", 11], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Railway_stations/label/Station names 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 11, - "maxzoom": 13, - "filter": ["==", "_label_class1", 1], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "top", - "text-offset": { - "property": "_symbol", - "type": "categorical", - "default": [0, 0.0333333], - "stops": [ - [0, [0, 0.631292]], - [1, [0, 0.359493]], - [2, [0, 0.609832]], - [3, [0, 0.629975]], - [4, [0, 0.625794]], - [5, [0, 0.410354]] - ] - }, - "text-letter-spacing": 0.05, - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(249,249,249)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Railway_stations/label/Station names 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_label_class", 0], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-offset": { - "property": "_symbol", - "type": "categorical", - "default": [0, 0.1], - "stops": [ - [0, [0, 0.638163]], - [1, [0, 0.393543]], - [2, [0, 0.618849]], - [3, [0, 0.636977]], - [4, [0, 0.633215]], - [5, [0, 0.439319]] - ] - }, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(249,249,249)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Small Settlement", - "type": "symbol", - "source": "esri", - "source-layer": "Small Settlement", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Small Settlement", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": { - "stops": [ - [10, 11], - [15, 12] - ] - }, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Hamlet (Local)", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet (Local)", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Hamlet (Local)", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Hamlet:2", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Hamlet:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Hamlet:1", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet:1", - "minzoom": 11, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Hamlet:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Suburban Area:3", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:3", - "minzoom": 12, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Suburban Area:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/District/Suburban Area:2", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:2", - "minzoom": 10, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Suburban Area:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true, - "visibility": "none" - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Suburban Area:1", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:1", - "minzoom": 10, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/Regional/Suburban Area:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Landcover:1", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:1", - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Regional/Landcover:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 0.7 - } - }, - { - "id": "OS/Roads/label/Primary 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_label_class", 3], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 10, - "maxzoom": 13, - "filter": ["==", "_label_class", 4], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 179200-716800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 8, - "maxzoom": 10, - "filter": ["==", "_label_class", 5], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary Name 2800-44800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 12, - "maxzoom": 16, - "filter": ["==", "_label_class", 6], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Village:3", - "type": "symbol", - "source": "esri", - "source-layer": "Village:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Village:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/Regional/Village:1", - "type": "symbol", - "source": "esri", - "source-layer": "Village:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Village:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Roads/label/Motorway 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_label_class", 0], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Motorway 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 10, - "maxzoom": 13, - "filter": ["==", "_label_class", 1], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 12, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgba(255, 255, 255, 1)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Motorway 179200-2867200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "minzoom": 6, - "maxzoom": 10, - "filter": ["==", "_label_class", 2], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgba(255, 255, 255, 1)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Airports/label/Airport names 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "minzoom": 10, - "maxzoom": 13, - "filter": ["==", "_label_class1", 1], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "top", - "text-offset": [0, 0.582306], - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Airports/label/Airport names 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "minzoom": 13, - "maxzoom": 16, - "filter": ["==", "_label_class", 0], - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom", - "text-offset": [0, 0.688753], - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/National Park:3", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/National Park:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/Local/Motorway Junctions", - "type": "symbol", - "source": "esri", - "source-layer": "Motorway Junctions", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Motorway Junctions", - "icon-allow-overlap": true, - "text-font": ["Arial Bold"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(35,35,35,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/Local/Village:1", - "type": "symbol", - "source": "esri", - "source-layer": "Village:1", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/Local/Village:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": { - "stops": [ - [10, 10], - [12, 13] - ] - }, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true, - "visibility": "visible" - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/Local/Village:3", - "type": "symbol", - "source": "esri", - "source-layer": "Village:3", - "minzoom": 12, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Village:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true, - "visibility": "visible" - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/Local/Town:4", - "type": "symbol", - "source": "esri", - "source-layer": "Town:4", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Town:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 18, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/District/Town:1", - "type": "symbol", - "source": "esri", - "source-layer": "Town:1", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Town:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.7, - "icon-halo-width": 2, - "icon-halo-color": "rgba(255, 255, 255, 1)" - } - }, - { - "id": "OS/Names/Regional/Town:2", - "type": "symbol", - "source": "esri", - "source-layer": "Town:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Town:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Town:3", - "type": "symbol", - "source": "esri", - "source-layer": "Town:3", - "minzoom": 8, - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Town:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": { - "stops": [ - [8, 11], - [9, 12] - ] - }, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/National Park:2", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/National Park:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/National Park:1", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:1", - "minzoom": 7, - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/National Park:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/City:3", - "type": "symbol", - "source": "esri", - "source-layer": "City:3", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Local/City:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/District/City:4", - "type": "symbol", - "source": "esri", - "source-layer": "City:4", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/District/City:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 19, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/Regional/City:1", - "type": "symbol", - "source": "esri", - "source-layer": "City:1", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/Regional/City:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro regular"], - "text-anchor": "center", - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true, - "text-size": 18 - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/City:2", - "type": "symbol", - "source": "esri", - "source-layer": "City:2", - "minzoom": 5, - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/City:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Capital:3", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Capital:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 24, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/District/Capital:4", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:4", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Capital:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 20, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/Regional/Capital:2", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Capital:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Semibold"], - "text-size": 18, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(53,53,53,0)", - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Capital:1/label/Capital National", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "minzoom": 5, - "maxzoom": 9, - "filter": ["==", "_label_class", 0], - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true, - "icon-allow-overlap": true - }, - "paint": { - "text-color": "rgb(0,0,0)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Country/label/Country National", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "minzoom": 5, - "maxzoom": 9, - "filter": ["==", "_label_class", 0], - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 21, - "text-anchor": "center", - "text-letter-spacing": 0.75, - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true, - "icon-allow-overlap": true - }, - "paint": { - "text-color": "rgba(43,43,43,0.5)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "maxzoom": 5, - "filter": ["==", "_label_class1", 1], - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.270711, 0.0292893], - "text-field": "{_name1}", - "text-optional": true, - "icon-allow-overlap": true - }, - "paint": { - "text-color": "rgb(0,0,0)" - } - }, - { - "id": "OS/Names/National/Country/label/Country National 1:5.7m+", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "maxzoom": 5, - "filter": ["==", "_label_class1", 1], - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 16, - "text-anchor": "center", - "text-letter-spacing": 0.5, - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgba(0,0,0,0.5)", - "text-halo-color": "rgb(255,255,255)", - "text-halo-width": 1.5 - } - } - ] -} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json deleted file mode 100644 index f2ae17e08..000000000 --- a/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json +++ /dev/null @@ -1,7669 +0,0 @@ -{ - "version": 8, - "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/dark", - "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", - "sources": { - "esri": { - "type": "vector", - "url": "https://api.os.uk/maps/vector/v1/vts" - } - }, - "layers": [ - { - "id": "background", - "type": "background", - "paint": { - "background-color": "rgb(1,1,1)" - } - }, - { - "id": "Background", - "type": "fill", - "source": "esri", - "source-layer": "Background", - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "European_land/1", - "type": "fill", - "source": "esri", - "source-layer": "European_land", - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(6,6,6)" - } - }, - { - "id": "OS/GB_land/1", - "type": "fill", - "source": "esri", - "source-layer": "GB_land", - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/National_parks/1", - "type": "fill", - "source": "esri", - "source-layer": "National_parks", - "minzoom": 5, - "maxzoom": 11, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Urban_areas/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "filter": ["==", "_symbol", 0], - "minzoom": 5, - "maxzoom": 9, - "layout": {}, - "paint": { - "fill-color": "rgba(41,41,41,0.3)" - } - }, - { - "id": "OS/Urban_areas/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "filter": ["==", "_symbol", 1], - "minzoom": 9, - "maxzoom": 10, - "layout": {}, - "paint": { - "fill-color": "rgba(41,41,41,0.7)" - } - }, - { - "id": "OS/Functional_sites/Air Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 0], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(26,26,26)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Education/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 1], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(21,21,21)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Medical Care/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 2], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(33,33,33)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Road Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 3], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(15,15,15)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Water Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 4], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(28,28,28)", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Greenspace:2/1", - "type": "fill", - "source": "esri", - "source-layer": "Greenspace:2", - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(20,20,20)" - } - }, - { - "id": "OS/Greenspace:2/0", - "type": "line", - "source": "esri", - "source-layer": "Greenspace:2", - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(29,29,29)", - "line-width": { - "stops": [ - [10, 0], - [11, 0], - [12, 0], - [13, 0], - [14, 0.1], - [15, 0.15], - [16, 0.25] - ] - } - } - }, - { - "id": "OS/TopographicArea_1/Unclassified", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 48], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(9,9,9)" - } - }, - { - "id": "OS/TopographicArea_1/Landform Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 47], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(14,14,14)" - } - }, - { - "id": "OS/TopographicArea_1/Tidal Water", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 46], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/TopographicArea_1/Landform Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 45], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(20,20,20)" - } - }, - { - "id": "OS/TopographicArea_1/Glasshouse", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 44], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(8,8,8)" - } - }, - { - "id": "OS/TopographicArea_1/Rail Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 42], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(30,30,30)" - } - }, - { - "id": "OS/TopographicArea_1/Structure", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 43], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(48,48,48)" - } - }, - { - "id": "OS/TopographicArea_1/Rail Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 41], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(52,52,52)" - } - }, - { - "id": "OS/TopographicArea_1/Path", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 40], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(36,36,36)" - } - }, - { - "id": "OS/TopographicArea_1/Inland Water", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 39], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/TopographicArea_1/Roadside Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 38], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(14,14,14)" - } - }, - { - "id": "OS/TopographicArea_1/Roadside Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 37], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(29,29,29)" - } - }, - { - "id": "OS/TopographicArea_1/Road Or Track", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 36], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(3,3,3)" - } - }, - { - "id": "OS/TopographicArea_1/Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 34], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(20,20,20)" - } - }, - { - "id": "OS/TopographicArea_1/Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 35], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(14,14,14)" - } - }, - { - "id": "OS/TopographicArea_1/Foreshore", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 30], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(23,23,23)" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/3", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/3" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/2" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/1" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/0" - } - }, - { - "id": "OS/TopographicArea_1/Marsh/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 28], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(16,16,16)" - } - }, - { - "id": "OS/TopographicArea_1/Shingle", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 27], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Marsh/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 28], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Marsh/0" - } - }, - { - "id": "OS/TopographicArea_1/Mud", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 26], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(27,27,27)" - } - }, - { - "id": "OS/TopographicArea_1/Sand", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 25], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(17,17,17)" - } - }, - { - "id": "OS/TopographicArea_1/Saltmarsh/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 24], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(16,16,16)" - } - }, - { - "id": "OS/TopographicArea_1/Heath/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 23], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Saltmarsh/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 24], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" - } - }, - { - "id": "OS/TopographicArea_1/Heath/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 23], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Heath/0" - } - }, - { - "id": "OS/TopographicArea_1/Rough Grassland/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 22], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Rough Grassland/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 22], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" - } - }, - { - "id": "OS/TopographicArea_1/Scree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 21], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Scree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 21], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scree/0" - } - }, - { - "id": "OS/TopographicArea_1/Rock/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 20], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Rock/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 20], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Rock/0" - } - }, - { - "id": "OS/TopographicArea_1/Boulders/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 19], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Boulders/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 19], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Boulders/0" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(22,22,22)" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/3", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/3" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/2" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/1" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/0" - } - }, - { - "id": "OS/TopographicArea_1/Coppice Or Osiers/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 17], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/TopographicArea_1/Coppice Or Osiers/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 17], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" - } - }, - { - "id": "OS/TopographicArea_1/Orchard/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 16], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/TopographicArea_1/Agricultural Land", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 15], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/TopographicArea_1/Orchard/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 16], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Orchard/0" - } - }, - { - "id": "OS/TopographicArea_1/Coniferous Tree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 14], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/TopographicArea_1/Coniferous Tree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 14], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" - } - }, - { - "id": "OS/TopographicArea_1/Nonconiferous Tree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 13], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/TopographicArea_1/Nonconiferous Tree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 13], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" - } - }, - { - "id": "OS/TopographicArea_1/Mixed Woodland/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 12], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/TopographicArea_1/Footbridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 11], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(43,43,43)" - } - }, - { - "id": "OS/TopographicArea_1/Mixed Woodland/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 12], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" - } - }, - { - "id": "OS/TopographicArea_1/Canal", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 10], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/TopographicArea_1/Step", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 9], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(36,36,36)" - } - }, - { - "id": "OS/TopographicArea_1/Track", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 8], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(36,36,36)" - } - }, - { - "id": "OS/TopographicArea_1/Pylon", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 7], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(24,24,24)" - } - }, - { - "id": "OS/TopographicArea_1/Traffic Calming", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 6], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(3,3,3)" - } - }, - { - "id": "OS/TopographicArea_1/Level Crossing", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 5], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(3,3,3)" - } - }, - { - "id": "OS/TopographicArea_1/Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 4], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(45,45,45)" - } - }, - { - "id": "OS/TopographicArea_1/Rail Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 3], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(76,76,76)" - } - }, - { - "id": "OS/TopographicArea_1/Road Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 2], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(3,3,3)" - } - }, - { - "id": "OS/TopographicArea_1/Archway", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 1], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(41,41,41)" - } - }, - { - "id": "OS/TopographicArea_1/Multi Surface", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 0], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(18,18,18)" - } - }, - { - "id": "OS/TopographicArea_1/Cliff", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 32], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Cliff" - } - }, - { - "id": "OS/TopographicArea_1/Slope", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 31], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Slope" - } - }, - { - "id": "OS/Woodland:3/Local/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "filter": ["==", "_symbol", 0], - "minzoom": 12, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/Woodland:3/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "filter": ["==", "_symbol", 1], - "minzoom": 5, - "maxzoom": 10, - "layout": {}, - "paint": { - "fill-color": "rgba(32,32,32,0.6)" - } - }, - { - "id": "OS/Woodland:3/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "filter": ["==", "_symbol", 2], - "minzoom": 10, - "maxzoom": 12, - "layout": {}, - "paint": { - "fill-color": "rgb(32,32,32)" - } - }, - { - "id": "OS/District_buildings/1", - "type": "fill", - "source": "esri", - "source-layer": "District_buildings", - "minzoom": 10, - "maxzoom": 12, - "layout": {}, - "paint": { - "fill-color": "rgb(41,41,41)" - } - }, - { - "id": "OS/Local_buildings/1", - "type": "fill", - "source": "esri", - "source-layer": "Local_buildings", - "minzoom": 12, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(41,41,41)" - } - }, - { - "id": "OS/Contours/Index", - "type": "line", - "source": "esri", - "source-layer": "Contours", - "filter": ["==", "_symbol", 0], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(136,136,136)", - "line-width": { - "stops": [ - [7, 0.1], - [8, 0.13], - [9, 0.4], - [10, 0.4], - [11, 0.53], - [12, 0.67], - [13, 0.8], - [14, 1], - [15, 1], - [16, 1.1] - ] - }, - "line-opacity": 0.3 - } - }, - { - "id": "OS/Contours/Normal", - "type": "line", - "source": "esri", - "source-layer": "Contours", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(136,136,136)", - "line-width": { - "stops": [ - [12, 0.4], - [13, 0.4], - [14, 0.5], - [15, 0.5], - [16, 0.7] - ] - }, - "line-opacity": 0.3 - } - }, - { - "id": "OS/Surfacewater/Local", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "filter": ["==", "_symbol", 0], - "minzoom": 11, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)", - "fill-outline-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/Surfacewater/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "filter": ["==", "_symbol", 1], - "minzoom": 6, - "maxzoom": 7, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/Surfacewater/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "filter": ["==", "_symbol", 2], - "minzoom": 7, - "maxzoom": 11, - "layout": {}, - "paint": { - "fill-color": "rgb(44,44,44)" - } - }, - { - "id": "OS/Foreshore/1", - "type": "fill", - "source": "esri", - "source-layer": "Foreshore", - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(23,23,23)" - } - }, - { - "id": "OS/Ornament/1", - "type": "fill", - "source": "esri", - "source-layer": "Ornament", - "minzoom": 12, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(69,69,69)", - "fill-opacity": 0.6 - } - }, - { - "id": "OS/TopographicArea_2/Structure", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 6], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/TopographicArea_2/Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 5], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/TopographicArea_2/Building/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 4], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(41,41,41)" - } - }, - { - "id": "OS/TopographicArea_2/Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 3], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/TopographicArea_2/Rail Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 2], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/TopographicArea_2/Road Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 1], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(11,11,11)" - } - }, - { - "id": "OS/TopographicArea_2/Archway", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 0], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(41,41,41)" - } - }, - { - "id": "OS/TopographicLine/Property Closing Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 0], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(105,105,105)", - "line-dasharray": [6, 6], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Step", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 1], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(78,78,78)", - "line-width": { - "stops": [ - [6, 0.4], - [17, 0.4], - [18, 0.8], - [19, 1.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Mean High Water", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 2], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(62,62,62)", - "line-width": { - "stops": [ - [6, 0.8], - [17, 0.9], - [18, 1.3], - [19, 2.1] - ] - } - } - }, - { - "id": "OS/TopographicLine/Traffic Calming", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 3], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(64,64,64)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Standard Gauge Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 4], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-width": { - "stops": [ - [17, 0.8], - [18, 1.2], - [19, 2.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Mean Low Water", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 5], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(62,62,62)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.6] - ] - } - } - }, - { - "id": "OS/TopographicLine/Path", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 6], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(134,134,134)", - "line-dasharray": [6, 4], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Overhead Construction", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 7], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(78,78,78)", - "line-dasharray": [2, 2], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Culvert", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 8], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(62,62,62)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Pylon", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 9], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": { - "stops": [ - [17, 1], - [18, 1.8], - [19, 2.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Ridge Or Rock Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 10], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(66,66,66)", - "line-width": { - "stops": [ - [17, 1.3], - [18, 2], - [19, 2.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Narrow Gauge Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 11], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Railway Buffer", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 12], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Tunnel Edge", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 13], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-dasharray": [2.5, 2.5], - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 2.1] - ] - } - } - }, - { - "id": "OS/TopographicLine/Line Of Posts", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 14], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(115,115,115)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Drain", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 15], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(62,62,62)", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Default Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 16], - "minzoom": 15, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(134,134,134)", - "line-width": { - "stops": [ - [16, 0.4], - [18, 0.7], - [19, 1.3] - ] - } - } - }, - { - "id": "OS/TopographicArea_1/Building/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 33], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "rgb(41,41,41)" - } - }, - { - "id": "OS/TopographicLine/Building Outline", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 17], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(76,76,76)", - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Edge Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 18], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(105,105,105)", - "line-dasharray": [2, 2], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Road Or Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 19], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(129,129,129)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Building Division", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 20], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(76,76,76)", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Inland water Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 21], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(62,62,62)", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/General Surface Natural Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 22], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(105,105,105)", - "line-dasharray": [2, 2], - "line-width": 0.6 - } - }, - { - "id": "OS/TopographicLine/Building Overhead Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 23], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(134,134,134)", - "line-dasharray": [6, 4], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Landform Natural Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 24], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(66,66,66)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Historic Interest Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 25], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(105,105,105)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Landform Manmade Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 26], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(66,66,66)", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Unclassified", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 27], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(76,76,76)", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 2] - ] - } - } - }, - { - "id": "OS/Waterlines/District", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 0], - "minzoom": 9, - "maxzoom": 11, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 0.9 - } - }, - { - "id": "OS/Waterlines/Local", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/Local_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/MHW", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 2], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 1.6 - } - }, - { - "id": "OS/Waterlines/MHW_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 2], - "minzoom": 8, - "maxzoom": 12, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 1.3 - } - }, - { - "id": "OS/Waterlines/MLW", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 3], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 0.8 - } - }, - { - "id": "OS/Waterlines/MLW_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 3], - "minzoom": 8, - "maxzoom": 10, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 0.5 - } - }, - { - "id": "OS/Waterlines/National", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 4], - "minzoom": 5, - "maxzoom": 6, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 0.4 - } - }, - { - "id": "OS/Waterlines/Regional", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 5], - "minzoom": 7, - "maxzoom": 9, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/Regional_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 5], - "minzoom": 6, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(48,48,48)", - "line-width": 0.5 - } - }, - { - "id": "OS/Roads/Tunnels,", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 19], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "line-color": "rgb(109,109,109)", - "line-dasharray": [4, 2.5], - "line-width": { - "stops": [ - [9, 0.7], - [12, 0.8], - [14, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 6], - "minzoom": 7, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": 1.3 - } - }, - { - "id": "OS/Roads/Motorway,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 0], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(121,121,121)", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.6], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 0], - "minzoom": 5, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 3], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(108,108,108)", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 3], - "minzoom": 5, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(79,79,79)", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 6], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(99,99,99)", - "line-width": { - "stops": [ - [5, 2.7], - [8, 2.7], - [9, 3.3], - [10, 4], - [12, 4.7], - [13, 5.7], - [14, 6.3], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 8], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(100,100,100)", - "line-width": { - "stops": [ - [8, 4], - [9, 2.7], - [10, 3.3], - [12, 4.7], - [13, 5.7], - [14, 6], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 10], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(58,58,58)", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 13], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(50,50,50)", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 6], - [16, 8.7] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 15], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(50,50,50)", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 5.3], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 17], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(58,58,58)", - "line-width": { - "stops": [ - [12, 4], - [13, 4], - [14, 5.3], - [15, 6.7], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 6], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [5, 1.8], - [8, 1.8], - [9, 2.3], - [10, 2.8], - [12, 3.2], - [13, 3.9], - [14, 4.4], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 8], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [8, 2.8], - [9, 1.8], - [10, 2.3], - [12, 3.2], - [13, 3.9], - [14, 4.2], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 10], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.2], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 13], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [13, 2.3], - [14, 2.9], - [15, 3.75], - [16, 5.4] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 15], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [13, 2], - [14, 2.7], - [15, 3], - [16, 4.2] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 17], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [12, 2], - [13, 2], - [14, 2.7], - [15, 3.3], - [16, 3.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 0], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 3], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(79,79,79)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 1], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(121,121,121)", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.7], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 1], - "minzoom": 5, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 4], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(108,108,108)", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 4], - "minzoom": 5, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(79,79,79)", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 7], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(100,100,100)", - "line-width": { - "stops": [ - [5, 2.7], - [8, 2.7], - [9, 3.3], - [10, 4], - [12, 4.7], - [13, 5.7], - [14, 6.3], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 7], - "minzoom": 7, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": 1.3 - } - }, - { - "id": "OS/Roads/B Road,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 9], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(100,100,100)", - "line-width": { - "stops": [ - [8, 4], - [9, 2.7], - [10, 3.3], - [12, 4.7], - [13, 5.7], - [14, 6], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 11], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(58,58,58)", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 14], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(50,50,50)", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 6], - [16, 8.7] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 16], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(50,50,50)", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 5.3], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 18], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(58,58,58)", - "line-width": { - "stops": [ - [12, 4], - [13, 4], - [14, 5.3], - [15, 6.7], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 7], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [5, 1.8], - [8, 1.8], - [9, 2.3], - [10, 2.8], - [12, 3.2], - [13, 3.9], - [14, 4.4], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 9], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [8, 2.8], - [9, 1.8], - [10, 2.3], - [12, 3.2], - [13, 3.9], - [14, 4.2], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 11], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.2], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 14], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [13, 2.3], - [14, 2.9], - [15, 3.75], - [16, 5.4] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 16], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [13, 2], - [14, 2.7], - [15, 3], - [16, 4.2] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 18], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [12, 2], - [13, 2], - [14, 2.7], - [15, 3.3], - [16, 3.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 1], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 4], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(79,79,79)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 2], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(121,121,121)", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.7], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 2], - "minzoom": 5, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 5], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(108,108,108)", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,2_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 5], - "minzoom": 5, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(79,79,79)", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 12], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(58,58,58)", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 2], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(106,106,106)", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 5], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(79,79,79)", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Minor,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 12], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(1,1,1)", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.1], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Railways/Multi Track", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 0], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-width": { - "stops": [ - [10, 1.4], - [11, 1.4], - [12, 1.4], - [13, 1.5], - [14, 1.5], - [15, 2], - [16, 1.3] - ] - } - } - }, - { - "id": "OS/Railways/Narrow Gauge", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 1], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-width": { - "stops": [ - [12, 0.4], - [13, 0.4], - [14, 0.4], - [15, 0.5], - [16, 0.5] - ] - } - } - }, - { - "id": "OS/Railways/Single Track", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 2], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "rgb(109,109,109)", - "line-width": { - "stops": [ - [10, 1.2], - [11, 1.2], - [12, 1.2], - [13, 1.2], - [14, 1.2], - [15, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/Railways/Tunnel", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 3], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "line-color": "rgb(109,109,109)", - "line-dasharray": [4, 2], - "line-width": { - "stops": [ - [10, 1], - [11, 1], - [12, 1], - [13, 1], - [14, 1], - [15, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/ETL", - "type": "line", - "source": "esri", - "source-layer": "ETL", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "rgb(121,121,121)", - "line-dasharray": [6, 3], - "line-width": { - "stops": [ - [13, 1.3], - [14, 1.3], - [15, 2.2], - [16, 1.7] - ] - }, - "line-opacity": 0.5 - } - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 0], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station", - "icon-size": { - "stops": [ - [12, 0.5], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 1], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", - "icon-size": { - "stops": [ - [12, 0.5], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 2], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", - "icon-size": { - "stops": [ - [12, 0.7], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 3], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/London Underground Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/Railway Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 4], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Railway Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/Railway Station And London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 5], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.8], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Railway_stations/Railway Station And London Underground Station_1", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 5], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", - "icon-allow-overlap": true - }, - "paint": { - "icon-opacity": 0.8 - } - }, - { - "id": "OS/Airports", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "minzoom": 8, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Airports", - "icon-size": { - "stops": [ - [9, 0.85], - [10, 0.85], - [11, 0.85], - [12, 0.85], - [13, 1], - [14, 1], - [15, 1], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgb(219,219,219)", - "icon-opacity": 0.8 - } - }, - { - "id": "OS/TopographicPoint/Spot Height", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 0], - "minzoom": 16, - "layout": { - "icon-image": "OS/TopographicPoint/Spot Height", - "icon-size": { - "stops": [ - [17, 0.6], - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/TopographicPoint/Site Of Heritage", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 1], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Site Of Heritage", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 2], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", - "icon-size": { - "stops": [ - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/TopographicPoint/Inland Water", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 3], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Inland Water", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/TopographicPoint/Roadside", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 4], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Roadside", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/TopographicPoint/Overhead Construction", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 5], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Overhead Construction", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/TopographicPoint/Rail", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 6], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Rail", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/TopographicPoint/Positioned Coniferous Tree", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 7], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", - "icon-size": { - "stops": [ - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/TopographicPoint/Triangulation Point Or Pillar", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 8], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", - "icon-size": { - "stops": [ - [18, 1.25], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/TopographicPoint/Historic Interest", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 9], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Historic Interest", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/TopographicPoint/Landform", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 10], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Landform", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgba(15,15,15,0)" - } - }, - { - "id": "OS/TopographicPoint/Tidal Water", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 11], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Tidal Water", - "icon-size": { - "stops": [ - [18, 1.4], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/TopographicPoint/Structure", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 12], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Structure", - "icon-size": { - "stops": [ - [18, 1.4], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicSymbol/Culvert Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "filter": ["==", "_symbol", 0], - "minzoom": 17, - "layout": { - "icon-image": "OS/CartographicSymbol/Culvert Symbol", - "icon-size": { - "stops": [ - [18, 1.6], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicSymbol/Bench Mark Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "filter": ["==", "_symbol", 2], - "minzoom": 17, - "layout": { - "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicSymbol/Road Related Flow Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "filter": ["==", "_symbol", 3], - "minzoom": 17, - "layout": { - "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", - "icon-size": { - "stops": [ - [18, 1.1], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/Names/National/Capital:1", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Capital:1", - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)" - } - }, - { - "id": "OS/Names/National/Country", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Country", - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class79", 79], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "center", - "text-offset": [0.107527, 0], - "text-rotate": ["get", "_label_angle79"], - "text-letter-spacing": 0.05, - "text-field": "{_name79}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Height - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class64", 64], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-letter-spacing": 0.05, - "text-field": "{_name64}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class74", 74], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle74"], - "text-letter-spacing": 0.05, - "text-field": "{_name74}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class97", 97], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle97"], - "text-letter-spacing": 0.05, - "text-field": "{_name97}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class87", 87], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle87"], - "text-letter-spacing": 0.05, - "text-field": "{_name87}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class72", 72], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle72"], - "text-letter-spacing": 0.05, - "text-field": "{_name72}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class73", 73], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle73"], - "text-letter-spacing": 0.05, - "text-field": "{_name73}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Height - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class61", 61], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-letter-spacing": 0.05, - "text-field": "{_name61}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Roads - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class99", 99], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle99"], - "text-letter-spacing": 0.05, - "text-field": "{_name99}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class96", 96], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle96"], - "text-letter-spacing": 0.05, - "text-field": "{_name96}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class95", 95], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle95"], - "text-letter-spacing": 0.05, - "text-field": "{_name95}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class89", 89], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle89"], - "text-letter-spacing": 0.05, - "text-field": "{_name89}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class86", 86], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle86"], - "text-letter-spacing": 0.05, - "text-field": "{_name86}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class85", 85], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle85"], - "text-letter-spacing": 0.05, - "text-field": "{_name85}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class76", 76], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle76"], - "text-letter-spacing": 0.05, - "text-field": "{_name76}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Height - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class66", 66], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-letter-spacing": 0.05, - "text-field": "{_name66}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Water - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class53", 53], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0952381, 0], - "text-rotate": ["get", "_label_angle53"], - "text-letter-spacing": 0.05, - "text-field": "{_name53}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class54", 54], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle54"], - "text-letter-spacing": 0.05, - "text-field": "{_name54}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class100", 100], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle100"], - "text-letter-spacing": 0.05, - "text-field": "{_name100}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class90", 90], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle90"], - "text-letter-spacing": 0.05, - "text-field": "{_name90}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class77", 77], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle77"], - "text-letter-spacing": 0.05, - "text-field": "{_name77}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Height - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class67", 67], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-letter-spacing": 0.05, - "text-field": "{_name67}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Water - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class55", 55], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle55"], - "text-letter-spacing": 0.05, - "text-field": "{_name55}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class78", 78], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle78"], - "text-letter-spacing": 0.05, - "text-field": "{_name78}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Height - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class68", 68], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-letter-spacing": 0.05, - "text-field": "{_name68}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Water - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class56", 56], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle56"], - "text-letter-spacing": 0.05, - "text-field": "{_name56}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class101", 101], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle101"], - "text-letter-spacing": 0.05, - "text-field": "{_name101}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class91", 91], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle91"], - "text-letter-spacing": 0.05, - "text-field": "{_name91}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class69", 69], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle69"], - "text-letter-spacing": 0.05, - "text-field": "{_name69}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Water - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class57", 57], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle57"], - "text-letter-spacing": 0.05, - "text-field": "{_name57}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class92", 92], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle92"], - "text-letter-spacing": 0.05, - "text-field": "{_name92}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class82", 82], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle82"], - "text-letter-spacing": 0.05, - "text-field": "{_name82}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Height - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class60", 60], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name60}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Water - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class58", 58], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle58"], - "text-letter-spacing": 0.05, - "text-field": "{_name58}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class75", 75], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle75"], - "text-letter-spacing": 0.05, - "text-field": "{_name75}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class98", 98], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle98"], - "text-letter-spacing": 0.05, - "text-field": "{_name98}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class88", 88], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle88"], - "text-letter-spacing": 0.05, - "text-field": "{_name88}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Water - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class59", 59], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle59"], - "text-letter-spacing": 0.05, - "text-field": "{_name59}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Height - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class65", 65], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-letter-spacing": 0.05, - "text-field": "{_name65}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class52", 52], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle52"]], - "text-letter-spacing": 0.05, - "text-field": "{_name52}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class50", 50], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle50"], - "text-letter-spacing": 0.05, - "text-field": "{_name50}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class40", 40], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle40"], - "text-letter-spacing": 0.05, - "text-field": "{_name40}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class43", 43], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle43"], - "text-letter-spacing": 0.05, - "text-field": "{_name43}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class44", 44], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle44"], - "text-letter-spacing": 0.05, - "text-field": "{_name44}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class45", 45], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle45"], - "text-letter-spacing": 0.05, - "text-field": "{_name45}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class46", 46], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle46"], - "text-letter-spacing": 0.05, - "text-field": "{_name46}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class47", 47], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle47"], - "text-letter-spacing": 0.05, - "text-field": "{_name47}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class48", 48], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle48"], - "text-letter-spacing": 0.05, - "text-field": "{_name48}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - NW(1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class49", 49], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle49"], - "text-letter-spacing": 0.05, - "text-field": "{_name49}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class51", 51], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle51"], - "text-letter-spacing": 0.05, - "text-field": "{_name51}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class42", 42], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle42"]], - "text-letter-spacing": 0.05, - "text-field": "{_name42}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class80", 80], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle80"], - "text-letter-spacing": 0.05, - "text-field": "{_name80}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class94", 94], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle94"]], - "text-letter-spacing": 0.05, - "text-field": "{_name94}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class84", 84], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle84"]], - "text-letter-spacing": 0.05, - "text-field": "{_name84}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class93", 93], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle93"], - "text-letter-spacing": 0.05, - "text-field": "{_name93}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class83", 83], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle83"], - "text-letter-spacing": 0.05, - "text-field": "{_name83}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(163,163,163)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class71", 71], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle71"]], - "text-letter-spacing": 0.05, - "text-field": "{_name71}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Height - West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class63", 63], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-letter-spacing": 0.05, - "text-field": "{_name63}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Height - East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class62", 62], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-letter-spacing": 0.05, - "text-field": "{_name62}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(136,136,136)" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class41", 41], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle41"], - "text-letter-spacing": 0.05, - "text-field": "{_name41}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class70", 70], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle70"], - "text-letter-spacing": 0.05, - "text-field": "{_name70}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class81", 81], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle81"]], - "text-letter-spacing": 0.05, - "text-field": "{_name81}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class32", 32], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle32"]], - "text-letter-spacing": 0.05, - "text-field": "{_name32}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class39", 39], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle39"], - "text-letter-spacing": 0.05, - "text-field": "{_name39}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class38", 38], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle38"], - "text-letter-spacing": 0.05, - "text-field": "{_name38}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class37", 37], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle37"], - "text-letter-spacing": 0.05, - "text-field": "{_name37}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class36", 36], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle36"], - "text-letter-spacing": 0.05, - "text-field": "{_name36}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class35", 35], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle35"], - "text-letter-spacing": 0.05, - "text-field": "{_name35}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class34", 34], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle34"], - "text-letter-spacing": 0.05, - "text-field": "{_name34}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class33", 33], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0930233, 0], - "text-rotate": ["get", "_label_angle33"], - "text-letter-spacing": 0.05, - "text-field": "{_name33}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class30", 30], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0930233, 0], - "text-rotate": ["get", "_label_angle30"], - "text-letter-spacing": 0.05, - "text-field": "{_name30}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class31", 31], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle31"], - "text-letter-spacing": 0.05, - "text-field": "{_name31}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(130,130,130)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class20", 20], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle20"], - "text-letter-spacing": 0.05, - "text-field": "{_name20}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class21", 21], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle21"], - "text-letter-spacing": 0.05, - "text-field": "{_name21}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class22", 22], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle22"]], - "text-letter-spacing": 0.05, - "text-field": "{_name22}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class23", 23], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle23"], - "text-letter-spacing": 0.05, - "text-field": "{_name23}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class24", 24], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle24"], - "text-letter-spacing": 0.05, - "text-field": "{_name24}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class25", 25], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle25"], - "text-letter-spacing": 0.05, - "text-field": "{_name25}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class26", 26], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle26"], - "text-letter-spacing": 0.05, - "text-field": "{_name26}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class27", 27], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle27"], - "text-letter-spacing": 0.05, - "text-field": "{_name27}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class28", 28], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle28"], - "text-letter-spacing": 0.05, - "text-field": "{_name28}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/Natural - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class29", 29], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle29"], - "text-letter-spacing": 0.05, - "text-field": "{_name29}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(174,174,174)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class12", 12], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle12"]], - "text-letter-spacing": 0.05, - "text-field": "{_name12}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class2", 2], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle2"]], - "text-letter-spacing": 0.05, - "text-field": "{_name2}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class11", 11], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle11"], - "text-letter-spacing": 0.05, - "text-field": "{_name11}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class1", 1], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle1"], - "text-letter-spacing": 0.05, - "text-field": "{_name1}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class10", 10], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle10"], - "text-letter-spacing": 0.05, - "text-field": "{_name10}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class", 0], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle"], - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class17", 17], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle17"], - "text-letter-spacing": 0.05, - "text-field": "{_name17}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class7", 7], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle7"], - "text-letter-spacing": 0.05, - "text-field": "{_name7}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class19", 19], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle19"], - "text-letter-spacing": 0.05, - "text-field": "{_name19}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class9", 9], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle9"], - "text-letter-spacing": 0.05, - "text-field": "{_name9}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class18", 18], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle18"], - "text-letter-spacing": 0.05, - "text-field": "{_name18}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class8", 8], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle8"], - "text-letter-spacing": 0.05, - "text-field": "{_name8}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class16", 16], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle16"], - "text-letter-spacing": 0.05, - "text-field": "{_name16}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class6", 6], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle6"], - "text-letter-spacing": 0.05, - "text-field": "{_name6}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class15", 15], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle15"], - "text-letter-spacing": 0.05, - "text-field": "{_name15}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class5", 5], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle5"], - "text-letter-spacing": 0.05, - "text-field": "{_name5}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class14", 14], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle14"], - "text-letter-spacing": 0.05, - "text-field": "{_name14}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class4", 4], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle4"], - "text-letter-spacing": 0.05, - "text-field": "{_name4}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class13", 13], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle13"], - "text-letter-spacing": 0.05, - "text-field": "{_name13}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/CartographicText/label/General - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class3", 3], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle3"], - "text-letter-spacing": 0.05, - "text-field": "{_name3}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(173,173,173)" - } - }, - { - "id": "OS/Roads/label/Local Road 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 14], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(141,141,141)", - "text-halo-color": "rgba(1,1,1,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Local Road 22400-44800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 15], - "minzoom": 12, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(141,141,141)", - "text-halo-color": "rgba(1,1,1,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Minor Road 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 12], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(127,127,127)", - "text-halo-color": "rgba(1,1,1,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Minor Road 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 13], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(153,153,153)", - "text-halo-color": "rgba(1,1,1,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Greenspace:1", - "type": "symbol", - "source": "esri", - "source-layer": "Greenspace:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Greenspace:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,255,255,0)", - "text-color": "rgb(144,144,144)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Sites", - "type": "symbol", - "source": "esri", - "source-layer": "Sites", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Sites", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(109,109,109)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Landform:1", - "type": "symbol", - "source": "esri", - "source-layer": "Landform:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Landform:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(130,130,130)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Landform:2", - "type": "symbol", - "source": "esri", - "source-layer": "Landform:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Landform:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(130,130,130)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Landcover:3", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Landcover:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(112,112,112)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Landcover:2", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:2", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Landcover:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(112,112,112)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Water:2", - "type": "symbol", - "source": "esri", - "source-layer": "Water:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Water:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(130,130,130)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Water:1", - "type": "symbol", - "source": "esri", - "source-layer": "Water:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Water:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(130,130,130)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Woodland:2", - "type": "symbol", - "source": "esri", - "source-layer": "Woodland:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Woodland:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(121,121,121)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Woodland:1", - "type": "symbol", - "source": "esri", - "source-layer": "Woodland:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Woodland:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(121,121,121)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/A & B Road 2800-11200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 7], - "minzoom": 14, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(141,141,141)", - "text-halo-color": "rgb(1,1,1)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/A & B Road 11200-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 8], - "minzoom": 13, - "maxzoom": 14, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 13, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(141,141,141)", - "text-halo-color": "rgb(1,1,1)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/A & B Road 22400-358400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 9], - "minzoom": 9, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(141,141,141)", - "text-halo-color": "rgb(1,1,1)", - "text-halo-width": 1.6 - } - }, - { - "id": "OS/Roads/label/A & B Road Name 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 10], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(127,127,127)", - "text-halo-color": "rgba(1,1,1,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/A & B Road Name 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 11], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(153,153,153)", - "text-halo-color": "rgba(1,1,1,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Railway_stations/label/Station names 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_label_class1", 1], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "top", - "text-offset": { - "property": "_symbol", - "type": "categorical", - "default": [0, 0.0333333], - "stops": [ - [0, [0, 0.631292]], - [1, [0, 0.359493]], - [2, [0, 0.609832]], - [3, [0, 0.629975]], - [4, [0, 0.625794]], - [5, [0, 0.410354]] - ] - }, - "text-letter-spacing": 0.05, - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(255,255,255)", - "text-halo-color": "rgb(6,6,6)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Railway_stations/label/Station names 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_label_class", 0], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-offset": { - "property": "_symbol", - "type": "categorical", - "default": [0, 0.1], - "stops": [ - [0, [0, 0.638163]], - [1, [0, 0.393543]], - [2, [0, 0.618849]], - [3, [0, 0.636977]], - [4, [0, 0.633215]], - [5, [0, 0.439319]] - ] - }, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(255,255,255)", - "text-halo-color": "rgb(6,6,6)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Small Settlement", - "type": "symbol", - "source": "esri", - "source-layer": "Small Settlement", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Small Settlement", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(162,162,162)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Landcover:1", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Landcover:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(112,112,112)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 0.7 - } - }, - { - "id": "OS/Names/Local/Hamlet (Local)", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet (Local)", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Hamlet (Local)", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 17, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(173,173,173)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Hamlet:2", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Hamlet:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(173,173,173)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Hamlet:1", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Hamlet:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(173,173,173)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Suburban Area:3", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Suburban Area:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 15, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(162,162,162)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Suburban Area:1", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Suburban Area:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(162,162,162)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Suburban Area:2", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Suburban Area:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(162,162,162)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 3], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(79,79,79)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 4], - "minzoom": 10, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 12, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(79,79,79)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 179200-716800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 5], - "minzoom": 8, - "maxzoom": 10, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(79,79,79)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary Name 2800-44800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 6], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(79,79,79)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Village:2", - "type": "symbol", - "source": "esri", - "source-layer": "Village:2", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Village:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(173,173,173)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/District/Village:3", - "type": "symbol", - "source": "esri", - "source-layer": "Village:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Village:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(173,173,173)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/Regional/Village:1", - "type": "symbol", - "source": "esri", - "source-layer": "Village:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Village:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(173,173,173)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1 - } - }, - { - "id": "OS/Roads/label/Motorway 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 0], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(106,106,106)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Motorway 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 1], - "minzoom": 10, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 12, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(106,106,106)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Motorway 179200-2867200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 2], - "minzoom": 6, - "maxzoom": 10, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(3,3,3)", - "text-halo-color": "rgb(106,106,106)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Airports/label/Airport names 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "filter": ["==", "_label_class1", 1], - "minzoom": 10, - "maxzoom": 13, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "top", - "text-offset": [0, 0.582306], - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(207,207,207)", - "text-halo-color": "rgb(12,12,12)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Airports/label/Airport names 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "filter": ["==", "_label_class", 0], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom", - "text-offset": [0, 0.688753], - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(207,207,207)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/National Park:3", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/National Park:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(121,121,121)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/Local/Motorway Junctions", - "type": "symbol", - "source": "esri", - "source-layer": "Motorway Junctions", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Motorway Junctions", - "icon-allow-overlap": true, - "text-font": ["Arial Bold"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(220,220,220,0)", - "text-color": "rgb(1,1,1)", - "text-halo-color": "rgb(145,145,145)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/Local/Town:4", - "type": "symbol", - "source": "esri", - "source-layer": "Town:4", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Town:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 19, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(211,211,211)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/District/Town:1", - "type": "symbol", - "source": "esri", - "source-layer": "Town:1", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Town:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(211,211,211)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.7 - } - }, - { - "id": "OS/Names/Regional/Town:2", - "type": "symbol", - "source": "esri", - "source-layer": "Town:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Town:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(211,211,211)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Town:3", - "type": "symbol", - "source": "esri", - "source-layer": "Town:3", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Town:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(157,157,157)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/National Park:2", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/National Park:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(121,121,121)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/National Park:1", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:1", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/National Park:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(121,121,121)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/City:3", - "type": "symbol", - "source": "esri", - "source-layer": "City:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/City:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 21, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/District/City:4", - "type": "symbol", - "source": "esri", - "source-layer": "City:4", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/City:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 17, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/Regional/City:1", - "type": "symbol", - "source": "esri", - "source-layer": "City:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/City:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Semibold"], - "text-size": 17, - "text-anchor": "center", - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/City:2", - "type": "symbol", - "source": "esri", - "source-layer": "City:2", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/City:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Capital:3", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Capital:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 24, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/District/Capital:4", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:4", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Capital:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 20, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/Regional/Capital:2", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Capital:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Semibold"], - "text-size": 18, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(202,202,202,0)", - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Capital:1/label/Capital National", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "filter": ["==", "_label_class", 0], - "minzoom": 5, - "maxzoom": 9, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "rgb(214,214,214)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Country/label/Country National", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "filter": ["==", "_label_class", 0], - "minzoom": 5, - "maxzoom": 9, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 21, - "text-anchor": "center", - "text-letter-spacing": 0.75, - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "text-color": "rgba(212,212,212,0.5)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "filter": ["==", "_label_class1", 1], - "maxzoom": 5, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.270711, 0.0292893], - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgba(214,214,214,0.75)" - } - }, - { - "id": "OS/Names/National/Country/label/Country National 1:5.7m+", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "filter": ["==", "_label_class1", 1], - "maxzoom": 5, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 16, - "text-anchor": "center", - "text-letter-spacing": 0.5, - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgba(212,212,212,0.5)", - "text-halo-color": "rgb(11,11,11)", - "text-halo-width": 1.5 - } - } - ] -} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json deleted file mode 100644 index 54487515e..000000000 --- a/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json +++ /dev/null @@ -1,7653 +0,0 @@ -{ - "version": 8, - "_sprite": "https://api.os.uk/maps/vector/v1/vts/resources/sprites/sprite", - "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/sprite", - "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", - "sources": { - "esri": { - "type": "vector", - "url": "https://api.os.uk/maps/vector/v1/vts" - } - }, - "layers": [ - { - "id": "background", - "type": "background", - "paint": { - "background-color": "#FEFFFF" - } - }, - { - "id": "Background", - "type": "fill", - "source": "esri", - "source-layer": "Background", - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "European_land/1", - "type": "fill", - "source": "esri", - "source-layer": "European_land", - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#FAFAF3" - } - }, - { - "id": "OS/GB_land/1", - "type": "fill", - "source": "esri", - "source-layer": "GB_land", - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/National_parks/1", - "type": "fill", - "source": "esri", - "source-layer": "National_parks", - "minzoom": 5, - "maxzoom": 11, - "layout": {}, - "paint": { - "fill-color": "#E2EFCE", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Urban_areas/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "filter": ["==", "_symbol", 0], - "minzoom": 5, - "maxzoom": 9, - "layout": {}, - "paint": { - "fill-color": "rgba(220,215,198,0.3)" - } - }, - { - "id": "OS/Urban_areas/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Urban_areas", - "filter": ["==", "_symbol", 1], - "minzoom": 9, - "maxzoom": 10, - "layout": {}, - "paint": { - "fill-color": "rgba(220,215,198,0.7)" - } - }, - { - "id": "OS/Functional_sites/Air Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 0], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E6E6E6", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Education/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 1], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F7EACA", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Medical Care/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 2], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F3D8E7", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Road Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 3], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F7F3CA", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Functional_sites/Water Transport/1", - "type": "fill", - "source": "esri", - "source-layer": "Functional_sites", - "filter": ["==", "_symbol", 4], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#D8E6F3", - "fill-opacity": 0.5 - } - }, - { - "id": "OS/Greenspace:2/1", - "type": "fill", - "source": "esri", - "source-layer": "Greenspace:2", - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E3F0DB" - } - }, - { - "id": "OS/Greenspace:2/0", - "type": "line", - "source": "esri", - "source-layer": "Greenspace:2", - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#DBE6D5", - "line-width": { - "stops": [ - [10, 0], - [11, 0], - [12, 0], - [13, 0], - [14, 0.1], - [15, 0.15], - [16, 0.25] - ] - } - } - }, - { - "id": "OS/TopographicArea_1/Unclassified", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 48], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F8F6F0" - } - }, - { - "id": "OS/TopographicArea_1/Landform Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 47], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F2F2E9" - } - }, - { - "id": "OS/TopographicArea_1/Tidal Water", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 46], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "OS/TopographicArea_1/Landform Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 45], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E4EFDA" - } - }, - { - "id": "OS/TopographicArea_1/Glasshouse", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 44], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F3F9F4" - } - }, - { - "id": "OS/TopographicArea_1/Rail Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 42], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCE5D3" - } - }, - { - "id": "OS/TopographicArea_1/Structure", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 43], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E7C9C8" - } - }, - { - "id": "OS/TopographicArea_1/Rail Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 41], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#CCCBCB" - } - }, - { - "id": "OS/TopographicArea_1/Path", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 40], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCDCDB" - } - }, - { - "id": "OS/TopographicArea_1/Inland Water", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 39], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "OS/TopographicArea_1/Roadside Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 38], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F2F2E9" - } - }, - { - "id": "OS/TopographicArea_1/Roadside Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 37], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DDE6D5" - } - }, - { - "id": "OS/TopographicArea_1/Road Or Track", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 36], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#FCFDFF" - } - }, - { - "id": "OS/TopographicArea_1/Natural", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 34], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E4EFDA" - } - }, - { - "id": "OS/TopographicArea_1/Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 35], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F2F2E9" - } - }, - { - "id": "OS/TopographicArea_1/Foreshore", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 30], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EAEAD2" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/3", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/3" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/2" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/1" - } - }, - { - "id": "OS/TopographicArea_1/Reeds/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 29], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Reeds/0" - } - }, - { - "id": "OS/TopographicArea_1/Marsh/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 28], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#E4F3F4" - } - }, - { - "id": "OS/TopographicArea_1/Shingle", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 27], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EAEAE4" - } - }, - { - "id": "OS/TopographicArea_1/Marsh/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 28], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Marsh/0" - } - }, - { - "id": "OS/TopographicArea_1/Mud", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 26], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E8E4DD" - } - }, - { - "id": "OS/TopographicArea_1/Sand", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 25], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F4F0D3" - } - }, - { - "id": "OS/TopographicArea_1/Saltmarsh/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 24], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#E4F3F4" - } - }, - { - "id": "OS/TopographicArea_1/Heath/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 23], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E2EFCE" - } - }, - { - "id": "OS/TopographicArea_1/Saltmarsh/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 24], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" - } - }, - { - "id": "OS/TopographicArea_1/Heath/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 23], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Heath/0" - } - }, - { - "id": "OS/TopographicArea_1/Rough Grassland/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 22], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E2EFCE" - } - }, - { - "id": "OS/TopographicArea_1/Rough Grassland/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 22], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" - } - }, - { - "id": "OS/TopographicArea_1/Scree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 21], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EAEAE4" - } - }, - { - "id": "OS/TopographicArea_1/Scree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 21], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scree/0" - } - }, - { - "id": "OS/TopographicArea_1/Rock/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 20], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EAEAE4" - } - }, - { - "id": "OS/TopographicArea_1/Rock/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 20], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Rock/0" - } - }, - { - "id": "OS/TopographicArea_1/Boulders/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 19], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EAEAE4" - } - }, - { - "id": "OS/TopographicArea_1/Boulders/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 19], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Boulders/0" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E2EFCE" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/3", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/3" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/2" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/1" - } - }, - { - "id": "OS/TopographicArea_1/Scrub/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 18], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Scrub/0" - } - }, - { - "id": "OS/TopographicArea_1/Coppice Or Osiers/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 17], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/TopographicArea_1/Coppice Or Osiers/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 17], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" - } - }, - { - "id": "OS/TopographicArea_1/Orchard/2", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 16], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/TopographicArea_1/Agricultural Land", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 15], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/TopographicArea_1/Orchard/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 16], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Orchard/0" - } - }, - { - "id": "OS/TopographicArea_1/Coniferous Tree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 14], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/TopographicArea_1/Coniferous Tree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 14], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" - } - }, - { - "id": "OS/TopographicArea_1/Nonconiferous Tree/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 13], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/TopographicArea_1/Nonconiferous Tree/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 13], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" - } - }, - { - "id": "OS/TopographicArea_1/Mixed Woodland/4", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 12], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/TopographicArea_1/Footbridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 11], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#E8CFCC" - } - }, - { - "id": "OS/TopographicArea_1/Mixed Woodland/0", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 12], - "minzoom": 15, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" - } - }, - { - "id": "OS/TopographicArea_1/Canal", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 10], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "OS/TopographicArea_1/Step", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 9], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCDCDB" - } - }, - { - "id": "OS/TopographicArea_1/Track", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 8], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCDCDB" - } - }, - { - "id": "OS/TopographicArea_1/Pylon", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 7], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EEE8D3" - } - }, - { - "id": "OS/TopographicArea_1/Traffic Calming", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 6], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#FCFDFF" - } - }, - { - "id": "OS/TopographicArea_1/Level Crossing", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 5], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#FCFDFF" - } - }, - { - "id": "OS/TopographicArea_1/Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 4], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#D6D2D2" - } - }, - { - "id": "OS/TopographicArea_1/Rail Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 3], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#B3B3B3" - } - }, - { - "id": "OS/TopographicArea_1/Road Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 2], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#FCFDFF" - } - }, - { - "id": "OS/TopographicArea_1/Archway", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 1], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCD7C6" - } - }, - { - "id": "OS/TopographicArea_1/Multi Surface", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 0], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EEEFDA" - } - }, - { - "id": "OS/TopographicArea_1/Cliff", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 32], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Cliff" - } - }, - { - "id": "OS/TopographicArea_1/Slope", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 31], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-pattern": "OS/TopographicArea_1/Slope" - } - }, - { - "id": "OS/Woodland:3/Local/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "filter": ["==", "_symbol", 0], - "minzoom": 12, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/Woodland:3/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "filter": ["==", "_symbol", 1], - "minzoom": 5, - "maxzoom": 10, - "layout": {}, - "paint": { - "fill-color": "rgba(209,231,195,0.6)" - } - }, - { - "id": "OS/Woodland:3/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Woodland:3", - "filter": ["==", "_symbol", 2], - "minzoom": 10, - "maxzoom": 12, - "layout": {}, - "paint": { - "fill-color": "#D1E7C3" - } - }, - { - "id": "OS/District_buildings/1", - "type": "fill", - "source": "esri", - "source-layer": "District_buildings", - "minzoom": 10, - "maxzoom": 12, - "layout": {}, - "paint": { - "fill-color": "#DCD7C6" - } - }, - { - "id": "OS/Local_buildings/1", - "type": "fill", - "source": "esri", - "source-layer": "Local_buildings", - "minzoom": 12, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCD7C6" - } - }, - { - "id": "OS/Contours/Index", - "type": "line", - "source": "esri", - "source-layer": "Contours", - "filter": ["==", "_symbol", 0], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#857660", - "line-width": { - "stops": [ - [7, 0.1], - [8, 0.13], - [9, 0.4], - [10, 0.4], - [11, 0.53], - [12, 0.67], - [13, 0.8], - [14, 1], - [15, 1], - [16, 1.1] - ] - }, - "line-opacity": 0.3 - } - }, - { - "id": "OS/Contours/Normal", - "type": "line", - "source": "esri", - "source-layer": "Contours", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#857660", - "line-width": { - "stops": [ - [12, 0.4], - [13, 0.4], - [14, 0.5], - [15, 0.5], - [16, 0.7] - ] - }, - "line-opacity": 0.3 - } - }, - { - "id": "OS/Surfacewater/Local", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "filter": ["==", "_symbol", 0], - "minzoom": 11, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF", - "fill-outline-color": "#A9DDEF" - } - }, - { - "id": "OS/Surfacewater/National/1", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "filter": ["==", "_symbol", 1], - "minzoom": 6, - "maxzoom": 7, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "OS/Surfacewater/Regional/1", - "type": "fill", - "source": "esri", - "source-layer": "Surfacewater", - "filter": ["==", "_symbol", 2], - "minzoom": 7, - "maxzoom": 11, - "layout": {}, - "paint": { - "fill-color": "#A9DDEF" - } - }, - { - "id": "OS/Foreshore/1", - "type": "fill", - "source": "esri", - "source-layer": "Foreshore", - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#EAEAD2" - } - }, - { - "id": "OS/Ornament/1", - "type": "fill", - "source": "esri", - "source-layer": "Ornament", - "minzoom": 12, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#BABABA", - "fill-opacity": 0.6 - } - }, - { - "id": "OS/TopographicArea_2/Structure", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 6], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/TopographicArea_2/Manmade", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 5], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/TopographicArea_2/Building/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 4], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCD7C6" - } - }, - { - "id": "OS/TopographicArea_2/Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 3], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/TopographicArea_2/Rail Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 2], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/TopographicArea_2/Road Bridge", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 1], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#F5F5F0" - } - }, - { - "id": "OS/TopographicArea_2/Archway", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_2", - "filter": ["==", "_symbol", 0], - "minzoom": 15, - "maxzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCD7C6" - } - }, - { - "id": "OS/TopographicLine/Property Closing Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 0], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#969696", - "line-dasharray": [6, 6], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Step", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 1], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#B2B1B1", - "line-width": { - "stops": [ - [6, 0.4], - [17, 0.4], - [18, 0.8], - [19, 1.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Mean High Water", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 2], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#7ED2E0", - "line-width": { - "stops": [ - [6, 0.8], - [17, 0.9], - [18, 1.3], - [19, 2.1] - ] - } - } - }, - { - "id": "OS/TopographicLine/Traffic Calming", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 3], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#BFBFBF", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Standard Gauge Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 4], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-width": { - "stops": [ - [17, 0.8], - [18, 1.2], - [19, 2.3] - ] - } - } - }, - { - "id": "OS/TopographicLine/Mean Low Water", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 5], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#7ED2E0", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.6] - ] - } - } - }, - { - "id": "OS/TopographicLine/Path", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 6], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#7A7977", - "line-dasharray": [6, 4], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Overhead Construction", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 7], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#AEB4A6", - "line-dasharray": [2, 2], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Culvert", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 8], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#7ED2E0", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Pylon", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 9], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#95968F", - "line-width": { - "stops": [ - [17, 1], - [18, 1.8], - [19, 2.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Ridge Or Rock Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 10], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#BEBEB4", - "line-width": { - "stops": [ - [17, 1.3], - [18, 2], - [19, 2.5] - ] - } - } - }, - { - "id": "OS/TopographicLine/Narrow Gauge Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 11], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Railway Buffer", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 12], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 1.8] - ] - } - } - }, - { - "id": "OS/TopographicLine/Tunnel Edge", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 13], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-dasharray": [2.5, 2.5], - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 2.1] - ] - } - } - }, - { - "id": "OS/TopographicLine/Line Of Posts", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 14], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#8C8C8C", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Drain", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 15], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#7ED2E0", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Default Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 16], - "minzoom": 15, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#7A7977", - "line-width": { - "stops": [ - [16, 0.4], - [18, 0.7], - [19, 1.3] - ] - } - } - }, - { - "id": "OS/TopographicArea_1/Building/1", - "type": "fill", - "source": "esri", - "source-layer": "TopographicArea_1", - "filter": ["==", "_symbol", 33], - "minzoom": 16, - "layout": {}, - "paint": { - "fill-color": "#DCD7C6" - } - }, - { - "id": "OS/TopographicLine/Building Outline", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 17], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#BBB49C", - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Edge Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 18], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#969696", - "line-dasharray": [2, 2], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Road Or Track", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 19], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#817E79", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Building Division", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 20], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#BBB49C", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Inland water Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 21], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#7ED2E0", - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/General Surface Natural Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 22], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#969696", - "line-dasharray": [2, 2], - "line-width": 0.6 - } - }, - { - "id": "OS/TopographicLine/Building Overhead Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 23], - "minzoom": 15, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#7A7977", - "line-dasharray": [6, 4], - "line-width": { - "stops": [ - [16, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Landform Natural Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 24], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#BEBEB4", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Historic Interest Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 25], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#969696", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Landform Manmade Line", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 26], - "minzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#BEBEB4", - "line-dasharray": [4, 4], - "line-width": { - "stops": [ - [17, 0.7], - [18, 1.3], - [19, 2] - ] - } - } - }, - { - "id": "OS/TopographicLine/Unclassified", - "type": "line", - "source": "esri", - "source-layer": "TopographicLine", - "filter": ["==", "_symbol", 27], - "minzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#BBB49C", - "line-width": { - "stops": [ - [17, 0.5], - [18, 1], - [19, 2] - ] - } - } - }, - { - "id": "OS/Waterlines/District", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 0], - "minzoom": 9, - "maxzoom": 11, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 0.9 - } - }, - { - "id": "OS/Waterlines/Local", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/Local_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/MHW", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 2], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 1.6 - } - }, - { - "id": "OS/Waterlines/MHW_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 2], - "minzoom": 8, - "maxzoom": 12, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 1.3 - } - }, - { - "id": "OS/Waterlines/MLW", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 3], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 0.8 - } - }, - { - "id": "OS/Waterlines/MLW_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 3], - "minzoom": 8, - "maxzoom": 10, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 0.5 - } - }, - { - "id": "OS/Waterlines/National", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 4], - "minzoom": 5, - "maxzoom": 6, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 0.4 - } - }, - { - "id": "OS/Waterlines/Regional", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 5], - "minzoom": 7, - "maxzoom": 9, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 1 - } - }, - { - "id": "OS/Waterlines/Regional_1", - "type": "line", - "source": "esri", - "source-layer": "Waterlines", - "filter": ["==", "_symbol", 5], - "minzoom": 6, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#A4DAEB", - "line-width": 0.5 - } - }, - { - "id": "OS/Roads/Tunnels,", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 19], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "line-color": "#949197", - "line-dasharray": [4, 2.5], - "line-width": { - "stops": [ - [9, 0.7], - [12, 0.8], - [14, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 6], - "minzoom": 7, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": 1.3 - } - }, - { - "id": "OS/Roads/Motorway,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 0], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#4E94A3", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.6], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 0], - "minzoom": 5, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#08B7E7", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 3], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#73A06F", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,0_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 3], - "minzoom": 5, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#77C776", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 6], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#A09C92", - "line-width": { - "stops": [ - [5, 2.7], - [8, 2.7], - [9, 3.3], - [10, 4], - [12, 4.7], - [13, 5.7], - [14, 6.3], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 8], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#9F9C93", - "line-width": { - "stops": [ - [8, 4], - [9, 2.7], - [10, 3.3], - [12, 4.7], - [13, 5.7], - [14, 6], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 10], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#C6C6C1", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 13], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#CECDCA", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 6], - [16, 8.7] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 15], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#CECDCA", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 5.3], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,0/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 17], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#C6C6C1", - "line-width": { - "stops": [ - [12, 4], - [13, 4], - [14, 5.3], - [15, 6.7], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 6], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [5, 1.8], - [8, 1.8], - [9, 2.3], - [10, 2.8], - [12, 3.2], - [13, 3.9], - [14, 4.4], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 8], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [8, 2.8], - [9, 1.8], - [10, 2.3], - [12, 3.2], - [13, 3.9], - [14, 4.2], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 10], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.2], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 13], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [13, 2.3], - [14, 2.9], - [15, 3.75], - [16, 5.4] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 15], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [13, 2], - [14, 2.7], - [15, 3], - [16, 4.2] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 17], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [12, 2], - [13, 2], - [14, 2.7], - [15, 3.3], - [16, 3.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 0], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#08B7E7", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,0/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 3], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#77C776", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 1], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#4E94A3", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.7], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 1], - "minzoom": 5, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#08B7E7", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 4], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#73A06F", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 4], - "minzoom": 5, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#77C776", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 7], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#9F9C93", - "line-width": { - "stops": [ - [5, 2.7], - [8, 2.7], - [9, 3.3], - [10, 4], - [12, 4.7], - [13, 5.7], - [14, 6.3], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 7], - "minzoom": 7, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": 1.3 - } - }, - { - "id": "OS/Roads/B Road,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 9], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#9F9C93", - "line-width": { - "stops": [ - [8, 4], - [9, 2.7], - [10, 3.3], - [12, 4.7], - [13, 5.7], - [14, 6], - [15, 8], - [16, 13.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 11], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#C6C6C1", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 14], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#CECDCA", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 6], - [16, 8.7] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 16], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#CECDCA", - "line-width": { - "stops": [ - [13, 3.7], - [14, 4.7], - [15, 5.3], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,1/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 18], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#C6C6C1", - "line-width": { - "stops": [ - [12, 4], - [13, 4], - [14, 5.3], - [15, 6.7], - [16, 7.3] - ] - } - } - }, - { - "id": "OS/Roads/A Road,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 7], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [5, 1.8], - [8, 1.8], - [9, 2.3], - [10, 2.8], - [12, 3.2], - [13, 3.9], - [14, 4.4], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/B Road,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 9], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [8, 2.8], - [9, 1.8], - [10, 2.3], - [12, 3.2], - [13, 3.9], - [14, 4.2], - [15, 5.6], - [16, 9.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 11], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.2], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Roads/Local,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 14], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [13, 2.3], - [14, 2.9], - [15, 3.75], - [16, 5.4] - ] - } - } - }, - { - "id": "OS/Roads/Restricted,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 16], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [13, 2], - [14, 2.7], - [15, 3], - [16, 4.2] - ] - } - } - }, - { - "id": "OS/Roads/Guided Busway,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 18], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [12, 2], - [13, 2], - [14, 2.7], - [15, 3.3], - [16, 3.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 1], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#08B7E7", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,1/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 4], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#77C776", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 2], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#4E94A3", - "line-width": { - "stops": [ - [6, 4], - [7, 4], - [8, 4.7], - [9, 5.3], - [10, 5.7], - [12, 6], - [13, 6.7], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 2], - "minzoom": 5, - "maxzoom": 7, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#08B7E7", - "line-width": 2 - } - }, - { - "id": "OS/Roads/Primary,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 5], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#73A06F", - "line-width": { - "stops": [ - [5, 4], - [8, 3.3], - [9, 4], - [10, 5.3], - [12, 5.3], - [13, 6.3], - [14, 7.3], - [15, 10.7], - [16, 16] - ] - } - } - }, - { - "id": "OS/Roads/Primary,2_1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 5], - "minzoom": 5, - "maxzoom": 8, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#77C776", - "line-width": { - "stops": [ - [5, 1.3], - [7, 2], - [8, 1.3] - ] - } - } - }, - { - "id": "OS/Roads/Minor,2/1", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 12], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#C6C6C1", - "line-width": { - "stops": [ - [9, 3], - [10, 3], - [12, 4], - [13, 5.3], - [14, 6.7], - [15, 7.3], - [16, 10.7] - ] - } - } - }, - { - "id": "OS/Roads/Motorway,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 2], - "minzoom": 7, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#08B7E7", - "line-width": { - "stops": [ - [6, 3], - [7, 3], - [8, 3.5], - [9, 4], - [10, 4.25], - [12, 4.5], - [13, 5], - [14, 5.5], - [15, 8], - [16, 12] - ] - } - } - }, - { - "id": "OS/Roads/Primary,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 5], - "minzoom": 8, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#77C776", - "line-width": { - "stops": [ - [5, 2.5], - [8, 2], - [9, 2.5], - [10, 3.3], - [12, 3.3], - [13, 3.9], - [14, 4.5], - [15, 6.7], - [16, 10] - ] - } - } - }, - { - "id": "OS/Roads/Minor,2/0", - "type": "line", - "source": "esri", - "source-layer": "Roads", - "filter": ["==", "_symbol", 12], - "minzoom": 10, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#FFFFFF", - "line-width": { - "stops": [ - [9, 1.875], - [10, 1.875], - [12, 2.5], - [13, 3.3], - [14, 4.1], - [15, 4.5], - [16, 6.7] - ] - } - } - }, - { - "id": "OS/Railways/Multi Track", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 0], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-width": { - "stops": [ - [10, 1.4], - [11, 1.4], - [12, 1.4], - [13, 1.5], - [14, 1.5], - [15, 2], - [16, 1.3] - ] - } - } - }, - { - "id": "OS/Railways/Narrow Gauge", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 1], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-width": { - "stops": [ - [12, 0.4], - [13, 0.4], - [14, 0.4], - [15, 0.5], - [16, 0.5] - ] - } - } - }, - { - "id": "OS/Railways/Single Track", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 2], - "minzoom": 9, - "maxzoom": 16, - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#949197", - "line-width": { - "stops": [ - [10, 1.2], - [11, 1.2], - [12, 1.2], - [13, 1.2], - [14, 1.2], - [15, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/Railways/Tunnel", - "type": "line", - "source": "esri", - "source-layer": "Railways", - "filter": ["==", "_symbol", 3], - "minzoom": 9, - "maxzoom": 16, - "layout": {}, - "paint": { - "line-color": "#949197", - "line-dasharray": [4, 2], - "line-width": { - "stops": [ - [10, 1], - [11, 1], - [12, 1], - [13, 1], - [14, 1], - [15, 1.6], - [16, 1.6] - ] - } - } - }, - { - "id": "OS/ETL", - "type": "line", - "source": "esri", - "source-layer": "ETL", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#978282", - "line-dasharray": [6, 3], - "line-width": { - "stops": [ - [13, 1.3], - [14, 1.3], - [15, 2.2], - [16, 1.7] - ] - }, - "line-opacity": 0.5 - } - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 0], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station", - "icon-size": { - "stops": [ - [12, 0.5], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 1], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", - "icon-size": { - "stops": [ - [12, 0.5], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 1], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 2], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", - "icon-size": { - "stops": [ - [12, 0.7], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 3], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/London Underground Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Railway Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 4], - "minzoom": 11, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Railway Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.7], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Railway Station And London Underground Station", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 5], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", - "icon-size": { - "stops": [ - [12, 0.6], - [13, 0.8], - [14, 0.8], - [15, 0.9], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Railway_stations/Railway Station And London Underground Station_1", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_symbol", 5], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", - "icon-allow-overlap": true - }, - "paint": {} - }, - { - "id": "OS/Airports", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "minzoom": 8, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Airports", - "icon-size": { - "stops": [ - [9, 0.85], - [10, 0.85], - [11, 0.85], - [12, 0.85], - [13, 1], - [14, 1], - [15, 1], - [16, 1] - ] - }, - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "#242424" - } - }, - { - "id": "OS/TopographicPoint/Spot Height", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 0], - "minzoom": 16, - "layout": { - "icon-image": "OS/TopographicPoint/Spot Height", - "icon-size": { - "stops": [ - [17, 0.6], - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#857660" - } - }, - { - "id": "OS/TopographicPoint/Site Of Heritage", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 1], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Site Of Heritage", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#7D7D7D" - } - }, - { - "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 2], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", - "icon-size": { - "stops": [ - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#296314" - } - }, - { - "id": "OS/TopographicPoint/Inland Water", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 3], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Inland Water", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#318FAE" - } - }, - { - "id": "OS/TopographicPoint/Roadside", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 4], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Roadside", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#655314" - } - }, - { - "id": "OS/TopographicPoint/Overhead Construction", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 5], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Overhead Construction", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#655314" - } - }, - { - "id": "OS/TopographicPoint/Rail", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 6], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Rail", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#7D7D7D" - } - }, - { - "id": "OS/TopographicPoint/Positioned Coniferous Tree", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 7], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", - "icon-size": { - "stops": [ - [18, 1], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#296314" - } - }, - { - "id": "OS/TopographicPoint/Triangulation Point Or Pillar", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 8], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", - "icon-size": { - "stops": [ - [18, 1.25], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#655314" - } - }, - { - "id": "OS/TopographicPoint/Historic Interest", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 9], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Historic Interest", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#7D7D7D" - } - }, - { - "id": "OS/TopographicPoint/Landform", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 10], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Landform", - "icon-size": { - "stops": [ - [18, 1.3], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "rgba(240,240,240,0)" - } - }, - { - "id": "OS/TopographicPoint/Tidal Water", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 11], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Tidal Water", - "icon-size": { - "stops": [ - [18, 1.4], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#318FAE" - } - }, - { - "id": "OS/TopographicPoint/Structure", - "type": "symbol", - "source": "esri", - "source-layer": "TopographicPoint", - "filter": ["==", "_symbol", 12], - "minzoom": 17, - "layout": { - "icon-image": "OS/TopographicPoint/Structure", - "icon-size": { - "stops": [ - [18, 1.4], - [19, 2] - ] - }, - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#655314" - } - }, - { - "id": "OS/CartographicSymbol/Culvert Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "filter": ["==", "_symbol", 0], - "minzoom": 17, - "layout": { - "icon-image": "OS/CartographicSymbol/Culvert Symbol", - "icon-size": { - "stops": [ - [18, 1.6], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#318FAE" - } - }, - { - "id": "OS/CartographicSymbol/Bench Mark Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "filter": ["==", "_symbol", 2], - "minzoom": 17, - "layout": { - "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", - "icon-size": { - "stops": [ - [18, 1.2], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#655314" - } - }, - { - "id": "OS/CartographicSymbol/Road Related Flow Symbol", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicSymbol", - "filter": ["==", "_symbol", 3], - "minzoom": 17, - "layout": { - "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", - "icon-size": { - "stops": [ - [18, 1.1], - [19, 2] - ] - }, - "icon-rotate": ["get", "angle"], - "icon-allow-overlap": true, - "icon-rotation-alignment": "map" - }, - "paint": { - "icon-color": "#655314" - } - }, - { - "id": "OS/Names/National/Capital:1", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Capital:1", - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)" - } - }, - { - "id": "OS/Names/National/Country", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Country", - "icon-allow-overlap": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class79", 79], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "center", - "text-offset": [0.107527, 0], - "text-rotate": ["get", "_label_angle79"], - "text-letter-spacing": 0.05, - "text-field": "{_name79}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Height - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class64", 64], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-letter-spacing": 0.05, - "text-field": "{_name64}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Buildings - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class74", 74], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle74"], - "text-letter-spacing": 0.05, - "text-field": "{_name74}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Roads - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class97", 97], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle97"], - "text-letter-spacing": 0.05, - "text-field": "{_name97}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class87", 87], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle87"], - "text-letter-spacing": 0.05, - "text-field": "{_name87}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class72", 72], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle72"], - "text-letter-spacing": 0.05, - "text-field": "{_name72}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Buildings - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class73", 73], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle73"], - "text-letter-spacing": 0.05, - "text-field": "{_name73}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Height - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class61", 61], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-letter-spacing": 0.05, - "text-field": "{_name61}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Roads - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class99", 99], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle99"], - "text-letter-spacing": 0.05, - "text-field": "{_name99}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class96", 96], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle96"], - "text-letter-spacing": 0.05, - "text-field": "{_name96}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class95", 95], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle95"], - "text-letter-spacing": 0.05, - "text-field": "{_name95}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class89", 89], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle89"], - "text-letter-spacing": 0.05, - "text-field": "{_name89}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class86", 86], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle86"], - "text-letter-spacing": 0.05, - "text-field": "{_name86}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class85", 85], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-rotate": ["get", "_label_angle85"], - "text-letter-spacing": 0.05, - "text-field": "{_name85}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Buildings - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class76", 76], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle76"], - "text-letter-spacing": 0.05, - "text-field": "{_name76}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Height - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class66", 66], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-letter-spacing": 0.05, - "text-field": "{_name66}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Water - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class53", 53], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0952381, 0], - "text-rotate": ["get", "_label_angle53"], - "text-letter-spacing": 0.05, - "text-field": "{_name53}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class54", 54], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle54"], - "text-letter-spacing": 0.05, - "text-field": "{_name54}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Roads - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class100", 100], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle100"], - "text-letter-spacing": 0.05, - "text-field": "{_name100}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class90", 90], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle90"], - "text-letter-spacing": 0.05, - "text-field": "{_name90}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Buildings - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class77", 77], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle77"], - "text-letter-spacing": 0.05, - "text-field": "{_name77}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Height - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class67", 67], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-letter-spacing": 0.05, - "text-field": "{_name67}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Water - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class55", 55], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle55"], - "text-letter-spacing": 0.05, - "text-field": "{_name55}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Buildings - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class78", 78], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle78"], - "text-letter-spacing": 0.05, - "text-field": "{_name78}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Height - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class68", 68], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-letter-spacing": 0.05, - "text-field": "{_name68}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Water - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class56", 56], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle56"], - "text-letter-spacing": 0.05, - "text-field": "{_name56}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Roads - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class101", 101], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle101"], - "text-letter-spacing": 0.05, - "text-field": "{_name101}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class91", 91], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle91"], - "text-letter-spacing": 0.05, - "text-field": "{_name91}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class69", 69], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle69"], - "text-letter-spacing": 0.05, - "text-field": "{_name69}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Water - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class57", 57], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle57"], - "text-letter-spacing": 0.05, - "text-field": "{_name57}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class92", 92], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle92"], - "text-letter-spacing": 0.05, - "text-field": "{_name92}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class82", 82], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle82"], - "text-letter-spacing": 0.05, - "text-field": "{_name82}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Height - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class60", 60], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name60}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Water - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class58", 58], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle58"], - "text-letter-spacing": 0.05, - "text-field": "{_name58}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Buildings - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class75", 75], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle75"], - "text-letter-spacing": 0.05, - "text-field": "{_name75}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Roads - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class98", 98], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle98"], - "text-letter-spacing": 0.05, - "text-field": "{_name98}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class88", 88], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle88"], - "text-letter-spacing": 0.05, - "text-field": "{_name88}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Water - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class59", 59], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle59"], - "text-letter-spacing": 0.05, - "text-field": "{_name59}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Height - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class65", 65], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-letter-spacing": 0.05, - "text-field": "{_name65}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class52", 52], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle52"]], - "text-letter-spacing": 0.05, - "text-field": "{_name52}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class50", 50], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle50"], - "text-letter-spacing": 0.05, - "text-field": "{_name50}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class40", 40], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle40"], - "text-letter-spacing": 0.05, - "text-field": "{_name40}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class43", 43], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle43"], - "text-letter-spacing": 0.05, - "text-field": "{_name43}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class44", 44], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle44"], - "text-letter-spacing": 0.05, - "text-field": "{_name44}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class45", 45], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle45"], - "text-letter-spacing": 0.05, - "text-field": "{_name45}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class46", 46], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle46"], - "text-letter-spacing": 0.05, - "text-field": "{_name46}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class47", 47], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle47"], - "text-letter-spacing": 0.05, - "text-field": "{_name47}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class48", 48], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle48"], - "text-letter-spacing": 0.05, - "text-field": "{_name48}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - NW(1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class49", 49], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle49"], - "text-letter-spacing": 0.05, - "text-field": "{_name49}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class51", 51], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle51"], - "text-letter-spacing": 0.05, - "text-field": "{_name51}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class42", 42], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle42"]], - "text-letter-spacing": 0.05, - "text-field": "{_name42}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class80", 80], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle80"], - "text-letter-spacing": 0.05, - "text-field": "{_name80}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class94", 94], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle94"]], - "text-letter-spacing": 0.05, - "text-field": "{_name94}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class84", 84], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle84"]], - "text-letter-spacing": 0.05, - "text-field": "{_name84}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class93", 93], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle93"], - "text-letter-spacing": 0.05, - "text-field": "{_name93}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class83", 83], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle83"], - "text-letter-spacing": 0.05, - "text-field": "{_name83}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#5C5C5C" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class71", 71], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle71"]], - "text-letter-spacing": 0.05, - "text-field": "{_name71}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Height - West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class63", 63], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-letter-spacing": 0.05, - "text-field": "{_name63}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Height - East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class62", 62], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-letter-spacing": 0.05, - "text-field": "{_name62}", - "text-allow-overlap": true, - "text-optional": true, - "text-keep-upright": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#857660" - } - }, - { - "id": "OS/CartographicText/label/Water - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class41", 41], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle41"], - "text-letter-spacing": 0.05, - "text-field": "{_name41}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#318FAE" - } - }, - { - "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class70", 70], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle70"], - "text-letter-spacing": 0.05, - "text-field": "{_name70}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class81", 81], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Light"], - "text-size": 12.4, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle81"]], - "text-letter-spacing": 0.05, - "text-field": "{_name81}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class32", 32], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle32"]], - "text-letter-spacing": 0.05, - "text-field": "{_name32}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class39", 39], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle39"], - "text-letter-spacing": 0.05, - "text-field": "{_name39}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class38", 38], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle38"], - "text-letter-spacing": 0.05, - "text-field": "{_name38}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class37", 37], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle37"], - "text-letter-spacing": 0.05, - "text-field": "{_name37}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class36", 36], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle36"], - "text-letter-spacing": 0.05, - "text-field": "{_name36}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class35", 35], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle35"], - "text-letter-spacing": 0.05, - "text-field": "{_name35}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class34", 34], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle34"], - "text-letter-spacing": 0.05, - "text-field": "{_name34}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class33", 33], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0930233, 0], - "text-rotate": ["get", "_label_angle33"], - "text-letter-spacing": 0.05, - "text-field": "{_name33}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class30", 30], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "center", - "text-offset": [0.0930233, 0], - "text-rotate": ["get", "_label_angle30"], - "text-letter-spacing": 0.05, - "text-field": "{_name30}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class31", 31], - "minzoom": 16, - "layout": { - "text-font": ["Times New Roman Italic"], - "text-size": 14, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle31"], - "text-letter-spacing": 0.05, - "text-field": "{_name31}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#7D7D7D" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class20", 20], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle20"], - "text-letter-spacing": 0.05, - "text-field": "{_name20}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class21", 21], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle21"], - "text-letter-spacing": 0.05, - "text-field": "{_name21}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class22", 22], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle22"]], - "text-letter-spacing": 0.05, - "text-field": "{_name22}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class23", 23], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle23"], - "text-letter-spacing": 0.05, - "text-field": "{_name23}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class24", 24], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle24"], - "text-letter-spacing": 0.05, - "text-field": "{_name24}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class25", 25], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle25"], - "text-letter-spacing": 0.05, - "text-field": "{_name25}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class26", 26], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle26"], - "text-letter-spacing": 0.05, - "text-field": "{_name26}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class27", 27], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle27"], - "text-letter-spacing": 0.05, - "text-field": "{_name27}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class28", 28], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle28"], - "text-letter-spacing": 0.05, - "text-field": "{_name28}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/Natural - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class29", 29], - "minzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle29"], - "text-letter-spacing": 0.05, - "text-field": "{_name29}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#296314" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate West (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class12", 12], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle12"]], - "text-letter-spacing": 0.05, - "text-field": "{_name12}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate West (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class2", 2], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "right", - "text-rotate": ["+", 180, ["get", "_label_angle2"]], - "text-letter-spacing": 0.05, - "text-field": "{_name2}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate East (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class11", 11], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle11"], - "text-letter-spacing": 0.05, - "text-field": "{_name11}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate East (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class1", 1], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "left", - "text-rotate": ["get", "_label_angle1"], - "text-letter-spacing": 0.05, - "text-field": "{_name1}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class10", 10], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle10"], - "text-letter-spacing": 0.05, - "text-field": "{_name10}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Rotate Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class", 0], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle"], - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - South (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class17", 17], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle17"], - "text-letter-spacing": 0.05, - "text-field": "{_name17}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - South (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class7", 7], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-rotate": ["get", "_label_angle7"], - "text-letter-spacing": 0.05, - "text-field": "{_name7}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - NW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class19", 19], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle19"], - "text-letter-spacing": 0.05, - "text-field": "{_name19}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - NW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class9", 9], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-right", - "text-rotate": ["get", "_label_angle9"], - "text-letter-spacing": 0.05, - "text-field": "{_name9}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - SW (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class18", 18], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle18"], - "text-letter-spacing": 0.05, - "text-field": "{_name18}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - SW (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class8", 8], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-right", - "text-rotate": ["get", "_label_angle8"], - "text-letter-spacing": 0.05, - "text-field": "{_name8}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - SE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class16", 16], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle16"], - "text-letter-spacing": 0.05, - "text-field": "{_name16}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - SE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class6", 6], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top-left", - "text-rotate": ["get", "_label_angle6"], - "text-letter-spacing": 0.05, - "text-field": "{_name6}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - NE (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class15", 15], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 10, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle15"], - "text-letter-spacing": 0.05, - "text-field": "{_name15}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - NE (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class5", 5], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom-left", - "text-rotate": ["get", "_label_angle5"], - "text-letter-spacing": 0.05, - "text-field": "{_name5}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - North (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class14", 14], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle14"], - "text-letter-spacing": 0.05, - "text-field": "{_name14}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - North (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class4", 4], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "bottom", - "text-rotate": ["get", "_label_angle4"], - "text-letter-spacing": 0.05, - "text-field": "{_name4}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Central (1:1400)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class13", 13], - "minzoom": 16, - "maxzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-anchor": "center", - "text-offset": [0.117647, 0], - "text-rotate": ["get", "_label_angle13"], - "text-letter-spacing": 0.05, - "text-field": "{_name13}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/CartographicText/label/General - Central (1:700)", - "type": "symbol", - "source": "esri", - "source-layer": "CartographicText", - "filter": ["==", "_label_class3", 3], - "minzoom": 17, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.103093, 0], - "text-rotate": ["get", "_label_angle3"], - "text-letter-spacing": 0.05, - "text-field": "{_name3}", - "text-allow-overlap": true, - "text-optional": true, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "#655314" - } - }, - { - "id": "OS/Roads/label/Local Road 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 14], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#737373", - "text-halo-color": "rgba(255,255,255,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Local Road 22400-44800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 15], - "minzoom": 12, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#737373", - "text-halo-color": "rgba(255,255,255,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Minor Road 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 12], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#808080", - "text-halo-color": "rgba(255,255,255,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Minor Road 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 13], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#666666", - "text-halo-color": "rgba(255,255,255,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Greenspace:1", - "type": "symbol", - "source": "esri", - "source-layer": "Greenspace:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Greenspace:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(0,0,0,0)", - "text-color": "#438519", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Sites", - "type": "symbol", - "source": "esri", - "source-layer": "Sites", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Sites", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#A79720", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Landform:1", - "type": "symbol", - "source": "esri", - "source-layer": "Landform:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Landform:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#AF7631", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Landform:2", - "type": "symbol", - "source": "esri", - "source-layer": "Landform:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Landform:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#AF7631", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Landcover:3", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Landcover:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#AF9031", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Landcover:2", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:2", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Landcover:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#AF9031", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Water:2", - "type": "symbol", - "source": "esri", - "source-layer": "Water:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Water:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#318FAE", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Water:1", - "type": "symbol", - "source": "esri", - "source-layer": "Water:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Water:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#318FAE", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Woodland:2", - "type": "symbol", - "source": "esri", - "source-layer": "Woodland:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Woodland:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#599C30", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Woodland:1", - "type": "symbol", - "source": "esri", - "source-layer": "Woodland:1", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Woodland:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#599C30", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/A & B Road 2800-11200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 7], - "minzoom": 14, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#737373", - "text-halo-color": "#FFFFFF", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/A & B Road 11200-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 8], - "minzoom": 13, - "maxzoom": 14, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 13, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#737373", - "text-halo-color": "#FFFFFF", - "text-halo-width": 2 - } - }, - { - "id": "OS/Roads/label/A & B Road 22400-358400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 9], - "minzoom": 9, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Regular"], - "text-size": 11, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#737373", - "text-halo-color": "#FFFFFF", - "text-halo-width": 1.6 - } - }, - { - "id": "OS/Roads/label/A & B Road Name 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 10], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#808080", - "text-halo-color": "rgba(255,255,255,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/A & B Road Name 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 11], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 11, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#666666", - "text-halo-color": "rgba(255,255,255,0.99)", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Railway_stations/label/Station names 22400-89600", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_label_class1", 1], - "minzoom": 11, - "maxzoom": 13, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "top", - "text-offset": { - "property": "_symbol", - "type": "categorical", - "default": [0, 0.0333333], - "stops": [ - [0, [0, 0.631292]], - [1, [0, 0.359493]], - [2, [0, 0.609832]], - [3, [0, 0.629975]], - [4, [0, 0.625794]], - [5, [0, 0.410354]] - ] - }, - "text-letter-spacing": 0.05, - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "#000000", - "text-halo-color": "#FAFAF3", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Railway_stations/label/Station names 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Railway_stations", - "filter": ["==", "_label_class", 0], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "top", - "text-offset": { - "property": "_symbol", - "type": "categorical", - "default": [0, 0.1], - "stops": [ - [0, [0, 0.638163]], - [1, [0, 0.393543]], - [2, [0, 0.618849]], - [3, [0, 0.636977]], - [4, [0, 0.633215]], - [5, [0, 0.439319]] - ] - }, - "text-letter-spacing": 0.05, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#000000", - "text-halo-color": "#FAFAF3", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Small Settlement", - "type": "symbol", - "source": "esri", - "source-layer": "Small Settlement", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Small Settlement", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#725F17", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Landcover:1", - "type": "symbol", - "source": "esri", - "source-layer": "Landcover:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Landcover:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#AF9031", - "text-halo-color": "#F5F5F0", - "text-halo-width": 0.7 - } - }, - { - "id": "OS/Names/Local/Hamlet (Local)", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet (Local)", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Hamlet (Local)", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 17, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#655314", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Hamlet:2", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Hamlet:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#655314", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Hamlet:1", - "type": "symbol", - "source": "esri", - "source-layer": "Hamlet:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Hamlet:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#655314", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Suburban Area:3", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Suburban Area:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 15, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#725F17", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/Suburban Area:1", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Suburban Area:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#725F17", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/Suburban Area:2", - "type": "symbol", - "source": "esri", - "source-layer": "Suburban Area:2", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Suburban Area:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#725F17", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 3], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#77C776", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 4], - "minzoom": 10, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 12, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#77C776", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary 179200-716800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 5], - "minzoom": 8, - "maxzoom": 10, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#77C776", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Primary Name 2800-44800", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 6], - "minzoom": 12, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#77C776", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Village:2", - "type": "symbol", - "source": "esri", - "source-layer": "Village:2", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Village:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#655314", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/District/Village:3", - "type": "symbol", - "source": "esri", - "source-layer": "Village:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Village:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#655314", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1 - } - }, - { - "id": "OS/Names/Regional/Village:1", - "type": "symbol", - "source": "esri", - "source-layer": "Village:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Village:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#655314", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1 - } - }, - { - "id": "OS/Roads/label/Motorway 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 0], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 13, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#08B7E7", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Motorway 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 1], - "minzoom": 10, - "maxzoom": 13, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 12, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#08B7E7", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Roads/label/Motorway 179200-2867200", - "type": "symbol", - "source": "esri", - "source-layer": "Roads/label", - "filter": ["==", "_label_class", 2], - "minzoom": 6, - "maxzoom": 10, - "layout": { - "symbol-placement": "line", - "symbol-spacing": 1000, - "text-font": ["Arial Bold"], - "text-size": 11, - "text-letter-spacing": 0.1, - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#FCFDFF", - "text-halo-color": "#08B7E7", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Airports/label/Airport names 22400-179200", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "filter": ["==", "_label_class1", 1], - "minzoom": 10, - "maxzoom": 13, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 12.5, - "text-anchor": "top", - "text-offset": [0, 0.582306], - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "#303030", - "text-halo-color": "#F4F4EE", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Airports/label/Airport names 2800-22400", - "type": "symbol", - "source": "esri", - "source-layer": "Airports", - "filter": ["==", "_label_class", 0], - "minzoom": 13, - "maxzoom": 16, - "layout": { - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "bottom", - "text-offset": [0, 0.688753], - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#303030", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/District/National Park:3", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:3", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/National Park:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#599C30", - "text-halo-color": "#F5F5F0", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/Local/Motorway Junctions", - "type": "symbol", - "source": "esri", - "source-layer": "Motorway Junctions", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Motorway Junctions", - "icon-allow-overlap": true, - "text-font": ["Arial Bold"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(168,0,0,0)", - "text-color": "#FFFFFF", - "text-halo-color": "#1484A3", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/Local/Town:4", - "type": "symbol", - "source": "esri", - "source-layer": "Town:4", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Town:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 19, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#372D0B", - "text-halo-color": "#F5F5F0", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/District/Town:1", - "type": "symbol", - "source": "esri", - "source-layer": "Town:1", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Town:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#372D0B", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.7 - } - }, - { - "id": "OS/Names/Regional/Town:2", - "type": "symbol", - "source": "esri", - "source-layer": "Town:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Town:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 13, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#372D0B", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Town:3", - "type": "symbol", - "source": "esri", - "source-layer": "Town:3", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/Town:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#796315", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Regional/National Park:2", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/National Park:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 14, - "text-anchor": "center", - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#599C30", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/National Park:1", - "type": "symbol", - "source": "esri", - "source-layer": "National Park:1", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/National Park:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 12, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#599C30", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/City:3", - "type": "symbol", - "source": "esri", - "source-layer": "City:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/City:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 21, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/District/City:4", - "type": "symbol", - "source": "esri", - "source-layer": "City:4", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/City:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 17, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 2 - } - }, - { - "id": "OS/Names/Regional/City:1", - "type": "symbol", - "source": "esri", - "source-layer": "City:1", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/City:1", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Semibold"], - "text-size": 17, - "text-anchor": "center", - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/City:2", - "type": "symbol", - "source": "esri", - "source-layer": "City:2", - "maxzoom": 9, - "layout": { - "icon-image": "OS/Names/National/City:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/Local/Capital:3", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:3", - "minzoom": 13, - "maxzoom": 16, - "layout": { - "icon-image": "OS/Names/Local/Capital:3", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 24, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/District/Capital:4", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:4", - "minzoom": 11, - "maxzoom": 13, - "layout": { - "icon-image": "OS/Names/District/Capital:4", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Regular"], - "text-size": 20, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 3 - } - }, - { - "id": "OS/Names/Regional/Capital:2", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:2", - "minzoom": 9, - "maxzoom": 11, - "layout": { - "icon-image": "OS/Names/Regional/Capital:2", - "icon-allow-overlap": true, - "text-font": ["Source Sans Pro Semibold"], - "text-size": 18, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "icon-color": "rgba(255,0,0,0)", - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Capital:1/label/Capital National", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "filter": ["==", "_label_class", 0], - "minzoom": 5, - "maxzoom": 9, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 16, - "text-anchor": "center", - "text-field": "{_name}", - "text-optional": true - }, - "paint": { - "text-color": "#342A07", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Country/label/Country National", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "filter": ["==", "_label_class", 0], - "minzoom": 5, - "maxzoom": 9, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 21, - "text-anchor": "center", - "text-letter-spacing": 0.75, - "text-field": "{_name}", - "text-allow-overlap": true, - "text-optional": true - }, - "paint": { - "text-color": "rgba(54,44,7,0.5)", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - }, - { - "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", - "type": "symbol", - "source": "esri", - "source-layer": "Capital:1", - "filter": ["==", "_label_class1", 1], - "maxzoom": 5, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 13, - "text-anchor": "center", - "text-offset": [0.270711, 0.0292893], - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgba(52,42,7,0.75)" - } - }, - { - "id": "OS/Names/National/Country/label/Country National 1:5.7m+", - "type": "symbol", - "source": "esri", - "source-layer": "Country", - "filter": ["==", "_label_class1", 1], - "maxzoom": 5, - "layout": { - "text-font": ["Source Sans Pro Semibold"], - "text-size": 16, - "text-anchor": "center", - "text-letter-spacing": 0.5, - "text-field": "{_name1}", - "text-optional": true - }, - "paint": { - "text-color": "rgba(54,44,7,0.5)", - "text-halo-color": "#F5F5F0", - "text-halo-width": 1.5 - } - } - ] -} diff --git a/src/server/plugins/map/routes/vts/README.md b/src/server/plugins/map/routes/vts/README.md deleted file mode 100644 index 1641cfc3d..000000000 --- a/src/server/plugins/map/routes/vts/README.md +++ /dev/null @@ -1,5 +0,0 @@ -File in this directory are sourced from https://github.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets - -VTS_OUTDOOR_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json -VTS_DARK_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Dark.json -VTS_BLACK_AND_WHITE_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Black_and_White.json From aae6b65d9bf8544e01ca4b2fdc6be3d5b13abf10 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 08:48:35 +0000 Subject: [PATCH 22/52] Add tests for map plugin routes --- src/server/plugins/map/routes/index.js | 10 ---- src/server/plugins/map/test/__stubs__/find.js | 5 ++ src/server/plugins/map/types.js | 14 +++-- test/form/map.test.js | 52 +++++++++++++++++++ test/form/postcode-lookup.test.js | 1 - 5 files changed, 66 insertions(+), 16 deletions(-) create mode 100644 test/form/map.test.js diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js index 1dbea22e2..4eb5c47a5 100644 --- a/src/server/plugins/map/routes/index.js +++ b/src/server/plugins/map/routes/index.js @@ -77,11 +77,6 @@ function geocodeProxyRoute(options) { const { query } = request const data = await find(query.query, options.ordnanceSurveyApiKey) - // Remove the URI field from the header - if (data.header.uri) { - data.header.uri = '/forms/api/geocode-proxy' - } - return data }, options: { @@ -112,11 +107,6 @@ function reverseGeocodeProxyRoute(options) { options.ordnanceSurveyApiKey ) - // Remove the URI field from the header - if (data.header.uri) { - data.header.uri = '/forms/api/reverse-geocode-proxy' - } - return data }, options: { diff --git a/src/server/plugins/map/test/__stubs__/find.js b/src/server/plugins/map/test/__stubs__/find.js index eed2edc1b..7d1fa5769 100644 --- a/src/server/plugins/map/test/__stubs__/find.js +++ b/src/server/plugins/map/test/__stubs__/find.js @@ -1,3 +1,4 @@ +/** @type {OsNamesFindResponse} */ export const result = { header: { uri: 'https://api.os.uk/search/names/v1/find?query=NW1%206XE&fq=local_type%3Apostcode%20local_type%3Ahamlet%20local_type%3Avillage%20local_type%3Atown%20local_type%3Acity%20local_type%3Aother_settlement&maxresults=8', @@ -264,3 +265,7 @@ export const result = { } ] } + +/** + * @import { OsNamesFindResponse } from '~/src/server/plugins/map/types.js' + */ diff --git a/src/server/plugins/map/types.js b/src/server/plugins/map/types.js index cf46f49e2..5e567693b 100644 --- a/src/server/plugins/map/types.js +++ b/src/server/plugins/map/types.js @@ -73,11 +73,12 @@ * @property {number} maxresults - The maximum number of results requested. * @property {number} offset - The offset used in the search results. * @property {number} totalresults - The total number of results that matched the query. + * @property {string} filter - The original filter string passed to the API. */ /** * @typedef {object} OsNamesFindGazetteerEntry - * @property {number} ID - Unique identifier for the place/feature. + * @property {string} ID - Unique identifier for the place/feature. * @property {string} NAMES_URI - A URI (identifier) for this named feature. * @property {string} NAME1 - Primary name of the feature. * @property {string} TYPE - General type classification of the feature. @@ -86,10 +87,13 @@ * @property {number} GEOMETRY_Y - Northing coordinate (British National Grid). * @property {number} MOST_DETAIL_VIEW_RES - Most detailed resolution available. * @property {number} LEAST_DETAIL_VIEW_RES - Least detailed resolution available. - * @property {number} MBR_XMIN - Minimum bounding box X (easting). - * @property {number} MBR_YMIN - Minimum bounding box Y (northing). - * @property {number} MBR_XMAX - Maximum bounding box X (easting). - * @property {number} MBR_YMAX - Maximum bounding box Y (northing). + * @property {number} [MBR_XMIN] - Minimum bounding box X (easting). + * @property {number} [MBR_YMIN] - Minimum bounding box Y (northing). + * @property {number} [MBR_XMAX] - Maximum bounding box X (easting). + * @property {number} [MBR_YMAX] - Maximum bounding box Y (northing). + * @property {string} [DISTRICT_BOROUGH] - (Optional) District borough. + * @property {string} [DISTRICT_BOROUGH_URI] - (Optional) URI for the district borough. + * @property {string} [DISTRICT_BOROUGH_TYPE] - (Optional) Type of the district borough. * @property {string} [POSTCODE_DISTRICT] - (Optional) Postcode district. * @property {string} [POSTCODE_DISTRICT_URI] - (Optional) URI for the postcode district. * @property {string} [POPULATED_PLACE] - (Optional) Name of associated populated place. diff --git a/test/form/map.test.js b/test/form/map.test.js new file mode 100644 index 000000000..ebd042e65 --- /dev/null +++ b/test/form/map.test.js @@ -0,0 +1,52 @@ +import { StatusCodes } from 'http-status-codes' + +import { FORM_PREFIX } from '~/src/server/constants.js' +import { createServer } from '~/src/server/index.js' +import { find, nearest } from '~/src/server/plugins/map/service.js' +import { result as findResult } from '~/src/server/plugins/map/test/__stubs__/find.js' +import { result as nearestResult } from '~/src/server/plugins/map/test/__stubs__/nearest.js' +const basePath = `${FORM_PREFIX}/api` + +jest.mock('~/src/server/plugins/map/service.js') + +describe('Map API routes', () => { + /** @type {Server} */ + let server + + beforeAll(async () => { + server = await createServer({ + enforceCsrf: true, + ordnanceSurveyApiKey: 'dummy' + }) + + await server.initialize() + }) + + it('should get geocode results', async () => { + jest.mocked(find).mockResolvedValueOnce(findResult) + + const response = await server.inject({ + url: `${basePath}/geocode-proxy?query=NW1%206XE`, + method: 'GET' + }) + + expect(response.statusCode).toBe(StatusCodes.OK) + expect(response.result).toEqual(findResult) + }) + + it('should get reverse geocode results', async () => { + jest.mocked(nearest).mockResolvedValueOnce(nearestResult) + + const response = await server.inject({ + url: `${basePath}/reverse-geocode-proxy?easting=523065&northing=185795`, + method: 'GET' + }) + + expect(response.statusCode).toBe(StatusCodes.OK) + expect(response.result).toEqual(nearestResult) + }) +}) + +/** + * @import { Server } from '@hapi/hapi' + */ diff --git a/test/form/postcode-lookup.test.js b/test/form/postcode-lookup.test.js index cb1570564..915205515 100644 --- a/test/form/postcode-lookup.test.js +++ b/test/form/postcode-lookup.test.js @@ -19,7 +19,6 @@ jest.mock('~/src/server/plugins/engine/services/formsService.js') jest.mock('~/src/server/plugins/postcode-lookup/service.js') /** - * * @param {Server} server */ async function initialiseJourney(server) { From 7b2097ec5437b56e8c0d8c9439f0d0281b537c52 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 09:07:06 +0000 Subject: [PATCH 23/52] Add shared client JS tests --- test/client/javascripts/shared.test.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/client/javascripts/shared.test.js diff --git a/test/client/javascripts/shared.test.js b/test/client/javascripts/shared.test.js new file mode 100644 index 000000000..0b86d7dc8 --- /dev/null +++ b/test/client/javascripts/shared.test.js @@ -0,0 +1,24 @@ +import { initAllAutocomplete } from '~/src/client/javascripts/autocomplete.js' +import { initFileUpload } from '~/src/client/javascripts/file-upload.js' +import { initAllGovuk } from '~/src/client/javascripts/govuk.js' +import { initMaps } from '~/src/client/javascripts/location-map.js' +import { initPreviewCloseLink } from '~/src/client/javascripts/preview-close-link.js' +import { initAll } from '~/src/client/javascripts/shared.js' + +jest.mock('~/src/client/javascripts/autocomplete.js') +jest.mock('~/src/client/javascripts/file-upload.js') +jest.mock('~/src/client/javascripts/govuk.js') +jest.mock('~/src/client/javascripts/location-map.js') +jest.mock('~/src/client/javascripts/preview-close-link.js') + +describe('Shared client JS', () => { + test('initAll initialises all the shared client imports apart from maps', () => { + initAll() + + expect(initAllAutocomplete).toHaveBeenCalledTimes(1) + expect(initFileUpload).toHaveBeenCalledTimes(1) + expect(initAllGovuk).toHaveBeenCalledTimes(1) + expect(initPreviewCloseLink).toHaveBeenCalledTimes(1) + expect(initMaps).toHaveBeenCalledTimes(0) + }) +}) From 288602b0c457ae200e40c765f056029aaaf30ce7 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 14:35:51 +0000 Subject: [PATCH 24/52] Add map proxy route tests --- src/server/plugins/map/routes/index.js | 39 +++++++--------- test/form/map.test.js | 62 ++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 24 deletions(-) diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js index 4eb5c47a5..204c812d5 100644 --- a/src/server/plugins/map/routes/index.js +++ b/src/server/plugins/map/routes/index.js @@ -1,10 +1,7 @@ -import { StatusCodes } from 'http-status-codes' import Joi from 'joi' -import { createLogger } from '~/src/server/common/helpers/logging/logger.js' import { find, nearest } from '~/src/server/plugins/map/service.js' - -const logger = createLogger() +import { request as httpRequest } from '~/src/server/services/httpService.js' /** * Gets the map support routes @@ -28,30 +25,24 @@ function mapProxyRoute(options) { path: '/api/map-proxy', handler: async (request, h) => { const { query } = request + const targetUrl = new URL(decodeURIComponent(query.url)) - try { - const targetUrl = new URL(decodeURIComponent(query.url)) - - // Add API key server-side - targetUrl.searchParams.set('key', options.ordnanceSurveyApiKey) - if (!targetUrl.searchParams.has('srs')) { - targetUrl.searchParams.set('srs', '3857') - } + // Add API key server-side and set SRS + targetUrl.searchParams.set('key', options.ordnanceSurveyApiKey) + if (!targetUrl.searchParams.has('srs')) { + targetUrl.searchParams.set('srs', '3857') + } - const response = await fetch(targetUrl.toString()) - const buffer = await response.arrayBuffer() - const contentType = response.headers.get('content-type') + const proxyResponse = await httpRequest('get', targetUrl.toString()) + const buffer = proxyResponse.payload + const contentType = proxyResponse.res.headers['content-type'] + const response = h.response(buffer) - return h - .response(Buffer.from(buffer)) - .type(contentType ?? 'text/json') - .code(response.status) - } catch (err) { - logger.error(err, 'Proxy error') - return h - .response('Proxy failed') - .code(StatusCodes.INTERNAL_SERVER_ERROR) + if (contentType) { + response.type(contentType) } + + return response }, options: { validate: { diff --git a/test/form/map.test.js b/test/form/map.test.js index ebd042e65..185020ac8 100644 --- a/test/form/map.test.js +++ b/test/form/map.test.js @@ -5,9 +5,12 @@ import { createServer } from '~/src/server/index.js' import { find, nearest } from '~/src/server/plugins/map/service.js' import { result as findResult } from '~/src/server/plugins/map/test/__stubs__/find.js' import { result as nearestResult } from '~/src/server/plugins/map/test/__stubs__/nearest.js' +import { request } from '~/src/server/services/httpService.js' + const basePath = `${FORM_PREFIX}/api` jest.mock('~/src/server/plugins/map/service.js') +jest.mock('~/src/server/services/httpService.ts') describe('Map API routes', () => { /** @type {Server} */ @@ -22,6 +25,64 @@ describe('Map API routes', () => { await server.initialize() }) + it('should get map proxy results', async () => { + const res = /** @type {IncomingMessage} */ ({ + headers: { + 'content-type': 'application/json' + } + }) + + jest.mocked(request).mockResolvedValueOnce({ + res, + payload: Buffer.from(JSON.stringify({})) + }) + + const urlToProxy = 'http://example.com?srs=3857' + const response = await server.inject({ + url: `${basePath}/map-proxy?url=${encodeURIComponent(urlToProxy)}`, + method: 'GET' + }) + + expect(request).toHaveBeenCalledWith( + 'get', + 'http://example.com/?srs=3857&key=dummy' + ) + expect(response.statusCode).toBe(StatusCodes.OK) + expect(response.headers['content-type']).toBe( + 'application/json; charset=utf-8' + ) + expect(response.result).toBe('{}') + }) + + it('should get map proxy results and set SRS if not present in the original request', async () => { + const res = /** @type {IncomingMessage} */ ({ + headers: { + 'content-type': 'application/json' + } + }) + + jest.mocked(request).mockResolvedValueOnce({ + res, + payload: Buffer.from(JSON.stringify({})) + }) + + const urlToProxy = 'http://example.com' + const response = await server.inject({ + url: `${basePath}/map-proxy?url=${encodeURIComponent(urlToProxy)}`, + method: 'GET' + }) + + expect(request).toHaveBeenCalledWith( + 'get', + 'http://example.com/?key=dummy&srs=3857' + ) + expect(response.statusCode).toBe(StatusCodes.OK) + expect(response.headers['content-type']).toBe( + 'application/json; charset=utf-8' + ) + expect(response.result).toBe('{}') + }) + it('should get geocode results', async () => { jest.mocked(find).mockResolvedValueOnce(findResult) @@ -48,5 +109,6 @@ describe('Map API routes', () => { }) /** + * @import { IncomingMessage } from 'node:http' * @import { Server } from '@hapi/hapi' */ From 0d50547250e747c0844199d8ff387215f55a45ee Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 14:52:47 +0000 Subject: [PATCH 25/52] Map prox test to cover no content type returned --- test/form/map.test.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test/form/map.test.js b/test/form/map.test.js index 185020ac8..f22a96050 100644 --- a/test/form/map.test.js +++ b/test/form/map.test.js @@ -83,6 +83,31 @@ describe('Map API routes', () => { expect(response.result).toBe('{}') }) + it('should get map proxy results and not set content type if not present proxied response', async () => { + const res = /** @type {IncomingMessage} */ ({ + headers: {} + }) + + jest.mocked(request).mockResolvedValueOnce({ + res, + payload: Buffer.from(JSON.stringify({})) + }) + + const urlToProxy = 'http://example.com' + const response = await server.inject({ + url: `${basePath}/map-proxy?url=${encodeURIComponent(urlToProxy)}`, + method: 'GET' + }) + + expect(request).toHaveBeenCalledWith( + 'get', + 'http://example.com/?key=dummy&srs=3857' + ) + expect(response.statusCode).toBe(StatusCodes.OK) + expect(response.headers['content-type']).toBe('application/octet-stream') + expect(response.result).toBe('{}') + }) + it('should get geocode results', async () => { jest.mocked(find).mockResolvedValueOnce(findResult) From 41b6343e88739884a9ad4b5de23ac952ed74ef4e Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 15:27:23 +0000 Subject: [PATCH 26/52] Add tile request transformer client tests --- src/client/javascripts/location-map.js | 2 +- test/client/javascripts/location-map.test.js | 58 +++++++++++++++++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index a82aec320..23a7b93b0 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -75,7 +75,7 @@ export function initMaps(config = {}) { * OS API request proxy factory * @param {string} apiPath - the root API path */ -function makeTileRequestTransformer(apiPath) { +export function makeTileRequestTransformer(apiPath) { /** * Proxy OS API requests via our server * @param {string} url - the request URL diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 438889970..3307142d5 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -1,6 +1,7 @@ import { formSubmitFactory, - initMaps + initMaps, + makeTileRequestTransformer } from '~/src/client/javascripts/location-map.js' describe('Location Maps Client JS', () => { @@ -179,4 +180,59 @@ describe('Location Maps Client JS', () => { expect(preventDefault).toHaveBeenCalledTimes(1) }) + + describe('Tile request transformer', () => { + const apiPath = '/api' + + test('tile request transformer factory returns a transformer function', () => { + const transformer = makeTileRequestTransformer(apiPath) + + expect(typeof transformer).toBe('function') + expect(transformer).toHaveLength(2) + }) + + test('tile request transformer works on api.os.uk requests without an apikey', () => { + const url = 'https://api.os.uk/test.js' + const transformer = makeTileRequestTransformer(apiPath) + const result = transformer(url, 'Script') + + expect(result).toEqual({ + url: `${apiPath}/map-proxy?url=${encodeURIComponent(url)}`, + headers: {} + }) + }) + + test('tile request transformer does not apply to api.os.uk requests that already have an api key', () => { + const url = 'https://api.os.uk/test.js?key=abcde' + const transformer = makeTileRequestTransformer(apiPath) + const result = transformer(url, 'Script') + + expect(result).toEqual({ + url, + headers: {} + }) + }) + + test('tile request transformer does not apply to "Style" api.os.uk requests', () => { + const url = 'https://api.os.uk/test.js' + const transformer = makeTileRequestTransformer(apiPath) + const result = transformer(url, 'Style') + + expect(result).toEqual({ + url, + headers: {} + }) + }) + + test('tile request transformer does not apply to other domain requests', () => { + const url = 'https://esri.os.uk/test.js' + const transformer = makeTileRequestTransformer(apiPath) + const result = transformer(url, 'Script') + + expect(result).toEqual({ + url, + headers: {} + }) + }) + }) }) From 6cc86a71b7ca580220d07db965588512db1f3d35 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 15:44:01 +0000 Subject: [PATCH 27/52] Test to ensure initMaps only applies when there are location components on the page --- test/client/javascripts/location-map.test.js | 154 ++++++++++--------- 1 file changed, 85 insertions(+), 69 deletions(-) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 3307142d5..fddc7ee52 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -87,98 +87,114 @@ describe('Location Maps Client JS', () => { document.body.innerHTML = '' }) - test('initMaps initializes without errors when DOM elements are present', () => { - expect(() => initMaps()).not.toThrow() - expect(onMock).toHaveBeenLastCalledWith('map:ready', expect.any(Function)) - - const onMapReady = onMock.mock.calls[0][1] - expect(typeof onMapReady).toBe('function') - - // Manually invoke onMapReady callback - const flyToMock = jest.fn() - onMapReady({ - map: { - flyTo: flyToMock - } - }) + describe('Map initialisation', () => { + test('initMaps initializes without errors when DOM elements are present', () => { + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith('map:ready', expect.any(Function)) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) - expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) - expect(onMock).toHaveBeenLastCalledWith( - 'interact:markerchange', - expect.any(Function) - ) + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - const onInteractMarkerChange = onMock.mock.calls[1][1] - expect(typeof onInteractMarkerChange).toBe('function') - onInteractMarkerChange({ coords: [0, 0] }) + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + const onInteractMarkerChange = onMock.mock.calls[1][1] + expect(typeof onInteractMarkerChange).toBe('function') + onInteractMarkerChange({ coords: [0, 0] }) - const inputs = document.body.querySelectorAll('input.govuk-input') - expect(inputs).toHaveLength(2) + const inputs = document.body.querySelectorAll('input.govuk-input') + expect(inputs).toHaveLength(2) - const latInput = /** @type {HTMLInputElement} */ (inputs[0]) - const longInput = /** @type {HTMLInputElement} */ (inputs[1]) + const latInput = /** @type {HTMLInputElement} */ (inputs[0]) + const longInput = /** @type {HTMLInputElement} */ (inputs[1]) - latInput.value = '53.825564' - latInput.dispatchEvent(new window.Event('change')) + latInput.value = '53.825564' + latInput.dispatchEvent(new window.Event('change')) - longInput.value = '-2.421975' - longInput.dispatchEvent(new window.Event('change')) + longInput.value = '-2.421975' + longInput.dispatchEvent(new window.Event('change')) + + // Expect it to update once, only when both fields are valid + expect(addMarkerMock).toHaveBeenCalledTimes(1) + expect(flyToMock).toHaveBeenCalledTimes(1) + }) - // Expect it to update once, only when both fields are valid - expect(addMarkerMock).toHaveBeenCalledTimes(1) - expect(flyToMock).toHaveBeenCalledTimes(1) + test('initMaps only applies when there are location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') + + // Remove any locations for the test + locations.forEach((location) => { + location.remove() + }) + + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() + }) }) - test('form does submit when submitter is the main form button', () => { - const preventDefault = jest.fn() + describe('Form submit event propagation', () => { + test('form does submit when submitter is the main form button', () => { + const preventDefault = jest.fn() - initMaps() + initMaps() - const form = document.body.querySelector('form') - if (!form) { - throw new TypeError('Unexpected empty form') - } + const form = document.body.querySelector('form') + if (!form) { + throw new TypeError('Unexpected empty form') + } - const buttons = Array.from(form.querySelectorAll('button')) - const onFormSubmit = formSubmitFactory(buttons) + const buttons = Array.from(form.querySelectorAll('button')) + const onFormSubmit = formSubmitFactory(buttons) - const e = /** @type {SubmitEvent} */ ( - /** @type {unknown} */ ({ - submitter: buttons.at(0), - preventDefault - }) - ) + const e = /** @type {SubmitEvent} */ ( + /** @type {unknown} */ ({ + submitter: buttons.at(0), + preventDefault + }) + ) - onFormSubmit(e) + onFormSubmit(e) - expect(preventDefault).toHaveBeenCalledTimes(0) - }) + expect(preventDefault).toHaveBeenCalledTimes(0) + }) - test('form does not submit unless it is the main form button', () => { - const preventDefault = jest.fn() + test('form does not submit unless it is the main form button', () => { + const preventDefault = jest.fn() - initMaps() + initMaps() - const form = document.body.querySelector('form') - if (!form) { - throw new TypeError('Unexpected empty form') - } + const form = document.body.querySelector('form') + if (!form) { + throw new TypeError('Unexpected empty form') + } - const buttons = Array.from(form.querySelectorAll('button')) - const onFormSubmit = formSubmitFactory(buttons) + const buttons = Array.from(form.querySelectorAll('button')) + const onFormSubmit = formSubmitFactory(buttons) - const e = /** @type {SubmitEvent} */ ( - /** @type {unknown} */ ({ - submitter: null, - preventDefault - }) - ) + const e = /** @type {SubmitEvent} */ ( + /** @type {unknown} */ ({ + submitter: null, + preventDefault + }) + ) - onFormSubmit(e) + onFormSubmit(e) - expect(preventDefault).toHaveBeenCalledTimes(1) + expect(preventDefault).toHaveBeenCalledTimes(1) + }) }) describe('Tile request transformer', () => { From 0f833697f7dd8afcde09d424cb184ffbc569cedc Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 15:48:43 +0000 Subject: [PATCH 28/52] Test to ensure initMaps only applies when there are supported location components on the page --- test/client/javascripts/location-map.test.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index fddc7ee52..08e1eeb1c 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -143,6 +143,18 @@ describe('Location Maps Client JS', () => { expect(() => initMaps()).not.toThrow() expect(onMock).not.toHaveBeenCalled() }) + + test('initMaps only applies when there are supported location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') + + // Remove any locations for the test + locations.forEach((location) => { + location.setAttribute('data-locationtype', 'unknowntype') + }) + + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() + }) }) describe('Form submit event propagation', () => { From 4fdc5691e0d8eab49685ceafdc244f2f3a3e26ba Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 15:49:21 +0000 Subject: [PATCH 29/52] Fix comment --- test/client/javascripts/location-map.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 08e1eeb1c..f92327f3d 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -147,7 +147,7 @@ describe('Location Maps Client JS', () => { test('initMaps only applies when there are supported location components on the page', () => { const locations = document.querySelectorAll('.app-location-field') - // Remove any locations for the test + // Reset the location type of each component locations.forEach((location) => { location.setAttribute('data-locationtype', 'unknowntype') }) From 8990a9ab99b33adfeb8fee66e3d0f074ae7fa8de Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 16:00:39 +0000 Subject: [PATCH 30/52] =?UTF-8?q?Sonar=20fixes=20(Use=20`export=E2=80=A6fr?= =?UTF-8?q?om`)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/javascripts/shared.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/client/javascripts/shared.js b/src/client/javascripts/shared.js index 61fa90afc..a364bb1ab 100644 --- a/src/client/javascripts/shared.js +++ b/src/client/javascripts/shared.js @@ -1,14 +1,13 @@ import { initAllAutocomplete as initAllAutocompleteImp } from '~/src/client/javascripts/autocomplete.js' import { initFileUpload as initFileUploadImp } from '~/src/client/javascripts/file-upload.js' import { initAllGovuk as initAllGovukImp } from '~/src/client/javascripts/govuk.js' -import { initMaps as initMapsImp } from '~/src/client/javascripts/location-map.js' import { initPreviewCloseLink as initPreviewCloseLinkImp } from '~/src/client/javascripts/preview-close-link.js' +export { initMaps } from '~/src/client/javascripts/location-map.js' export const initAllGovuk = initAllGovukImp export const initAllAutocomplete = initAllAutocompleteImp export const initFileUpload = initFileUploadImp export const initPreviewCloseLink = initPreviewCloseLinkImp -export const initMaps = initMapsImp /** * Initialise all clientside components (but not maps as this will be an opt-in for now given the additional UMD assets that are required) From 534f77b65e3bb4c5026647d6ba81ffa374d049aa Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 12 Jan 2026 16:04:05 +0000 Subject: [PATCH 31/52] Sonar fixes (Prefer String.fromCodePoint) --- src/client/javascripts/location-map.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 23a7b93b0..50565d5bf 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -211,7 +211,7 @@ function createMap(mapId, initConfig, mapsConfig) { thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, logoAltText, - attribution: `Contains OS data ${String.fromCharCode(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}`, + attribution: `Contains OS data ${String.fromCodePoint(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}`, backgroundColor: '#f5f5f0' }, { From 95e3d2aa527ffd0f863c3676e4d6ea38a68711c5 Mon Sep 17 00:00:00 2001 From: David Stone Date: Wed, 14 Jan 2026 11:18:42 +0000 Subject: [PATCH 32/52] Add map routes JsDoc descriptions --- src/server/plugins/map/routes/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js index 204c812d5..6287755f5 100644 --- a/src/server/plugins/map/routes/index.js +++ b/src/server/plugins/map/routes/index.js @@ -16,6 +16,9 @@ export function getRoutes(options) { } /** + * Proxies ordnance survey requests from the front end to api.os.com + * Used for VTS map tiles, sprites and fonts by forwarding on the request + * and adding the apikey and optionally an SRS (spatial reference system) * @param {MapConfiguration} options - the map options * @returns {ServerRoute} */ @@ -57,6 +60,8 @@ function mapProxyRoute(options) { } /** + * Proxies ordnance survey geocode requests from the front end to api.os.com + * Used for the gazzeteer address lookup to find name from query strings like postcode and place names * @param {MapConfiguration} options - the map options * @returns {ServerRoute} */ @@ -83,6 +88,9 @@ function geocodeProxyRoute(options) { } /** + * Proxies ordnance survey reverse geocode requests from the front end to api.os.com + * Used to find name from easting and northing points. + * N.B this endpoint is currently not used by the front end but will be soon in "maps V2" * @param {MapConfiguration} options - the map options * @returns {ServerRoute} */ From e36f36de634f07befdf95dd9d4ef769e44c78ce4 Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 15 Jan 2026 14:59:19 +0000 Subject: [PATCH 33/52] Update to latest defra-map --- package-lock.json | 465 +++++++++++++++++++++++++--------------------- 1 file changed, 251 insertions(+), 214 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7e9f9a63e..b1ba92754 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2307,7 +2307,7 @@ }, "node_modules/@defra/defra-map": { "version": "1.0.0-alpha.1", - "resolved": "git+ssh://git@github.com/DEFRA/defra-map.git#41a56003236059c82e25ef8471deb5b33d8dbd65", + "resolved": "git+ssh://git@github.com/DEFRA/defra-map.git#f2a4d55d57ab917e48b29943bfc5330d36b8ff96", "dependencies": { "@arcgis/core": "^4.34.8", "@turf/area": "^7.2.0", @@ -2315,7 +2315,7 @@ "@turf/helpers": "^7.2.0", "core-js": "^3.44.0", "govuk-frontend": "^5.13.0", - "maplibre-gl": "^5.12.0", + "maplibre-gl": "^5.15.0", "maplibre-gl-legacy": "npm:maplibre-gl@1.15.3", "preact": "^10.27.2" }, @@ -4441,9 +4441,9 @@ "license": "MIT" }, "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.0.tgz", - "integrity": "sha512-HLomZXMmrCFHSRKESF5vklAKsDY7/fsT/ZhqCu3V0UoW/Qbv8wxmO4W9bx4KnCCF2Zak4yuk+AGraK/bPmI4kA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", + "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", "license": "BSD-3-Clause" }, "node_modules/@lit/reactive-element": { @@ -5155,13 +5155,13 @@ "license": "MIT" }, "node_modules/@turf/area": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.3.1.tgz", - "integrity": "sha512-9nSiwt4zB5QDMcSoTxF28WpK1f741MNKcpUJDiHVRX08CZ4qfGWGV9ZIPQ8TVEn5RE4LyYkFuQ47Z9pdEUZE9Q==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.3.2.tgz", + "integrity": "sha512-d7IuEjAO3TSX5aVeL5WXrtCZCwxUAUOD4+LZ+VjoEe2THmYKdUknCPbH6rdhMBzLyZNuSVRmpRD/QfpCnLqoZg==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/meta": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/meta": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5170,13 +5170,13 @@ } }, "node_modules/@turf/bbox": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.3.1.tgz", - "integrity": "sha512-/IyMKoS7P9B0ch5PIlQ6gMfoE8gRr48+cSbzlyexvEjuDuaAV1VURjH1jAthS0ipFG8RrFxFJKnp7TLL1Skong==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.3.2.tgz", + "integrity": "sha512-iohGIDVqi8Ck7VQY2Emp490BShWKixG8wkVPQ7qO4fXRqJwrWO7ntU9XPB+r0qs6Y8kaSd+nDnvG3VFfKDb+Vg==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/meta": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/meta": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5185,16 +5185,17 @@ } }, "node_modules/@turf/boolean-crosses": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/boolean-crosses/-/boolean-crosses-7.3.1.tgz", - "integrity": "sha512-Fn99AxTXQORiQjclUqUYQcA40oJJoJxMBFx/Vycd7v949Lnplt1qrUkBpbZNXQlvHF2gxrgirSfgBDaUnUJjzQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-crosses/-/boolean-crosses-7.3.2.tgz", + "integrity": "sha512-qr2k+3YUnOoVI+9epznpTNE+pslr9nbjn/jGlq6uANhF4jviL5862E8SR4YHSrF0Vg2CguSPY8V4Lqo4qZhXQg==", "license": "MIT", "dependencies": { - "@turf/boolean-point-in-polygon": "7.3.1", - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", - "@turf/line-intersect": "7.3.1", - "@turf/polygon-to-line": "7.3.1", + "@turf/boolean-equal": "7.3.2", + "@turf/boolean-point-in-polygon": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@turf/line-intersect": "7.3.2", + "@turf/polygon-to-line": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5203,17 +5204,34 @@ } }, "node_modules/@turf/boolean-disjoint": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-7.3.1.tgz", - "integrity": "sha512-bqVo+eAYaCq0lcr09zsZdWIAdv22UzGc/h2CCfaBwP5r4o/rFudNFLU9gb9BcM6dBUzrtTgBguShAZr7k3cGbw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-7.3.2.tgz", + "integrity": "sha512-8cz3fAWldktvCEmIwMvzEq0q7JnICJPZeQ/xPm+XccGbRcGHQZOFI3wZCemQh6akRowWfQ8PgQu2OeJXJbvIuA==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-in-polygon": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/line-intersect": "7.3.2", + "@turf/meta": "7.3.2", + "@turf/polygon-to-line": "7.3.2", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/boolean-equal": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-equal/-/boolean-equal-7.3.2.tgz", + "integrity": "sha512-ttve2ghdgkKHVI1gPwKj+XIyPirawhiUZKciLwIIaVgVrihiehpk4OY5Rn4kMWbvYzQTAKDUTfSXVM6fzQFeYA==", "license": "MIT", "dependencies": { - "@turf/boolean-point-in-polygon": "7.3.1", - "@turf/helpers": "7.3.1", - "@turf/line-intersect": "7.3.1", - "@turf/meta": "7.3.1", - "@turf/polygon-to-line": "7.3.1", + "@turf/clean-coords": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", "@types/geojson": "^7946.0.10", + "geojson-equality-ts": "^1.0.2", "tslib": "^2.8.1" }, "funding": { @@ -5221,16 +5239,16 @@ } }, "node_modules/@turf/boolean-overlap": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/boolean-overlap/-/boolean-overlap-7.3.1.tgz", - "integrity": "sha512-QhhsgCLzkwXIeZhaCmgE3H8yTANJGZatJ5IzQG3xnPTx7LiNAaa/ReN2/NroEv++8Yc0sr5Bkh6xWZOtew1dvQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-overlap/-/boolean-overlap-7.3.2.tgz", + "integrity": "sha512-xzy/wpf2OpIhyZ80aWU9UtT87w7iQtAPOCyb5szfBcX2L+m4Ii5pVx53yZbKFct16i/zObc4W6gI9N5oHyOBkg==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", - "@turf/line-intersect": "7.3.1", - "@turf/line-overlap": "7.3.1", - "@turf/meta": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@turf/line-intersect": "7.3.2", + "@turf/line-overlap": "7.3.2", + "@turf/meta": "7.3.2", "@types/geojson": "^7946.0.10", "geojson-equality-ts": "^1.0.2", "tslib": "^2.8.1" @@ -5240,13 +5258,13 @@ } }, "node_modules/@turf/boolean-point-in-polygon": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.3.1.tgz", - "integrity": "sha512-BUPW63vE43LctwkgannjmEFTX1KFR/18SS7WzFahJWK1ZoP0s1jrfxGX+pi0BH/3Dd9mA71hkGKDDnj1Ndcz0g==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.3.2.tgz", + "integrity": "sha512-PAfPDQ0TW1+VLgZ7tReTSyZ/X41AW7/nMRQxVpY+h/aG7JomZJ779lojnODT4dWCn3IMTA3xD2dDDfVYBAQMYg==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", "@types/geojson": "^7946.0.10", "point-in-polygon-hao": "^1.1.0", "tslib": "^2.8.1" @@ -5256,13 +5274,13 @@ } }, "node_modules/@turf/boolean-point-on-line": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/boolean-point-on-line/-/boolean-point-on-line-7.3.1.tgz", - "integrity": "sha512-8Hywuv7XFpSc8nfH0BJBtt+XTcJ7OjfjpX2Sz+ty8gyiY/2nCLLqq6amu3ebr67ruqZTDpPNQoGGUbUePjF3rA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-on-line/-/boolean-point-on-line-7.3.2.tgz", + "integrity": "sha512-1hDfbdBgX9qpMmCnBqeNgRC3Bl/hlNGR42SvGmejXCjaZmheP+V8pXWJgF0WDxAzYkb7opqS8Vta4+EymUU5GQ==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5271,20 +5289,20 @@ } }, "node_modules/@turf/boolean-valid": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/boolean-valid/-/boolean-valid-7.3.1.tgz", - "integrity": "sha512-lpw4J5HaV4Tv033s2j/i6QHt6Zx/8Lc90DTfOU0axgRSrs127kbKNJsmDEGvtmV7YjNp8aPbIG1wwAX9wg/dMA==", - "license": "MIT", - "dependencies": { - "@turf/bbox": "7.3.1", - "@turf/boolean-crosses": "7.3.1", - "@turf/boolean-disjoint": "7.3.1", - "@turf/boolean-overlap": "7.3.1", - "@turf/boolean-point-in-polygon": "7.3.1", - "@turf/boolean-point-on-line": "7.3.1", - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", - "@turf/line-intersect": "7.3.1", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/boolean-valid/-/boolean-valid-7.3.2.tgz", + "integrity": "sha512-0QYO49YM1CJufjR1p58zHffiNUzEEwz7WQJu/a0kzQBQNm5+sYVdyL/PiFuDoEr34WdsAGjSFvFS8h5PB3IG1A==", + "license": "MIT", + "dependencies": { + "@turf/bbox": "7.3.2", + "@turf/boolean-crosses": "7.3.2", + "@turf/boolean-disjoint": "7.3.2", + "@turf/boolean-overlap": "7.3.2", + "@turf/boolean-point-in-polygon": "7.3.2", + "@turf/boolean-point-on-line": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@turf/line-intersect": "7.3.2", "@types/geojson": "^7946.0.10", "geojson-polygon-self-intersections": "^1.2.1", "tslib": "^2.8.1" @@ -5293,14 +5311,30 @@ "url": "https://opencollective.com/turf" } }, + "node_modules/@turf/clean-coords": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-7.3.2.tgz", + "integrity": "sha512-O7gnwgUkFbvjnCmq4dyECkYshcXZNqP8pE+DQNC26xG86+qeBlrPU8DjR7aumcK8MezC9tYqw0vb350/sKYBVQ==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-on-line": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, + "funding": { + "url": "https://opencollective.com/turf" + } + }, "node_modules/@turf/distance": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-7.3.1.tgz", - "integrity": "sha512-DK//doTGgYYjBkcWUywAe7wbZYcdP97hdEJ6rXYVYRoULwGGR3lhY96GNjozg6gaW9q2eSNYnZLpcL5iFVHqgw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-7.3.2.tgz", + "integrity": "sha512-aY2HQDZpu/doKRUTEcBKdV2olNOD1x0wKR6ujzC+D1EZLKWOEmTJRR+6OjzB+xuv5zZbhFPe9f0MXEuNDxzwfQ==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5309,25 +5343,26 @@ } }, "node_modules/@turf/geojson-rbush": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/geojson-rbush/-/geojson-rbush-7.3.1.tgz", - "integrity": "sha512-EsrBBftZS5TvzRP2opLzwfnPXfmJi45KkGUcKSSFD0bxQe3BQUSmBrZbHMT8avB2s/XHrS/MniqsyeVOMwc35Q==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/geojson-rbush/-/geojson-rbush-7.3.2.tgz", + "integrity": "sha512-0cUSyLotPClSzPvD7XM88qlaRMkfZJJuwUE/p8rhpvGk53SjVexMjltohkOFd0QFmayCovrT81OSgGcqt91zYA==", "license": "MIT", "dependencies": { - "@turf/bbox": "7.3.1", - "@turf/helpers": "7.3.1", - "@turf/meta": "7.3.1", + "@turf/bbox": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/meta": "7.3.2", "@types/geojson": "^7946.0.10", - "rbush": "^3.0.1" + "rbush": "^3.0.1", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/helpers": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.3.1.tgz", - "integrity": "sha512-zkL34JVhi5XhsuMEO0MUTIIFEJ8yiW1InMu4hu/oRqamlY4mMoZql0viEmH6Dafh/p+zOl8OYvMJ3Vm3rFshgg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.3.2.tgz", + "integrity": "sha512-5HFN42rgWjSobdTMxbuq+ZdXPcqp1IbMgFYULTLCplEQM3dXhsyRFe7DCss4Eiw12iW3q6Z5UeTNVfITsE5lgA==", "license": "MIT", "dependencies": { "@types/geojson": "^7946.0.10", @@ -5338,12 +5373,12 @@ } }, "node_modules/@turf/invariant": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.3.1.tgz", - "integrity": "sha512-IdZJfDjIDCLH+Gu2yLFoSM7H23sdetIo5t4ET1/25X8gi3GE2XSqbZwaGjuZgNh02nisBewLqNiJs2bo+hrqZA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.3.2.tgz", + "integrity": "sha512-brGmL1EFhZH/YNXhq6S+8sPWBEnmvEyxMWJO8bUNOFZyWHYiRTwxQHZM+An1blkbQ77PiEzsdNAspZqE1j7YKA==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", + "@turf/helpers": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5352,12 +5387,12 @@ } }, "node_modules/@turf/line-intersect": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-7.3.1.tgz", - "integrity": "sha512-HFPH4Hi+rG7XZ5rijkYL5C9JGVKd6gz6TToShVfqOt/qgGY9/bLYQxymgum/MG7sRhIa8xcKff2d57JrIVuSWA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-7.3.2.tgz", + "integrity": "sha512-qsMUml7MI/x1iLcQzCuD/LlAxQUfMDR6PoVwQ32fGF7dCqfdMkKWoMz4Qn5WyPCeSyW8BchuAjWp5FnVtOeLeg==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", + "@turf/helpers": "7.3.2", "@types/geojson": "^7946.0.10", "sweepline-intersections": "^1.5.0", "tslib": "^2.8.1" @@ -5367,18 +5402,18 @@ } }, "node_modules/@turf/line-overlap": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/line-overlap/-/line-overlap-7.3.1.tgz", - "integrity": "sha512-xIhTfPhJMwz57DvM+/JuzG2BUL/gR/pJfH6w+vofI3akej33LTR8b296h2dhcJjDixxprVVH062AD1Q3AGKyfg==", - "license": "MIT", - "dependencies": { - "@turf/boolean-point-on-line": "7.3.1", - "@turf/geojson-rbush": "7.3.1", - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", - "@turf/line-segment": "7.3.1", - "@turf/meta": "7.3.1", - "@turf/nearest-point-on-line": "7.3.1", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/line-overlap/-/line-overlap-7.3.2.tgz", + "integrity": "sha512-oao5Zbs21bX5prTrxdjgjYEc9bBfBDv4dkRqDaFk1pzNyx9zD2uXlifaPaSjo/GFJ5OEfTews8r3nSUXzFN+yA==", + "license": "MIT", + "dependencies": { + "@turf/boolean-point-on-line": "7.3.2", + "@turf/geojson-rbush": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@turf/line-segment": "7.3.2", + "@turf/meta": "7.3.2", + "@turf/nearest-point-on-line": "7.3.2", "@types/geojson": "^7946.0.10", "fast-deep-equal": "^3.1.3", "tslib": "^2.8.1" @@ -5388,14 +5423,14 @@ } }, "node_modules/@turf/line-segment": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-7.3.1.tgz", - "integrity": "sha512-hHz1fM2LigNKmnhyHDXtbRrkBqltH/lYEvhgSmv3laZ9PsEYL8jvA3o7+IhLM9B4KPa8N6VGim6ZR5YA5bhLvQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-7.3.2.tgz", + "integrity": "sha512-Dx1yQ31fMm3PqYWo5S/5/zlcMaCV02G2alW5FSnJCu9Yc1/sBMxjjuVpF92roOV+XRE9zl50DThATikQB8+roA==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", - "@turf/meta": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@turf/meta": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5404,28 +5439,29 @@ } }, "node_modules/@turf/meta": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.3.1.tgz", - "integrity": "sha512-NWsfOE5RVtWpLQNkfOF/RrYvLRPwwruxhZUV0UFIzHqfiRJ50aO9Y6uLY4bwCUe2TumLJQSR4yaoA72Rmr2mnQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.3.2.tgz", + "integrity": "sha512-FIcIY+ZsAe9QV4fHciTXeuRz2TKIVaEjivkl4vMFCibdj7FUkWDofqOncbIre1xPrgktQeh20ZrmD+p0kf3n4Q==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@types/geojson": "^7946.0.10" + "@turf/helpers": "7.3.2", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/nearest-point-on-line": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-7.3.1.tgz", - "integrity": "sha512-FialyHfXXZWLayKQcUtdOtKv3ulOQ9FSI45kSmkDl8b96+VFWHX983Pc94tTrSTSg89+XX7MDr6gRl0yowmF4Q==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-7.3.2.tgz", + "integrity": "sha512-IfI7SkasMLdULb+gPOtdZtTSTkuS06dlKEUX4lPOC94jJA2vjaCDIRxejRRzGLY0EQ4uben9I8PQEp7cwVuERA==", "license": "MIT", "dependencies": { - "@turf/distance": "7.3.1", - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", - "@turf/meta": "7.3.1", + "@turf/distance": "7.3.2", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", + "@turf/meta": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5434,13 +5470,13 @@ } }, "node_modules/@turf/polygon-to-line": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-7.3.1.tgz", - "integrity": "sha512-qTOFzn7SLQ0TcKBsPFAFYz7iiq34ijqinpjyr9fHQlFHRHeWzUXiWyIn5a2uOHazkdhHCEXNX8JPkt6hjdZ/fQ==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-7.3.2.tgz", + "integrity": "sha512-/C8On+ddnMi1z2r5ZLbGyXb+gCM4d4CpAKx3f80kyReM2IxwN6F0t6y1PPXYx4eR2P49fhiEcQJ9m0kCwQBAzw==", "license": "MIT", "dependencies": { - "@turf/helpers": "7.3.1", - "@turf/invariant": "7.3.1", + "@turf/helpers": "7.3.2", + "@turf/invariant": "7.3.2", "@types/geojson": "^7946.0.10", "tslib": "^2.8.1" }, @@ -5784,9 +5820,9 @@ "license": "MIT" }, "node_modules/@types/d3-shape": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", - "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", "license": "MIT", "dependencies": { "@types/d3-path": "*" @@ -6786,38 +6822,38 @@ ] }, "node_modules/@vaadin/a11y-base": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.9.7.tgz", - "integrity": "sha512-JkF2kGYmFIr5CAIKPJjI8qZY51LGauah37Z7EZD1tD95vLbyRQVtE8CtumeZXwvJOoKv5t8tLvYTMn0z53jW0w==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.9.9.tgz", + "integrity": "sha512-Rsys+PJJer0HH4TjWSQoIitp6byxPpPjTDsA9ZGjxAip1EhkSQnVAA8OX3bP/0xtiyykwP13SaJKfqdNOZn2QA==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.7", + "@vaadin/component-base": "~24.9.9", "lit": "^3.0.0" } }, "node_modules/@vaadin/checkbox": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.9.7.tgz", - "integrity": "sha512-UQG7AAArC/dI7p+QpaBQPDtzSHPVEK+24s5HiqnUYDGQUvU/XvSa5oYWDO+BqqHn4IZLS0dp+g9tAmkxt5fI2A==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.9.9.tgz", + "integrity": "sha512-IrMpe0trEadfI590MruzW4rmX1XJKDoX68l/Sf0q2cToUOqOsVfsGA4wJPpjOZZtndY2oyk9slVrkA3GsTiqrg==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.7", - "@vaadin/component-base": "~24.9.7", - "@vaadin/field-base": "~24.9.7", - "@vaadin/vaadin-lumo-styles": "~24.9.7", - "@vaadin/vaadin-material-styles": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7", + "@vaadin/a11y-base": "~24.9.9", + "@vaadin/component-base": "~24.9.9", + "@vaadin/field-base": "~24.9.9", + "@vaadin/vaadin-lumo-styles": "~24.9.9", + "@vaadin/vaadin-material-styles": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9", "lit": "^3.0.0" } }, "node_modules/@vaadin/component-base": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.9.7.tgz", - "integrity": "sha512-9IsgcC0rF7iitcnoa9q3TnnOtMeBtPjq6RXdcgux5FZTefpCWCEvv+hq8IiXMpalM5Fm9NuhFsp6T08haczU+g==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.9.9.tgz", + "integrity": "sha512-FKLeEY2iZrRyl6iwTVDPjMe8bix5DnUKPHXbHml8GTuKC97bw1C/6ZVfwAtS6XP69G0i6NKDvncmTHVuMS1lOw==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -6828,89 +6864,89 @@ } }, "node_modules/@vaadin/field-base": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.9.7.tgz", - "integrity": "sha512-+Rj1LvKXeTNbvOfxq2QRjsAD95lIVAZmy/TCAh49rfDd5eUh94qxgrMnaBFbIU+g+byTszPAVySkdHZo52C+Qg==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.9.9.tgz", + "integrity": "sha512-QJey0XDgwQ8aTtPD4mKbQsO1V+rSgpcfLMRfONR5kMD/x/6OMMu7suoGMzwQ8ZeEW329kabsBclI8vzbR3pbEg==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.7", - "@vaadin/component-base": "~24.9.7", + "@vaadin/a11y-base": "~24.9.9", + "@vaadin/component-base": "~24.9.9", "lit": "^3.0.0" } }, "node_modules/@vaadin/grid": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.9.7.tgz", - "integrity": "sha512-4aPxH32BG5TRlans8t3895f3qeciH4XRYuu62RCfOw/dEYlCpwNftnJX2HPv0Goj1AgdNAq24TijKYPxLa/WAQ==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.9.9.tgz", + "integrity": "sha512-OAwwUpJqC1InGoO1LKHHRYjxtfQxLiCqCh+6v8PqnSTbq/wSa9Kq8mzyy27Db9NPulSoaYuNNqS2CJeHTGp4kg==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.7", - "@vaadin/checkbox": "~24.9.7", - "@vaadin/component-base": "~24.9.7", - "@vaadin/lit-renderer": "~24.9.7", - "@vaadin/text-field": "~24.9.7", - "@vaadin/vaadin-lumo-styles": "~24.9.7", - "@vaadin/vaadin-material-styles": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7", + "@vaadin/a11y-base": "~24.9.9", + "@vaadin/checkbox": "~24.9.9", + "@vaadin/component-base": "~24.9.9", + "@vaadin/lit-renderer": "~24.9.9", + "@vaadin/text-field": "~24.9.9", + "@vaadin/vaadin-lumo-styles": "~24.9.9", + "@vaadin/vaadin-material-styles": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9", "lit": "^3.0.0" } }, "node_modules/@vaadin/icon": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.9.7.tgz", - "integrity": "sha512-H1BmjZeo0XKVe4xoIt1INp7TdbwAOM+hoe3T+EZUJPjwn20iGRPI3iupGVEoySeh8fQnXzyV9fFMlitMmeYFyQ==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.9.9.tgz", + "integrity": "sha512-t4XckMczRyR+BxjOvHt1PPASxlf1OGTWkpyHs62kV6YQuYocDCmaapjPbZ6DpAwk4pfeYaZvLutj+qY1KTPLug==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.7", - "@vaadin/vaadin-lumo-styles": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7", + "@vaadin/component-base": "~24.9.9", + "@vaadin/vaadin-lumo-styles": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9", "lit": "^3.0.0" } }, "node_modules/@vaadin/input-container": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.9.7.tgz", - "integrity": "sha512-KZ8EAakEOWi+yAub3RYyT8HDLwFSsN7ty50jJWqQcRxJ8F+lCGXYc/9MBDNAK6rq9r++urbyc9HaJZydUvYcZg==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.9.9.tgz", + "integrity": "sha512-qLLZ6pBv/ECpuVfjsMvfRGFQj5bv89uIDXzJXXe1uLQMo/JC9iAfIe5K6VUhapN4AcBldMLT7Y9lFufVlNWfBA==", "license": "Apache-2.0", "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.7", - "@vaadin/vaadin-lumo-styles": "~24.9.7", - "@vaadin/vaadin-material-styles": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7", + "@vaadin/component-base": "~24.9.9", + "@vaadin/vaadin-lumo-styles": "~24.9.9", + "@vaadin/vaadin-material-styles": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9", "lit": "^3.0.0" } }, "node_modules/@vaadin/lit-renderer": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.9.7.tgz", - "integrity": "sha512-WZriGHq8Iz2Rl7mVy0XXybNPrxx3VHV9jgZebXMORfDJkHGF/azLd+ElX6cMiIemWVft9SNWkeZ8x83oITHxlQ==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.9.9.tgz", + "integrity": "sha512-V0eyMAKcwn0UyjVN2kfGRYkTEMtcJ7+wyjOLNftMkHdQ/E0DF8dji3LtDFWhqAHVE0zgTZXyP07V7pTPtGjYCw==", "license": "Apache-2.0", "dependencies": { "lit": "^3.0.0" } }, "node_modules/@vaadin/text-field": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.9.7.tgz", - "integrity": "sha512-p8OO2kJGoYjlvmfjZst1oMPeFYwXav83/H5FH/2A4cXJh9gInFYcReoTA9Xvmf2zfVuMfPZO73X8yOKd0e52IA==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.9.9.tgz", + "integrity": "sha512-KGcnqfWHSVk0n9vmIJmBmhugNr1sLsb5oi+79aYVXsw8uNSJkqWXXVK2EYNmweN+e/aIBcloTwaJZMDuBGJIRw==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.7", - "@vaadin/component-base": "~24.9.7", - "@vaadin/field-base": "~24.9.7", - "@vaadin/input-container": "~24.9.7", - "@vaadin/vaadin-lumo-styles": "~24.9.7", - "@vaadin/vaadin-material-styles": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7", + "@vaadin/a11y-base": "~24.9.9", + "@vaadin/component-base": "~24.9.9", + "@vaadin/field-base": "~24.9.9", + "@vaadin/input-container": "~24.9.9", + "@vaadin/vaadin-lumo-styles": "~24.9.9", + "@vaadin/vaadin-material-styles": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9", "lit": "^3.0.0" } }, @@ -6921,32 +6957,32 @@ "license": "Apache-2.0" }, "node_modules/@vaadin/vaadin-lumo-styles": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.9.7.tgz", - "integrity": "sha512-sxceUR2740h/Ah9puwOHuDNomDQwJcAAh5xYoHIWAKNQtEuNdvvzmodlZtLiTHkRqcaPWbqefI8mfDCCcF0VJQ==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.9.9.tgz", + "integrity": "sha512-VUbw/dIFVn9nAQSAJdQEdQw2X7GMetZkMC6o/hCMje+u0vGwaOe0UhLerjUnEnfVMtDwX+39um9gTCM14+vMTg==", "license": "Apache-2.0", "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.7", - "@vaadin/icon": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7" + "@vaadin/component-base": "~24.9.9", + "@vaadin/icon": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9" } }, "node_modules/@vaadin/vaadin-material-styles": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.9.7.tgz", - "integrity": "sha512-+1sJ/sQSs0GAe1CwljEakZD6fkciJZKbB1vvAySX6YShBzeG14UakY/Uv5Kflwpqu2qcyHAlxHIBMEf2s9+VwA==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.9.9.tgz", + "integrity": "sha512-Su/T4ED/E2eeyjscOY6LLy22DgCxu41jkIM/LhOxvrNAqUhM7c7icKyTWOlEbkW7KvKXByBACQAF+141moN8/g==", "license": "Apache-2.0", "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.7", - "@vaadin/vaadin-themable-mixin": "~24.9.7" + "@vaadin/component-base": "~24.9.9", + "@vaadin/vaadin-themable-mixin": "~24.9.9" } }, "node_modules/@vaadin/vaadin-themable-mixin": { - "version": "24.9.7", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.9.7.tgz", - "integrity": "sha512-NqUMCxaJzDtdl2wLKeeqrEryvxcFFhj0twFaAhPzzAmcJvD6/MO7CkE/zzyynaZ8qhfo8ocXYGRpxC8fAJSCgA==", + "version": "24.9.9", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.9.9.tgz", + "integrity": "sha512-yXmRon8PkwrYCrBIxjwYrn5z8NMB4hepIueVAX3KTrV9AOciiDxAKm+Rgxpc02AOCz/ZN451im8+8eheiU5c3g==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -7196,9 +7232,9 @@ "license": "Apache-2.0" }, "node_modules/@zip.js/zip.js": { - "version": "2.8.14", - "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.14.tgz", - "integrity": "sha512-BZ7OyJLA5cjYwf2jVjvZCK10swzIc6sDOLpkPjJXfXgx/IHF5y61PyL3Ko5/q3bUU5GvIhk6tzKDUcDJ7rhzbg==", + "version": "2.8.15", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.15.tgz", + "integrity": "sha512-HZKJLFe4eGVgCe9J87PnijY7T1Zn638bEHS+Fm/ygHZozRpefzWcOYfPaP52S8pqk9g4xN3+LzMDl3Lv9dLglA==", "license": "BSD-3-Clause", "engines": { "bun": ">=0.7.0", @@ -9318,9 +9354,9 @@ } }, "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", "license": "ISC", "engines": { "node": ">=12" @@ -11412,9 +11448,9 @@ "license": "ISC" }, "node_modules/focus-trap": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.7.1.tgz", - "integrity": "sha512-Pkp8m55GjxBLnhBoT6OXdMvfRr4TjMAKLvFM566zlIryq5plbhaTmLAJWTGR0EkRwLjEte1lCOG9MxF1ipJrOg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", "license": "MIT", "dependencies": { "tabbable": "^6.4.0" @@ -14271,6 +14307,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "license": "MIT" }, "node_modules/js-tokens": { @@ -15165,9 +15202,9 @@ "peer": true }, "node_modules/maplibre-gl": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.15.0.tgz", - "integrity": "sha512-pPeu/t4yPDX/+Uf9ibLUdmaKbNMlGxMAX+tBednYukol2qNk2TZXAlhdohWxjVvTO3is8crrUYv3Ok02oAaKzA==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.16.0.tgz", + "integrity": "sha512-/VDY89nr4jgLJyzmhy325cG6VUI02WkZ/UfVuDbG/piXzo6ODnM+omDFIwWY8tsEsBG26DNDmNMn3Y2ikHsBiA==", "license": "BSD-3-Clause", "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", @@ -16173,9 +16210,9 @@ } }, "node_modules/pdfmake": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.22.tgz", - "integrity": "sha512-nY0tvBlBCAfefFzXkWGHzW7OQeWKsGKL8M1I8o+fFhLBDtYesSA2G/KxfOF8jn+l53kzCLSTAdmTyPV2EM/v9g==", + "version": "0.2.23", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.23.tgz", + "integrity": "sha512-A/IksoKb/ikOZH1edSDJ/2zBbqJKDghD4+fXn3rT7quvCJDlsZMs3NmIB3eajLMMFU9Bd3bZPVvlUMXhvFI+bQ==", "license": "MIT", "dependencies": { "@foliojs-fork/linebreak": "^1.1.2", @@ -16188,9 +16225,9 @@ } }, "node_modules/pdfmake/node_modules/iconv-lite": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", - "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" From 8afe7daf0d520816fe0acf24a0a7679319b38a9f Mon Sep 17 00:00:00 2001 From: David Stone Date: Thu, 15 Jan 2026 15:33:34 +0000 Subject: [PATCH 34/52] Restructure location map tests --- test/client/javascripts/location-map.test.js | 229 +++++++++++-------- 1 file changed, 139 insertions(+), 90 deletions(-) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index f92327f3d..4b7b02ac4 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -41,123 +41,172 @@ describe('Location Maps Client JS', () => { zoomControlsPlugin: noop, scaleBarPlugin: noop } + }) + + afterEach(() => { + document.body.innerHTML = '' + }) - document.body.innerHTML = ` -
-
-
- - What is your latitude and longitude (optional) - -
- For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767 -
-
-
-
- -
- - + describe('Lat long component', () => { + beforeEach(() => { + document.body.innerHTML = ` + +
+
+ + What is your latitude and longitude (optional) + +
+ For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767 +
+
+
+
+ +
+ + +
-
-
-
- -
- - +
+
+ +
+ + +
-
-
-
-
- -
- - ` - }) - - afterEach(() => { - document.body.innerHTML = '' - }) +
+
+
+ +
+ + ` + }) - describe('Map initialisation', () => { - test('initMaps initializes without errors when DOM elements are present', () => { - expect(() => initMaps()).not.toThrow() - expect(onMock).toHaveBeenLastCalledWith('map:ready', expect.any(Function)) + describe('Map initialisation', () => { + test('initMaps initializes without errors when DOM elements are present', () => { + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith( + 'map:ready', + expect.any(Function) + ) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) - const onMapReady = onMock.mock.calls[0][1] - expect(typeof onMapReady).toBe('function') + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) - // Manually invoke onMapReady callback - const flyToMock = jest.fn() - onMapReady({ - map: { - flyTo: flyToMock - } - }) + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) - expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + const onInteractMarkerChange = onMock.mock.calls[1][1] + expect(typeof onInteractMarkerChange).toBe('function') + onInteractMarkerChange({ coords: [0, 0] }) - expect(onMock).toHaveBeenLastCalledWith( - 'interact:markerchange', - expect.any(Function) - ) + const inputs = document.body.querySelectorAll('input.govuk-input') + expect(inputs).toHaveLength(2) - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - const onInteractMarkerChange = onMock.mock.calls[1][1] - expect(typeof onInteractMarkerChange).toBe('function') - onInteractMarkerChange({ coords: [0, 0] }) + const latInput = /** @type {HTMLInputElement} */ (inputs[0]) + const longInput = /** @type {HTMLInputElement} */ (inputs[1]) - const inputs = document.body.querySelectorAll('input.govuk-input') - expect(inputs).toHaveLength(2) + latInput.value = '53.825564' + latInput.dispatchEvent(new window.Event('change')) - const latInput = /** @type {HTMLInputElement} */ (inputs[0]) - const longInput = /** @type {HTMLInputElement} */ (inputs[1]) + longInput.value = '-2.421975' + longInput.dispatchEvent(new window.Event('change')) - latInput.value = '53.825564' - latInput.dispatchEvent(new window.Event('change')) - - longInput.value = '-2.421975' - longInput.dispatchEvent(new window.Event('change')) + // Expect it to update once, only when both fields are valid + expect(addMarkerMock).toHaveBeenCalledTimes(1) + expect(flyToMock).toHaveBeenCalledTimes(1) + }) - // Expect it to update once, only when both fields are valid - expect(addMarkerMock).toHaveBeenCalledTimes(1) - expect(flyToMock).toHaveBeenCalledTimes(1) - }) + test('initMaps only applies when there are location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') - test('initMaps only applies when there are location components on the page', () => { - const locations = document.querySelectorAll('.app-location-field') + // Remove any locations for the test + locations.forEach((location) => { + location.remove() + }) - // Remove any locations for the test - locations.forEach((location) => { - location.remove() + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() }) - expect(() => initMaps()).not.toThrow() - expect(onMock).not.toHaveBeenCalled() - }) + test('initMaps only applies when there are supported location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') - test('initMaps only applies when there are supported location components on the page', () => { - const locations = document.querySelectorAll('.app-location-field') + // Reset the location type of each component + locations.forEach((location) => { + location.setAttribute('data-locationtype', 'unknowntype') + }) - // Reset the location type of each component - locations.forEach((location) => { - location.setAttribute('data-locationtype', 'unknowntype') + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() }) - - expect(() => initMaps()).not.toThrow() - expect(onMock).not.toHaveBeenCalled() }) }) describe('Form submit event propagation', () => { + beforeEach(() => { + document.body.innerHTML = ` +
+
+
+ + What is your latitude and longitude (optional) + +
+ For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767 +
+
+
+
+ +
+ + +
+
+
+
+
+ +
+ + +
+
+
+
+
+
+
+ +
+
+ ` + }) + test('form does submit when submitter is the main form button', () => { const preventDefault = jest.fn() From c3d788c6a309370eac8b3ac71c54f191a7041fbe Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 16 Jan 2026 11:04:23 +0000 Subject: [PATCH 35/52] Feature/DF-687 location maps easting & northing (#289) * Add eastingnorthingfield to the list of supported location fields * Add easting northing capability to location maps * Remove unused osgrid * Add easting and northing tests location map client tests * Add map tests with initial field values --- jest.config.cjs | 3 +- package-lock.json | 10 + package.json | 1 + src/client/javascripts/location-map.js | 185 +++++++++++++++- test/client/javascripts/location-map.test.js | 215 ++++++++++++++++++- 5 files changed, 407 insertions(+), 7 deletions(-) diff --git a/jest.config.cjs b/jest.config.cjs index d4bbf3a61..6609106df 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -51,7 +51,8 @@ module.exports = { '@defra/forms-model/.*', 'nanoid', // Supports ESM only 'slug', // Supports ESM only - '@defra/hapi-tracing' // Supports ESM only| + '@defra/hapi-tracing', // Supports ESM only + 'geodesy' // Supports ESM only| ].join('|')}/)` ], testTimeout: 10000, diff --git a/package-lock.json b/package-lock.json index b1ba92754..d72173540 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,6 +37,7 @@ "date-fns": "^4.1.0", "dotenv": "^17.2.3", "expr-eval-fork": "^3.0.0", + "geodesy": "^2.4.0", "govuk-frontend": "^5.13.0", "hapi-pino": "^13.0.0", "hapi-pulse": "^3.0.1", @@ -11603,6 +11604,15 @@ "node": ">=6.9.0" } }, + "node_modules/geodesy": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/geodesy/-/geodesy-2.4.0.tgz", + "integrity": "sha512-tHjQ1sXq8UAIEg1V0Pa6mznUxGU0R+3H5PIF6NULr0yPCAVLKqJro93Bbr19jSE18BMfyjN4osWDI4sm92m0kw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/geojson-equality-ts": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/geojson-equality-ts/-/geojson-equality-ts-1.0.2.tgz", diff --git a/package.json b/package.json index 941102ad1..0283774d4 100644 --- a/package.json +++ b/package.json @@ -97,6 +97,7 @@ "date-fns": "^4.1.0", "dotenv": "^17.2.3", "expr-eval-fork": "^3.0.0", + "geodesy": "^2.4.0", "govuk-frontend": "^5.13.0", "hapi-pino": "^13.0.0", "hapi-pulse": "^3.0.1", diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 50565d5bf..9c2c9bbc6 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -1,3 +1,33 @@ +// @ts-expect-error - no types +import OsGridRef, { LatLon } from 'geodesy/osgridref.js' + +/** + * Converts lat long to easting and northing + * @param {object} param + * @param {number} param.lat + * @param {number} param.long + * @returns {{ easting: number, northing: number }} + */ +function latLongToEastingNorthing({ lat, long }) { + const point = new LatLon(lat, long) + + return point.toOsGrid() +} + +/** + * Converts easting and northing to lat long + * @param {object} param + * @param {number} param.easting + * @param {number} param.northing + * @returns {{ lat: number, long: number }} + */ +function eastingNorthingToLatLong({ easting, northing }) { + const point = new OsGridRef(easting, northing) + const latLong = point.toLatLon() + + return { lat: latLong.latitude, long: latLong.longitude } +} + // Center of UK const DEFAULT_LAT = 53.825564 const DEFAULT_LONG = -2.421975 @@ -115,7 +145,7 @@ function processLocation(config, location, index) { const locationType = location.dataset.locationtype // Check for support - const supportedLocations = ['latlongfield'] + const supportedLocations = ['latlongfield', 'eastingnorthingfield'] if (!locationType || !supportedLocations.includes(locationType)) { return } @@ -144,6 +174,9 @@ function processLocation(config, location, index) { case 'latlongfield': bindLatLongField(location, map, e.map) break + case 'eastingnorthingfield': + bindEastingNorthingField(location, map, e.map) + break default: throw new Error('Not implemented') } @@ -267,6 +300,8 @@ function getInitMapConfig(locationField) { switch (locationType) { case 'latlongfield': return getInitLatLongMapConfig(locationField) + case 'eastingnorthingfield': + return getInitEastingNorthingMapConfig(locationField) default: throw new Error('Not implemented') } @@ -301,6 +336,35 @@ function validateLatLong(strLat, strLong) { return { valid: true, value: { lat, long } } } +/** + * Validates easting and northing is numeric and within UK bounds + * @param {string} strEasting - the easting string + * @param {string} strNorthing - the northing string + * @returns {{ valid: false } | { valid: true, value: { easting: number, northing: number } }} + */ +function validateEastingNorthing(strEasting, strNorthing) { + const easting = strEasting.trim() && Number(strEasting.trim()) + const northing = strNorthing.trim() && Number(strNorthing.trim()) + + if (!easting || !northing) { + return { valid: false } + } + + const eastingMin = 0 + const eastingMax = 700000 + const northingMin = 0 + const northingMax = 1300000 + + const latInBounds = easting >= eastingMin && easting <= eastingMax + const longInBounds = northing >= northingMin && northing <= northingMax + + if (!latInBounds || !longInBounds) { + return { valid: false } + } + + return { valid: true, value: { easting, northing } } +} + /** * Gets initial map config for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element @@ -318,6 +382,23 @@ function getLatLongInputs(locationField) { return { latInput, longInput } } +/** + * Gets initial map config for a easting/northing location field + * @param {HTMLDivElement} locationField - the eastingnorthing location field element + */ +function getEastingNorthingInputs(locationField) { + const inputs = locationField.querySelectorAll('input.govuk-input') + + if (inputs.length !== 2) { + throw new Error('Expected 2 inputs for easting and northing') + } + + const eastingInput = /** @type {HTMLInputElement} */ (inputs[0]) + const northingInput = /** @type {HTMLInputElement} */ (inputs[1]) + + return { eastingInput, northingInput } +} + /** * Gets initial map config for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element @@ -331,13 +412,50 @@ function getInitLatLongMapConfig(locationField) { return undefined } + /** @type {MapCenter} */ + const center = [result.value.long, result.value.lat] + return { zoom: '16', - center: [result.value.long, result.value.lat], + center, markers: [ { id: 'location', - coords: [result.value.long, result.value.lat] + coords: center + } + ] + } +} + +/** + * Gets initial map config for a easting/northing location field + * @param {HTMLDivElement} locationField - the eastingnorthing location field element + * @returns {DefraMapInitConfig | undefined} + */ +function getInitEastingNorthingMapConfig(locationField) { + const { eastingInput, northingInput } = + getEastingNorthingInputs(locationField) + const result = validateEastingNorthing( + eastingInput.value, + northingInput.value + ) + + if (!result.valid) { + return undefined + } + + const latlong = eastingNorthingToLatLong(result.value) + + /** @type {MapCenter} */ + const center = [latlong.long, latlong.lat] + + return { + zoom: '16', + center, + markers: [ + { + id: 'location', + coords: center } ] } @@ -393,6 +511,67 @@ function bindLatLongField(locationField, map, mapProvider) { longInput.addEventListener('change', onUpdateInputs, false) } +/** + * Bind an eastingnorthing field to the map + * @param {HTMLDivElement} locationField - the eastingnorthing location field + * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) + */ +function bindEastingNorthingField(locationField, map, mapProvider) { + const { eastingInput, northingInput } = + getEastingNorthingInputs(locationField) + + map.on( + 'interact:markerchange', + /** + * Callback function which fires when the map marker changes + * @param {object} e - the event + * @param {[number, number]} e.coords - the map marker coordinates + */ + function onInteractMarkerChange(e) { + const maxPrecision = 0 + const point = latLongToEastingNorthing({ + lat: e.coords[1], + long: e.coords[0] + }) + + eastingInput.value = point.easting.toFixed(maxPrecision) + northingInput.value = point.northing.toFixed(maxPrecision) + } + ) + + /** + * Easting & northing input change event listener + * Update the map view location when the inputs are changed + */ + function onUpdateInputs() { + const result = validateEastingNorthing( + eastingInput.value, + northingInput.value + ) + + if (result.valid) { + const latlong = eastingNorthingToLatLong(result.value) + + /** @type {MapCenter} */ + const center = [latlong.long, latlong.lat] + + // Move the 'location' marker to the new point + map.addMarker('location', center) + + // Pan & zoom the map to the new valid location + mapProvider.flyTo({ + center, + zoom: 14, + essential: true + }) + } + } + + eastingInput.addEventListener('change', onUpdateInputs, false) + northingInput.addEventListener('change', onUpdateInputs, false) +} + /** * @typedef {object} DefraMap - an instance of a DefraMap * @property {Function} on - register callback listeners to map events diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 4b7b02ac4..00bb8e0b3 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -64,7 +64,7 @@ describe('Location Maps Client JS', () => {
- +
@@ -75,7 +75,7 @@ describe('Location Maps Client JS', () => { Longitude
- +
@@ -116,26 +116,235 @@ describe('Location Maps Client JS', () => { expect.any(Function) ) + const inputs = document.body.querySelectorAll('input.govuk-input') + expect(inputs).toHaveLength(2) + + const latInput = /** @type {HTMLInputElement} */ (inputs[0]) + const longInput = /** @type {HTMLInputElement} */ (inputs[1]) + + latInput.value = '53.825564' + latInput.dispatchEvent(new window.Event('change')) + + longInput.value = '-2.421975' + longInput.dispatchEvent(new window.Event('change')) + + // Expect it to update once, only when both fields are valid + expect(addMarkerMock).toHaveBeenCalledTimes(1) + expect(flyToMock).toHaveBeenCalledTimes(1) + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access const onInteractMarkerChange = onMock.mock.calls[1][1] expect(typeof onInteractMarkerChange).toBe('function') - onInteractMarkerChange({ coords: [0, 0] }) + onInteractMarkerChange({ coords: [-2.1478238, 54.155676] }) + }) + test('initMaps with initial values', () => { const inputs = document.body.querySelectorAll('input.govuk-input') expect(inputs).toHaveLength(2) const latInput = /** @type {HTMLInputElement} */ (inputs[0]) const longInput = /** @type {HTMLInputElement} */ (inputs[1]) + // Set some initial values prior to initMaps + latInput.value = '53.743697' + longInput.value = '-1.522781' + + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith( + 'map:ready', + expect.any(Function) + ) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) + + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) + latInput.value = '53.825564' latInput.dispatchEvent(new window.Event('change')) longInput.value = '-2.421975' longInput.dispatchEvent(new window.Event('change')) + // Expect it to update twice as both fields are already valid + expect(addMarkerMock).toHaveBeenCalledTimes(2) + expect(flyToMock).toHaveBeenCalledTimes(2) + }) + + test('initMaps only applies when there are location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') + + // Remove any locations for the test + locations.forEach((location) => { + location.remove() + }) + + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() + }) + + test('initMaps only applies when there are supported location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') + + // Reset the location type of each component + locations.forEach((location) => { + location.setAttribute('data-locationtype', 'unknowntype') + }) + + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() + }) + }) + }) + + describe('Easting northing component', () => { + beforeEach(() => { + document.body.innerHTML = ` +
+
+
+ + What is your easting and northing + +
+ For example. Easting: 248741, Northing: 63688 +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+ +
+
+ ` + }) + + describe('Map initialisation', () => { + test('initMaps easting northing initializes without errors when DOM elements are present', () => { + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith( + 'map:ready', + expect.any(Function) + ) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) + + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) + + const inputs = document.body.querySelectorAll('input.govuk-input') + expect(inputs).toHaveLength(2) + + const eastingInput = /** @type {HTMLInputElement} */ (inputs[0]) + const northingInput = /** @type {HTMLInputElement} */ (inputs[1]) + + eastingInput.value = '380779' + eastingInput.dispatchEvent(new window.Event('change')) + + northingInput.value = '462222' + northingInput.dispatchEvent(new window.Event('change')) + // Expect it to update once, only when both fields are valid expect(addMarkerMock).toHaveBeenCalledTimes(1) expect(flyToMock).toHaveBeenCalledTimes(1) + + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + const onInteractMarkerChange = onMock.mock.calls[1][1] + expect(typeof onInteractMarkerChange).toBe('function') + onInteractMarkerChange({ + coords: [-2.147823, 54.155676] + }) + }) + + test('initMaps with initial values', () => { + const inputs = document.body.querySelectorAll('input.govuk-input') + expect(inputs).toHaveLength(2) + + const eastingInput = /** @type {HTMLInputElement} */ (inputs[0]) + const northingInput = /** @type {HTMLInputElement} */ (inputs[1]) + + // Set some initial values prior to initMaps + eastingInput.value = '431571' + northingInput.value = '427585' + + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith( + 'map:ready', + expect.any(Function) + ) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) + + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) + + eastingInput.value = '380779' + eastingInput.dispatchEvent(new window.Event('change')) + + northingInput.value = '462222' + northingInput.dispatchEvent(new window.Event('change')) + + // Expect it to update twice as both fields are already valid + expect(addMarkerMock).toHaveBeenCalledTimes(2) + expect(flyToMock).toHaveBeenCalledTimes(2) }) test('initMaps only applies when there are location components on the page', () => { From ee85669d68bc5e4163adcc2af4cb454a499b641d Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 16 Jan 2026 13:11:42 +0000 Subject: [PATCH 36/52] Add OS grid reference to the location map --- src/client/javascripts/location-map.js | 160 +++++++++++++++++- .../views/components/osgridreffield.html | 6 +- 2 files changed, 161 insertions(+), 5 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 9c2c9bbc6..95b0dc27d 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -28,6 +28,31 @@ function eastingNorthingToLatLong({ easting, northing }) { return { lat: latLong.latitude, long: latLong.longitude } } +/** + * Converts lat long to an ordnance survey grid reference + * @param {object} param + * @param {number} param.lat + * @param {number} param.long + * @returns {string} + */ +function latLongToOsGridRef({ lat, long }) { + const point = new LatLon(lat, long) + + return point.toOsGrid().toString() +} + +/** + * Converts an ordnance survey grid reference to lat long + * @param {string} osGridRef + * @returns {{ lat: number, long: number }} + */ +function osGridRefToLatLong(osGridRef) { + const point = OsGridRef.parse(osGridRef) + const latLong = point.toLatLon() + + return { lat: latLong.latitude, long: latLong.longitude } +} + // Center of UK const DEFAULT_LAT = 53.825564 const DEFAULT_LONG = -2.421975 @@ -145,7 +170,11 @@ function processLocation(config, location, index) { const locationType = location.dataset.locationtype // Check for support - const supportedLocations = ['latlongfield', 'eastingnorthingfield'] + const supportedLocations = [ + 'latlongfield', + 'eastingnorthingfield', + 'osgridreffield' + ] if (!locationType || !supportedLocations.includes(locationType)) { return } @@ -177,6 +206,9 @@ function processLocation(config, location, index) { case 'eastingnorthingfield': bindEastingNorthingField(location, map, e.map) break + case 'osgridreffield': + bindOsGridRefField(location, map, e.map) + break default: throw new Error('Not implemented') } @@ -302,6 +334,8 @@ function getInitMapConfig(locationField) { return getInitLatLongMapConfig(locationField) case 'eastingnorthingfield': return getInitEastingNorthingMapConfig(locationField) + case 'osgridreffield': + return getInitOsGridRefMapConfig(locationField) default: throw new Error('Not implemented') } @@ -366,7 +400,29 @@ function validateEastingNorthing(strEasting, strNorthing) { } /** - * Gets initial map config for a latlong location field + * Validates OS grid reference is correct + * @param {string} osGridRef - the OsGridRef + * @returns {{ valid: false } | { valid: true, value: string }} + */ +function validateOsGridRef(osGridRef) { + if (!osGridRef) { + return { valid: false } + } + + const pattern = + /^((([sS]|[nN])[a-hA-Hj-zJ-Z])|(([tT]|[oO])[abfglmqrvwABFGLMQRVW])|([hH][l-zL-Z])|([jJ][lmqrvwLMQRVW]))\s?(([0-9]{3})\s?([0-9]{3})|([0-9]{4})\s?([0-9]{4})|([0-9]{5})\s?([0-9]{5}))$/ + + const match = pattern.exec(osGridRef) + + if (match === null) { + return { valid: false } + } + + return { valid: true, value: match[0] } +} + +/** + * Gets the inputs for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element */ function getLatLongInputs(locationField) { @@ -383,7 +439,7 @@ function getLatLongInputs(locationField) { } /** - * Gets initial map config for a easting/northing location field + * Gets the inputs for a easting/northing location field * @param {HTMLDivElement} locationField - the eastingnorthing location field element */ function getEastingNorthingInputs(locationField) { @@ -399,6 +455,20 @@ function getEastingNorthingInputs(locationField) { return { eastingInput, northingInput } } +/** + * Gets the input for a OS grid reference location field + * @param {HTMLDivElement} locationField - the osgridref location field element + */ +function getOsGridRefInput(locationField) { + const input = locationField.querySelector('input.govuk-input') + + if (input === null) { + throw new Error('Expected 1 input for osgridref') + } + + return /** @type {HTMLInputElement} */ (input) +} + /** * Gets initial map config for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element @@ -461,6 +531,36 @@ function getInitEastingNorthingMapConfig(locationField) { } } +/** + * Gets initial map config for an OS grid reference location field + * @param {HTMLDivElement} locationField - the osgridref location field element + * @returns {DefraMapInitConfig | undefined} + */ +function getInitOsGridRefMapConfig(locationField) { + const osGridRefInput = getOsGridRefInput(locationField) + const result = validateOsGridRef(osGridRefInput.value) + + if (!result.valid) { + return undefined + } + + const latlong = osGridRefToLatLong(result.value) + + /** @type {MapCenter} */ + const center = [latlong.long, latlong.lat] + + return { + zoom: '16', + center, + markers: [ + { + id: 'location', + coords: center + } + ] + } +} + /** * Bind a latlong field to the map * @param {HTMLDivElement} locationField - the latlong location field @@ -572,6 +672,60 @@ function bindEastingNorthingField(locationField, map, mapProvider) { northingInput.addEventListener('change', onUpdateInputs, false) } +/** + * Bind an OS grid reference field to the map + * @param {HTMLDivElement} locationField - the osgridref location field + * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) + */ +function bindOsGridRefField(locationField, map, mapProvider) { + const osGridRefInput = getOsGridRefInput(locationField) + + map.on( + 'interact:markerchange', + /** + * Callback function which fires when the map marker changes + * @param {object} e - the event + * @param {[number, number]} e.coords - the map marker coordinates + */ + function onInteractMarkerChange(e) { + const point = latLongToOsGridRef({ + lat: e.coords[1], + long: e.coords[0] + }) + + osGridRefInput.value = point + } + ) + + /** + * OS grid reference input change event listener + * Update the map view location when the input is changed + */ + function onUpdateInput() { + const result = validateOsGridRef(osGridRefInput.value) + + if (result.valid) { + const latlong = osGridRefToLatLong(result.value) + + /** @type {MapCenter} */ + const center = [latlong.long, latlong.lat] + + // Move the 'location' marker to the new point + map.addMarker('location', center) + + // Pan & zoom the map to the new valid location + mapProvider.flyTo({ + center, + zoom: 14, + essential: true + }) + } + } + + osGridRefInput.addEventListener('change', onUpdateInput, false) +} + /** * @typedef {object} DefraMap - an instance of a DefraMap * @property {Function} on - register callback listeners to map events diff --git a/src/server/plugins/engine/views/components/osgridreffield.html b/src/server/plugins/engine/views/components/osgridreffield.html index 1a2162cd5..3f1ff7203 100644 --- a/src/server/plugins/engine/views/components/osgridreffield.html +++ b/src/server/plugins/engine/views/components/osgridreffield.html @@ -3,8 +3,10 @@ {% macro OsGridRefField(component) %} {% set hasErrors = component.model.errorMessage %} -
- {{ TextField(component) }} +
+
+ {{ TextField(component) }} +
{% if component.model.instructionText %} {{ govukDetails({ From 7d8b096c4d59de97d08d4c5eb9a797722f1d9ad3 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 16 Jan 2026 13:31:55 +0000 Subject: [PATCH 37/52] Add OS grid reference to the location map tests --- test/client/javascripts/location-map.test.js | 139 +++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 00bb8e0b3..a82f3714b 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -373,6 +373,145 @@ describe('Location Maps Client JS', () => { }) }) + describe('OS grid reference component', () => { + beforeEach(() => { + document.body.innerHTML = ` +
+
+
+
+

+ +

+
+ An OS grid reference number is made up of 2 letters followed by either 6, 8 or 10 numbers, for example, TQ123456 +
+ +
+
+
+
+ +
+
+ ` + }) + + describe('Map initialisation', () => { + test('initMaps os grid reference initializes without errors when DOM elements are present', () => { + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith( + 'map:ready', + expect.any(Function) + ) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) + + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) + + const input = document.body.querySelector('input.govuk-input') + expect(input).toBeDefined() + + const osGridRefInput = /** @type {HTMLInputElement} */ (input) + + osGridRefInput.value = 'SJ 61831 71507' + osGridRefInput.dispatchEvent(new window.Event('change')) + + // Expect it to update once + expect(addMarkerMock).toHaveBeenCalledTimes(1) + expect(flyToMock).toHaveBeenCalledTimes(1) + + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + const onInteractMarkerChange = onMock.mock.calls[1][1] + expect(typeof onInteractMarkerChange).toBe('function') + onInteractMarkerChange({ + coords: [-2.147823, 54.155676] + }) + }) + + test('initMaps with initial values', () => { + const input = document.body.querySelector('input.govuk-input') + expect(input).toBeDefined() + + const osGridRefInput = /** @type {HTMLInputElement} */ (input) + + // Set some initial values prior to initMaps + osGridRefInput.value = 'SJ 61831 7150' + + expect(() => initMaps()).not.toThrow() + expect(onMock).toHaveBeenLastCalledWith( + 'map:ready', + expect.any(Function) + ) + + const onMapReady = onMock.mock.calls[0][1] + expect(typeof onMapReady).toBe('function') + + // Manually invoke onMapReady callback + const flyToMock = jest.fn() + onMapReady({ + map: { + flyTo: flyToMock + } + }) + + expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + + expect(onMock).toHaveBeenLastCalledWith( + 'interact:markerchange', + expect.any(Function) + ) + + osGridRefInput.value = 'SJ 61836 71440' + osGridRefInput.dispatchEvent(new window.Event('change')) + + // Expect it to update once as the field is valid + expect(addMarkerMock).toHaveBeenCalledTimes(1) + expect(flyToMock).toHaveBeenCalledTimes(1) + }) + + test('initMaps only applies when there are location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') + + // Remove any locations for the test + locations.forEach((location) => { + location.remove() + }) + + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() + }) + + test('initMaps only applies when there are supported location components on the page', () => { + const locations = document.querySelectorAll('.app-location-field') + + // Reset the location type of each component + locations.forEach((location) => { + location.setAttribute('data-locationtype', 'unknowntype') + }) + + expect(() => initMaps()).not.toThrow() + expect(onMock).not.toHaveBeenCalled() + }) + }) + }) + describe('Form submit event propagation', () => { beforeEach(() => { document.body.innerHTML = ` From 48f0cbaffa318d0eb171d5b0b5944abd59c7a2c5 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 16 Jan 2026 14:04:22 +0000 Subject: [PATCH 38/52] Sonar fixes (Define a constant instead of duplicating this literal) --- src/client/javascripts/location-map.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 95b0dc27d..df4f5e026 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -64,6 +64,7 @@ const defaultConfig = { } const COMPANY_SYMBOL_CODE = 169 +const LOCATION_FIELD_SELECTOR = 'input.govuk-input' const defaultData = { VTS_OUTDOOR_URL: @@ -426,7 +427,7 @@ function validateOsGridRef(osGridRef) { * @param {HTMLDivElement} locationField - the latlong location field element */ function getLatLongInputs(locationField) { - const inputs = locationField.querySelectorAll('input.govuk-input') + const inputs = locationField.querySelectorAll(LOCATION_FIELD_SELECTOR) if (inputs.length !== 2) { throw new Error('Expected 2 inputs for lat and long') @@ -443,7 +444,7 @@ function getLatLongInputs(locationField) { * @param {HTMLDivElement} locationField - the eastingnorthing location field element */ function getEastingNorthingInputs(locationField) { - const inputs = locationField.querySelectorAll('input.govuk-input') + const inputs = locationField.querySelectorAll(LOCATION_FIELD_SELECTOR) if (inputs.length !== 2) { throw new Error('Expected 2 inputs for easting and northing') @@ -460,7 +461,7 @@ function getEastingNorthingInputs(locationField) { * @param {HTMLDivElement} locationField - the osgridref location field element */ function getOsGridRefInput(locationField) { - const input = locationField.querySelector('input.govuk-input') + const input = locationField.querySelector(LOCATION_FIELD_SELECTOR) if (input === null) { throw new Error('Expected 1 input for osgridref') From 92aeb4cd3b3011dc52078cf7262bc6fc37131993 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 16 Jan 2026 14:09:35 +0000 Subject: [PATCH 39/52] Sonar fixes (Define a constant instead of duplicating this literal) --- src/client/javascripts/location-map.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index df4f5e026..4548de65d 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -65,6 +65,9 @@ const defaultConfig = { const COMPANY_SYMBOL_CODE = 169 const LOCATION_FIELD_SELECTOR = 'input.govuk-input' +const EVENTS = { + interactMarkerChange: 'interact:markerchange' +} const defaultData = { VTS_OUTDOOR_URL: @@ -572,7 +575,7 @@ function bindLatLongField(locationField, map, mapProvider) { const { latInput, longInput } = getLatLongInputs(locationField) map.on( - 'interact:markerchange', + EVENTS.interactMarkerChange, /** * Callback function which fires when the map marker changes * @param {object} e - the event @@ -623,7 +626,7 @@ function bindEastingNorthingField(locationField, map, mapProvider) { getEastingNorthingInputs(locationField) map.on( - 'interact:markerchange', + EVENTS.interactMarkerChange, /** * Callback function which fires when the map marker changes * @param {object} e - the event @@ -683,7 +686,7 @@ function bindOsGridRefField(locationField, map, mapProvider) { const osGridRefInput = getOsGridRefInput(locationField) map.on( - 'interact:markerchange', + EVENTS.interactMarkerChange, /** * Callback function which fires when the map marker changes * @param {object} e - the event From 09da972e3d766c7ad5b09ade0691012438fae176 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 19 Jan 2026 15:54:57 +0000 Subject: [PATCH 40/52] Revert "Delete map tile proxy routes (because there are other requests e.g. sprites)" This reverts commit 9bae11af900e05c195a1cd2b30d23a1315665ba3. --- src/server/plugins/map/routes/index.js | 21 +- .../vts/OS_VTS_3857_Black_and_White.json | 7858 +++++++++++++++++ .../map/routes/vts/OS_VTS_3857_Dark.json | 7669 ++++++++++++++++ .../map/routes/vts/OS_VTS_3857_Outdoor.json | 7653 ++++++++++++++++ src/server/plugins/map/routes/vts/README.md | 5 + 5 files changed, 23205 insertions(+), 1 deletion(-) create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json create mode 100644 src/server/plugins/map/routes/vts/README.md diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js index 6287755f5..6f5adaa2e 100644 --- a/src/server/plugins/map/routes/index.js +++ b/src/server/plugins/map/routes/index.js @@ -1,3 +1,5 @@ +import { resolve } from 'node:path' + import Joi from 'joi' import { find, nearest } from '~/src/server/plugins/map/service.js' @@ -11,7 +13,8 @@ export function getRoutes(options) { return [ mapProxyRoute(options), geocodeProxyRoute(options), - reverseGeocodeProxyRoute(options) + reverseGeocodeProxyRoute(options), + ...tileRoutes() ] } @@ -121,6 +124,22 @@ function reverseGeocodeProxyRoute(options) { } } +function tileRoutes() { + return [ + { + method: 'GET', + path: '/api/maps/vts/{path}', + options: { + handler: { + directory: { + path: resolve(import.meta.dirname, './vts') + } + } + } + } + ] +} + /** * @import { ServerRoute } from '@hapi/hapi' * @import { MapConfiguration, MapProxyGetRequestRefs, MapGeocodeGetRequestRefs, MapReverseGeocodeGetRequestRefs } from '~/src/server/plugins/map/types.js' diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json new file mode 100644 index 000000000..b89760cde --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857_Black_and_White.json @@ -0,0 +1,7858 @@ +{ + "version": 8, + "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/greyscale", + "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "url": "https://api.os.uk/maps/vector/v1/vts" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(254,254,254)" + } + }, + { + "id": "Background", + "type": "fill", + "source": "esri", + "source-layer": "Background", + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [9, "rgb(220,220,220)"], + [11, "rgb(230,230,230)"], + [12, "rgb(240,240,240)"], + [14, "rgb(255,255,255)"] + ] + } + } + }, + { + "id": "European_land/2", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "minzoom": 8, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-outline-color": "rgb(0,0,0)" + } + }, + { + "id": "European_land/1", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "maxzoom": 8, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land/3", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "minzoom": 8, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land/2", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "minzoom": 7, + "maxzoom": 8, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land/1", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "minzoom": 5, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/GB_land", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "maxzoom": 5, + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/National_parks/2", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 8, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [8, "rgb(245,245,245)"], + [10, "rgb(255,255,255)"] + ] + }, + "fill-opacity": 0.5 + } + }, + { + "id": "OS/National_parks/1", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 7, + "maxzoom": 8, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [5, "rgb(230,230,230)"], + [8, "rgb(245,245,245)"] + ] + }, + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Urban_areas/National/2", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "minzoom": 7, + "maxzoom": 9, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)" + } + }, + { + "id": "OS/Urban_areas/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(235,235,235)" + } + }, + { + "id": "OS/Urban_areas/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "minzoom": 9, + "maxzoom": 12, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(235,235,235)" + } + }, + { + "id": "OS/Functional_sites/Air Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Education/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0 + } + }, + { + "id": "OS/Functional_sites/Medical Care/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Road Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "fill-color": "rgb(240,240,240)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Water Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": {}, + "paint": { + "fill-color": "rgb(245,245,245)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Greenspace:2/1", + "type": "fill", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(235,235,235)" + } + }, + { + "id": "OS/Greenspace:2/0", + "type": "line", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(226,226,226)", + "line-width": { + "stops": [ + [10, 0], + [11, 0], + [12, 0], + [13, 0], + [14, 0.1], + [15, 0.15], + [16, 0.25] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Unclassified", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 48], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 47], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Tidal Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 46], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 45], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Glasshouse", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 44], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 42], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 43], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 41], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Path", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 40], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Inland Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 39], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 38], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 37], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Road Or Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 36], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 34], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 35], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Foreshore", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 30], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/3" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/1" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 29], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/0" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 28], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Shingle", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 27], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 28], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Marsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Mud", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 26], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Sand", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 25], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 24], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Heath/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 23], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 24], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Heath/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 23], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Heath/0" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 22], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 22], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" + } + }, + { + "id": "OS/TopographicArea_1/Scree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 21], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Scree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 21], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scree/0" + } + }, + { + "id": "OS/TopographicArea_1/Rock/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 20], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rock/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 20], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rock/0" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Boulders/0" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/3" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/2" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/1" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/0" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 17], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 17], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 16], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Agricultural Land", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 16], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Orchard/0" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 14], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 14], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 13], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 13], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 12], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Footbridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 15, + "filter": ["==", "_symbol", 12], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" + } + }, + { + "id": "OS/TopographicArea_1/Canal", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Step", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Pylon", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Traffic Calming", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Level Crossing", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Multi Surface", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_1/Cliff", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 32], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Cliff" + } + }, + { + "id": "OS/TopographicArea_1/Slope", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 31], + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Slope" + } + }, + { + "id": "OS/Woodland:3/Local/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [12, "rgb(248,248,248)"], + [15, "rgb(250,250,250)"] + ] + }, + "fill-outline-color": { + "stops": [ + [12, "rgb(250,250,250)"], + [15, "rgb(230,230,230)"] + ] + } + } + }, + { + "id": "OS/Woodland:3/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "minzoom": 6, + "maxzoom": 10, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(245,245,245)" + } + }, + { + "id": "OS/Woodland:3/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "minzoom": 10, + "maxzoom": 12, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(245,245,245)" + } + }, + { + "id": "OS/District_buildings/2", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 11, + "maxzoom": 13, + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [6, "rgb(220,220,220)"], + [12, "rgb(225,225,225)"] + ] + } + } + }, + { + "id": "OS/District_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 13, + "maxzoom": 14, + "layout": {}, + "paint": { + "fill-color": "rgb(230,230,230)" + } + }, + { + "id": "OS/Local_buildings/3", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 15, + "maxzoom": 16, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": { + "stops": [ + [15, "rgb(250,250,250)"], + [16, "rgb(255,255,255)"] + ] + }, + "fill-outline-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/Local_buildings/2.5", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 14, + "maxzoom": 15, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "rgb(245,245,245)", + "fill-outline-color": "rgb(180,180,180)" + } + }, + { + "id": "OS/Local_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 13, + "maxzoom": 14, + "layout": {}, + "paint": { + "fill-color": "rgb(230,230,230)" + } + }, + { + "id": "OS/Contours/Index", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": { + "stops": [ + [7, 0.1], + [8, 0.13], + [9, 0.2], + [10, 0.3], + [11, 0.4], + [12, 0.6], + [13, 0.8], + [14, 1], + [15, 1], + [16, 1.1] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Contours/Normal", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": { + "stops": [ + [12, 0.3], + [13, 0.4], + [14, 0.5], + [15, 0.5], + [16, 0.7] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Surfacewater/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "minzoom": 6, + "maxzoom": 8, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(220,220,220)" + } + }, + { + "id": "OS/Surfacewater/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "minzoom": 8, + "maxzoom": 12, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [9, "rgb(220,220,220)"], + [11, "rgb(230,230,230)"], + [12, "rgb(240,240,240)"] + ] + } + } + }, + { + "id": "OS/Surfacewater/Local", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": { + "stops": [ + [12, "rgb(240,240,240)"], + [14, "rgb(255,255,255)"] + ] + }, + "fill-outline-color": "rgba(0,0,0,0.5)" + } + }, + { + "id": "OS/Foreshore/1", + "type": "fill", + "source": "esri", + "source-layer": "Foreshore", + "minzoom": 8, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(252,252,252)" + } + }, + { + "id": "OS/Ornament/1", + "type": "fill", + "source": "esri", + "source-layer": "Ornament", + "minzoom": 14, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(150,150,150)", + "fill-opacity": 0.4 + } + }, + { + "id": "OS/TopographicLine/Property Closing Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [6, 6], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.5] + ] + } + } + }, + { + "id": "OS/TopographicArea_2/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicArea_2/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "minzoom": 15, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicLine/Step", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 0.4], + [17, 0.4], + [18, 0.8], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean High Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 0.8], + [17, 0.9], + [18, 1.3], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Traffic Calming", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Standard Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.8], + [18, 1.2], + [19, 2.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean Low Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.6] + ] + } + } + }, + { + "id": "OS/TopographicLine/Path", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Overhead Construction", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Culvert", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Pylon", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 1], + [18, 1.8], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Ridge Or Rock Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 1.3], + [18, 2], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Narrow Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Railway Buffer", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 12], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Tunnel Edge", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 13], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2.5, 2.5], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Line Of Posts", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 14], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Drain", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "minzoom": 16, + "filter": ["==", "_symbol", 33], + "layout": {}, + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "id": "OS/TopographicLine/Default Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 16], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [16, 0.3], + [18, 0.7], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Outline", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 17], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Edge Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Road Or Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Division", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 20], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Inland water Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 21], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/General Surface Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 22], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [2, 2], + "line-width": 0.6 + } + }, + { + "id": "OS/TopographicLine/Building Overhead Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 23], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 24], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Historic Interest Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 25], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Manmade Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 26], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Unclassified", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "minzoom": 16, + "filter": ["==", "_symbol", 27], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [17, 0.4], + [18, 1], + [19, 1.5] + ] + } + } + }, + { + "id": "OS/Waterlines/District", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_symbol", 0], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(207,207,207)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Local", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(200,200,200)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/MHW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/MHW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "maxzoom": 12, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/MLW-2", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5, + "line-opacity": 0.8 + } + }, + { + "id": "OS/Waterlines/MLW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": 0.5, + "line-opacity": 0.4 + } + }, + { + "id": "OS/Waterlines/MLW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 9, + "maxzoom": 10, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgba(144, 144, 144, 1)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/National", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(207,207,207)", + "line-width": 0.4 + } + }, + { + "id": "OS/Waterlines/Regional", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "minzoom": 8, + "maxzoom": 11, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(207,207,207)", + "line-width": 0.6 + } + }, + { + "id": "OS/Roads/Tunnels,", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 19], + "layout": {}, + "paint": { + "line-color": "rgb(146,146,146)", + "line-dasharray": [4, 2.5], + "line-width": { + "stops": [ + [9, 0.7], + [12, 0.8], + [14, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 9, + "filter": ["==", "_symbol", 6], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(160,160,160)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/Motorway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10], + [16, 14] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 0], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/Primary,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 3], + [9, 3.5], + [10, 4], + [12, 5], + [13, 5], + [14, 6], + [15, 8.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(160,160,160)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/A Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.2], + [13, 5], + [14, 5.3], + [15, 7.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3], + [12, 3.5], + [13, 4.5], + [14, 5], + [15, 7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [9, 2], + [10, 2.5], + [12, 3], + [13, 4], + [14, 5], + [15, 6], + [16, 8] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 13], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [13, 3], + [14, 3], + [15, 5], + [16, 6.5] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 14, + "maxzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [13, 3], + [14, 3.5], + [15, 4], + [16, 5] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 17], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(197,197,197)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 6], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 8], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 10], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 13], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 14, + "maxzoom": 16, + "filter": ["==", "_symbol", 15], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 17], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgba(255, 255, 255, 1)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-join": "bevel" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10], + [16, 14] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(150,150,150)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/Primary,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 3], + [9, 3.5], + [10, 4], + [12, 5], + [13, 5], + [14, 6], + [15, 8.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(200,200,200)", + "line-width": 1 + } + }, + { + "id": "OS/Roads/A Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.5], + [13, 5], + [14, 5.3], + [15, 7.5], + [16, 11] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 8, + "filter": ["==", "_symbol", 7], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(200,200,200)", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/B Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3], + [12, 3.5], + [13, 4.5], + [14, 5], + [15, 7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [9, 2], + [10, 2.5], + [12, 3], + [13, 4], + [14, 5], + [15, 6], + [16, 8] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 14], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(205,205,205)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 16], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(205,205,205)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(197,197,197)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 7], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 9], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 11], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 14], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 16], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_symbol", 18], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10], + [16, 14] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 7, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(149,149,149)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(147,147,147)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 5, + "maxzoom": 8, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(176,176,176)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 12], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(197,197,197)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 7, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 8, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(176,176,176)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "minzoom": 10, + "maxzoom": 16, + "filter": ["==", "_symbol", 12], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(254,254,254)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.1], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Railways/Multi Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [9, 0.5], + [10, 0.7], + [11, 0.7], + [12, 0.8], + [13, 1], + [14, 1], + [15, 1.5], + [16, 1.3] + ] + } + } + }, + { + "id": "OS/Railways/Narrow Gauge", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(146,146,146)", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.4], + [15, 0.5], + [16, 0.5] + ] + } + } + }, + { + "id": "OS/Railways/Single Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-width": { + "stops": [ + [10, 0.5], + [11, 0.5], + [12, 0.7], + [13, 0.8], + [14, 0.8], + [15, 0.8], + [16, 1] + ] + } + } + }, + { + "id": "OS/Railways/Tunnel", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "minzoom": 9, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": {}, + "paint": { + "line-color": "rgb(146,146,146)", + "line-dasharray": [4, 2], + "line-width": { + "stops": [ + [10, 1], + [11, 1], + [12, 1], + [13, 1], + [14, 1], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/ETL", + "type": "line", + "source": "esri", + "source-layer": "ETL", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(0,0,0)", + "line-dasharray": [3, 2], + "line-width": { + "stops": [ + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "line-opacity": 0.5 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 1], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_symbol", 1], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 2], + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "icon-size": { + "stops": [ + [12, 0.7], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 3], + "layout": { + "icon-image": "OS/Railway_stations/London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 16, + "filter": ["==", "_symbol", 4], + "layout": { + "icon-image": "OS/Railway_stations/Railway Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_symbol", 5], + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.8], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_symbol", 5], + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Airports", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 8, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Airports", + "icon-size": { + "stops": [ + [9, 0.85], + [10, 0.85], + [11, 0.85], + [12, 0.85], + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicPoint/Spot Height", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 16, + "filter": ["==", "_symbol", 0], + "layout": { + "icon-image": "OS/TopographicPoint/Spot Height", + "icon-size": { + "stops": [ + [17, 0.6], + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(119,119,119)" + } + }, + { + "id": "OS/TopographicPoint/Site Of Heritage", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 1], + "layout": { + "icon-image": "OS/TopographicPoint/Site Of Heritage", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 2], + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(81,81,81)" + } + }, + { + "id": "OS/TopographicPoint/Inland Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 3], + "layout": { + "icon-image": "OS/TopographicPoint/Inland Water", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Roadside", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 4], + "layout": { + "icon-image": "OS/TopographicPoint/Roadside", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/TopographicPoint/Overhead Construction", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 5], + "layout": { + "icon-image": "OS/TopographicPoint/Overhead Construction", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/TopographicPoint/Rail", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 6], + "layout": { + "icon-image": "OS/TopographicPoint/Rail", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Coniferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 7], + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(81,81,81)" + } + }, + { + "id": "OS/TopographicPoint/Triangulation Point Or Pillar", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 8], + "layout": { + "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", + "icon-size": { + "stops": [ + [18, 1.25], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/TopographicPoint/Historic Interest", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 9], + "layout": { + "icon-image": "OS/TopographicPoint/Historic Interest", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Landform", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 10], + "layout": { + "icon-image": "OS/TopographicPoint/Landform", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgba(240,240,240,0)" + } + }, + { + "id": "OS/TopographicPoint/Tidal Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 11], + "layout": { + "icon-image": "OS/TopographicPoint/Tidal Water", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/TopographicPoint/Structure", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "minzoom": 17, + "filter": ["==", "_symbol", 12], + "layout": { + "icon-image": "OS/TopographicPoint/Structure", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/CartographicSymbol/Culvert Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "minzoom": 17, + "filter": ["==", "_symbol", 0], + "layout": { + "icon-image": "OS/CartographicSymbol/Culvert Symbol", + "icon-size": { + "stops": [ + [18, 1.6], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(125,125,125)" + } + }, + { + "id": "OS/CartographicSymbol/Bench Mark Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "minzoom": 17, + "filter": ["==", "_symbol", 2], + "layout": { + "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/CartographicSymbol/Road Related Flow Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "minzoom": 17, + "filter": ["==", "_symbol", 3], + "layout": { + "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", + "icon-size": { + "stops": [ + [18, 1.1], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(82,82,82)" + } + }, + { + "id": "OS/Names/National/Capital:1", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Capital:1", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)" + } + }, + { + "id": "OS/Names/National/Country", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Country", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class79", 79], + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "center", + "text-offset": [0.107527, 0], + "text-rotate": ["get", "_label_angle79"], + "text-letter-spacing": 0.05, + "text-field": "{_name79}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class64", 64], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-letter-spacing": 0.05, + "text-field": "{_name64}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class74", 74], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle74"], + "text-letter-spacing": 0.05, + "text-field": "{_name74}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class97", 97], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle97"], + "text-letter-spacing": 0.05, + "text-field": "{_name97}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class87", 87], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle87"], + "text-letter-spacing": 0.05, + "text-field": "{_name87}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class72", 72], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle72"], + "text-letter-spacing": 0.05, + "text-field": "{_name72}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class73", 73], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle73"], + "text-letter-spacing": 0.05, + "text-field": "{_name73}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class61", 61], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-letter-spacing": 0.05, + "text-field": "{_name61}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class99", 99], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle99"], + "text-letter-spacing": 0.05, + "text-field": "{_name99}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class96", 96], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle96"], + "text-letter-spacing": 0.05, + "text-field": "{_name96}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class95", 95], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle95"], + "text-letter-spacing": 0.05, + "text-field": "{_name95}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class89", 89], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle89"], + "text-letter-spacing": 0.05, + "text-field": "{_name89}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class86", 86], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle86"], + "text-letter-spacing": 0.05, + "text-field": "{_name86}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class85", 85], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle85"], + "text-letter-spacing": 0.05, + "text-field": "{_name85}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class76", 76], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle76"], + "text-letter-spacing": 0.05, + "text-field": "{_name76}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class66", 66], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-letter-spacing": 0.05, + "text-field": "{_name66}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class53", 53], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0952381, 0], + "text-rotate": ["get", "_label_angle53"], + "text-letter-spacing": 0.05, + "text-field": "{_name53}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class54", 54], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle54"], + "text-letter-spacing": 0.05, + "text-field": "{_name54}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class100", 100], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle100"], + "text-letter-spacing": 0.05, + "text-field": "{_name100}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class90", 90], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle90"], + "text-letter-spacing": 0.05, + "text-field": "{_name90}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class77", 77], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle77"], + "text-letter-spacing": 0.05, + "text-field": "{_name77}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class67", 67], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-letter-spacing": 0.05, + "text-field": "{_name67}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class55", 55], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle55"], + "text-letter-spacing": 0.05, + "text-field": "{_name55}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class78", 78], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle78"], + "text-letter-spacing": 0.05, + "text-field": "{_name78}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class68", 68], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-letter-spacing": 0.05, + "text-field": "{_name68}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class56", 56], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle56"], + "text-letter-spacing": 0.05, + "text-field": "{_name56}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class101", 101], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle101"], + "text-letter-spacing": 0.05, + "text-field": "{_name101}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class91", 91], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle91"], + "text-letter-spacing": 0.05, + "text-field": "{_name91}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class69", 69], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle69"], + "text-letter-spacing": 0.05, + "text-field": "{_name69}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class57", 57], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle57"], + "text-letter-spacing": 0.05, + "text-field": "{_name57}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class92", 92], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle92"], + "text-letter-spacing": 0.05, + "text-field": "{_name92}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-width": 1, + "text-halo-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class82", 82], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle82"], + "text-letter-spacing": 0.05, + "text-field": "{_name82}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class60", 60], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name60}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class58", 58], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle58"], + "text-letter-spacing": 0.05, + "text-field": "{_name58}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class75", 75], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle75"], + "text-letter-spacing": 0.05, + "text-field": "{_name75}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class98", 98], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle98"], + "text-letter-spacing": 0.05, + "text-field": "{_name98}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class88", 88], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle88"], + "text-letter-spacing": 0.05, + "text-field": "{_name88}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class59", 59], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle59"], + "text-letter-spacing": 0.05, + "text-field": "{_name59}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class65", 65], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-letter-spacing": 0.05, + "text-field": "{_name65}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class52", 52], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle52"]], + "text-letter-spacing": 0.05, + "text-field": "{_name52}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class50", 50], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle50"], + "text-letter-spacing": 0.05, + "text-field": "{_name50}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class40", 40], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle40"], + "text-letter-spacing": 0.05, + "text-field": "{_name40}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class43", 43], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle43"], + "text-letter-spacing": 0.05, + "text-field": "{_name43}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class44", 44], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle44"], + "text-letter-spacing": 0.05, + "text-field": "{_name44}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class45", 45], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle45"], + "text-letter-spacing": 0.05, + "text-field": "{_name45}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class46", 46], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle46"], + "text-letter-spacing": 0.05, + "text-field": "{_name46}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class47", 47], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle47"], + "text-letter-spacing": 0.05, + "text-field": "{_name47}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class48", 48], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle48"], + "text-letter-spacing": 0.05, + "text-field": "{_name48}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW(1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class49", 49], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle49"], + "text-letter-spacing": 0.05, + "text-field": "{_name49}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class51", 51], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle51"], + "text-letter-spacing": 0.05, + "text-field": "{_name51}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class42", 42], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle42"]], + "text-letter-spacing": 0.05, + "text-field": "{_name42}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class80", 80], + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle80"], + "text-letter-spacing": 0.05, + "text-field": "{_name80}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class94", 94], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle94"]], + "text-letter-spacing": 0.05, + "text-field": "{_name94}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class84", 84], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle84"]], + "text-letter-spacing": 0.05, + "text-field": "{_name84}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class93", 93], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle93"], + "text-letter-spacing": 0.05, + "text-field": "{_name93}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class83", 83], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle83"], + "text-letter-spacing": 0.05, + "text-field": "{_name83}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class71", 71], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle71"]], + "text-letter-spacing": 0.05, + "text-field": "{_name71}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class63", 63], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-letter-spacing": 0.05, + "text-field": "{_name63}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Height - East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class62", 62], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-letter-spacing": 0.05, + "text-field": "{_name62}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class41", 41], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle41"], + "text-letter-spacing": 0.05, + "text-field": "{_name41}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class70", 70], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle70"], + "text-letter-spacing": 0.05, + "text-field": "{_name70}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class81", 81], + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle81"]], + "text-letter-spacing": 0.05, + "text-field": "{_name81}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class32", 32], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle32"]], + "text-letter-spacing": 0.05, + "text-field": "{_name32}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class39", 39], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle39"], + "text-letter-spacing": 0.05, + "text-field": "{_name39}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class38", 38], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle38"], + "text-letter-spacing": 0.05, + "text-field": "{_name38}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class37", 37], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle37"], + "text-letter-spacing": 0.05, + "text-field": "{_name37}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class36", 36], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle36"], + "text-letter-spacing": 0.05, + "text-field": "{_name36}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class35", 35], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle35"], + "text-letter-spacing": 0.05, + "text-field": "{_name35}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class34", 34], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle34"], + "text-letter-spacing": 0.05, + "text-field": "{_name34}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class33", 33], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle33"], + "text-letter-spacing": 0.05, + "text-field": "{_name33}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class30", 30], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle30"], + "text-letter-spacing": 0.05, + "text-field": "{_name30}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class31", 31], + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle31"], + "text-letter-spacing": 0.05, + "text-field": "{_name31}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class20", 20], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle20"], + "text-letter-spacing": 0.05, + "text-field": "{_name20}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class21", 21], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle21"], + "text-letter-spacing": 0.05, + "text-field": "{_name21}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class22", 22], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle22"]], + "text-letter-spacing": 0.05, + "text-field": "{_name22}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class23", 23], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle23"], + "text-letter-spacing": 0.05, + "text-field": "{_name23}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class24", 24], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle24"], + "text-letter-spacing": 0.05, + "text-field": "{_name24}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class25", 25], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle25"], + "text-letter-spacing": 0.05, + "text-field": "{_name25}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class26", 26], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle26"], + "text-letter-spacing": 0.05, + "text-field": "{_name26}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class27", 27], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle27"], + "text-letter-spacing": 0.05, + "text-field": "{_name27}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class28", 28], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle28"], + "text-letter-spacing": 0.05, + "text-field": "{_name28}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "filter": ["==", "_label_class29", 29], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle29"], + "text-letter-spacing": 0.05, + "text-field": "{_name29}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class12", 12], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle12"]], + "text-letter-spacing": 0.05, + "text-field": "{_name12}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class2", 2], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle2"]], + "text-letter-spacing": 0.05, + "text-field": "{_name2}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class11", 11], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle11"], + "text-letter-spacing": 0.05, + "text-field": "{_name11}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle1"], + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class10", 10], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle10"], + "text-letter-spacing": 0.05, + "text-field": "{_name10}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle"], + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/CartographicText/label/General - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class17", 17], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle17"], + "text-letter-spacing": 0.05, + "text-field": "{_name17}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class7", 7], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle7"], + "text-letter-spacing": 0.05, + "text-field": "{_name7}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class19", 19], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle19"], + "text-letter-spacing": 0.05, + "text-field": "{_name19}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class9", 9], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle9"], + "text-letter-spacing": 0.05, + "text-field": "{_name9}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class18", 18], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle18"], + "text-letter-spacing": 0.05, + "text-field": "{_name18}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class8", 8], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle8"], + "text-letter-spacing": 0.05, + "text-field": "{_name8}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class16", 16], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle16"], + "text-letter-spacing": 0.05, + "text-field": "{_name16}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class6", 6], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle6"], + "text-letter-spacing": 0.05, + "text-field": "{_name6}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class15", 15], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle15"], + "text-letter-spacing": 0.05, + "text-field": "{_name15}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class5", 5], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle5"], + "text-letter-spacing": 0.05, + "text-field": "{_name5}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class14", 14], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle14"], + "text-letter-spacing": 0.05, + "text-field": "{_name14}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-width": 2, + "text-halo-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class4", 4], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle4"], + "text-letter-spacing": 0.05, + "text-field": "{_name4}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 16, + "maxzoom": 17, + "filter": ["==", "_label_class13", 13], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle13"], + "text-letter-spacing": 0.05, + "text-field": "{_name13}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "minzoom": 17, + "filter": ["==", "_label_class3", 3], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle3"], + "text-letter-spacing": 0.05, + "text-field": "{_name3}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/Roads/label/Local Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 14], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/Local Road 22400-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 13, + "filter": ["==", "_label_class", 15], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_label_class", 12], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/Minor Road 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 13, + "filter": ["==", "_label_class", 13], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Greenspace:1", + "type": "symbol", + "source": "esri", + "source-layer": "Greenspace:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Greenspace:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(0,0,0,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Sites", + "type": "symbol", + "source": "esri", + "source-layer": "Sites", + "minzoom": 14, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Sites", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landform:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landform:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landform:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landform:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landcover:3", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landcover:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landcover:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landcover:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Water:2", + "type": "symbol", + "source": "esri", + "source-layer": "Water:2", + "minzoom": 12, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Water:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(80,80,80)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Water:1", + "type": "symbol", + "source": "esri", + "source-layer": "Water:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Water:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(30,30,30)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Woodland:2", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:2", + "minzoom": 12, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Woodland:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(50,50,50)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Woodland:1", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Woodland:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgb(53,53,53)", + "text-color": "rgb(53,53,53)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road 2800-11200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 14, + "maxzoom": 16, + "filter": ["==", "_label_class", 7], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(254,254,254)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 11200-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 14, + "filter": ["==", "_label_class", 8], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(254,254,254)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 22400-358400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class", 9], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(254,254,254)", + "text-halo-width": 1.6 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 10], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 14, + "filter": ["==", "_label_class", 11], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 11, + "maxzoom": 13, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.0333333], + "stops": [ + [0, [0, 0.631292]], + [1, [0, 0.359493]], + [2, [0, 0.609832]], + [3, [0, 0.629975]], + [4, [0, 0.625794]], + [5, [0, 0.410354]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(249,249,249)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.1], + "stops": [ + [0, [0, 0.638163]], + [1, [0, 0.393543]], + [2, [0, 0.618849]], + [3, [0, 0.636977]], + [4, [0, 0.633215]], + [5, [0, 0.439319]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(249,249,249)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Small Settlement", + "type": "symbol", + "source": "esri", + "source-layer": "Small Settlement", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Small Settlement", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": { + "stops": [ + [10, 11], + [15, 12] + ] + }, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Hamlet (Local)", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet (Local)", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Hamlet (Local)", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Hamlet:2", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Hamlet:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Hamlet:1", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:1", + "minzoom": 11, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Hamlet:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Suburban Area:3", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:3", + "minzoom": 12, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Suburban Area:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Suburban Area:2", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:2", + "minzoom": 10, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Suburban Area:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "visibility": "none" + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Suburban Area:1", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:1", + "minzoom": 10, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/Regional/Suburban Area:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Landcover:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:1", + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Regional/Landcover:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 0.7 + } + }, + { + "id": "OS/Roads/label/Primary 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 3], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class", 4], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 179200-716800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 8, + "maxzoom": 10, + "filter": ["==", "_label_class", 5], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary Name 2800-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 12, + "maxzoom": 16, + "filter": ["==", "_label_class", 6], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Village:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Regional/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Village:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Roads/label/Motorway 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 0], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class", 1], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgba(255, 255, 255, 1)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 179200-2867200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "minzoom": 6, + "maxzoom": 10, + "filter": ["==", "_label_class", 2], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgba(255, 255, 255, 1)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 10, + "maxzoom": 13, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "top", + "text-offset": [0, 0.582306], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 13, + "maxzoom": 16, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-offset": [0, 0.688753], + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/National Park:3", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/National Park:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Local/Motorway Junctions", + "type": "symbol", + "source": "esri", + "source-layer": "Motorway Junctions", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Motorway Junctions", + "icon-allow-overlap": true, + "text-font": ["Arial Bold"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(35,35,35,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Local/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": { + "stops": [ + [10, 10], + [12, 13] + ] + }, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "visibility": "visible" + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Local/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 12, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "visibility": "visible" + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Local/Town:4", + "type": "symbol", + "source": "esri", + "source-layer": "Town:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Town:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Town:1", + "type": "symbol", + "source": "esri", + "source-layer": "Town:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Town:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.7, + "icon-halo-width": 2, + "icon-halo-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "OS/Names/Regional/Town:2", + "type": "symbol", + "source": "esri", + "source-layer": "Town:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Town:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Town:3", + "type": "symbol", + "source": "esri", + "source-layer": "Town:3", + "minzoom": 8, + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Town:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": { + "stops": [ + [8, 11], + [9, 12] + ] + }, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/National Park:2", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/National Park:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/National Park:1", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:1", + "minzoom": 7, + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/National Park:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/City:3", + "type": "symbol", + "source": "esri", + "source-layer": "City:3", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Local/City:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/City:4", + "type": "symbol", + "source": "esri", + "source-layer": "City:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/District/City:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 19, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Regional/City:1", + "type": "symbol", + "source": "esri", + "source-layer": "City:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/Regional/City:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro regular"], + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-size": 18 + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/City:2", + "type": "symbol", + "source": "esri", + "source-layer": "City:2", + "minzoom": 5, + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/City:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Capital:3", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Capital:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 24, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/Capital:4", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Capital:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 20, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Regional/Capital:2", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Capital:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(53,53,53,0)", + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "minzoom": 5, + "maxzoom": 9, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true, + "icon-allow-overlap": true + }, + "paint": { + "text-color": "rgb(0,0,0)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Country/label/Country National", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "minzoom": 5, + "maxzoom": 9, + "filter": ["==", "_label_class", 0], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 21, + "text-anchor": "center", + "text-letter-spacing": 0.75, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "icon-allow-overlap": true + }, + "paint": { + "text-color": "rgba(43,43,43,0.5)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 5, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.270711, 0.0292893], + "text-field": "{_name1}", + "text-optional": true, + "icon-allow-overlap": true + }, + "paint": { + "text-color": "rgb(0,0,0)" + } + }, + { + "id": "OS/Names/National/Country/label/Country National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 5, + "filter": ["==", "_label_class1", 1], + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-letter-spacing": 0.5, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(0,0,0,0.5)", + "text-halo-color": "rgb(255,255,255)", + "text-halo-width": 1.5 + } + } + ] +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json new file mode 100644 index 000000000..f2ae17e08 --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857_Dark.json @@ -0,0 +1,7669 @@ +{ + "version": 8, + "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/dark", + "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "url": "https://api.os.uk/maps/vector/v1/vts" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(1,1,1)" + } + }, + { + "id": "Background", + "type": "fill", + "source": "esri", + "source-layer": "Background", + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "European_land/1", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(6,6,6)" + } + }, + { + "id": "OS/GB_land/1", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/National_parks/1", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 5, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Urban_areas/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": {}, + "paint": { + "fill-color": "rgba(41,41,41,0.3)" + } + }, + { + "id": "OS/Urban_areas/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(41,41,41,0.7)" + } + }, + { + "id": "OS/Functional_sites/Air Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(26,26,26)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Education/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(21,21,21)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Medical Care/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(33,33,33)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Road Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(15,15,15)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Water Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 4], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(28,28,28)", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Greenspace:2/1", + "type": "fill", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(20,20,20)" + } + }, + { + "id": "OS/Greenspace:2/0", + "type": "line", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(29,29,29)", + "line-width": { + "stops": [ + [10, 0], + [11, 0], + [12, 0], + [13, 0], + [14, 0.1], + [15, 0.15], + [16, 0.25] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Unclassified", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 48], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(9,9,9)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 47], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(14,14,14)" + } + }, + { + "id": "OS/TopographicArea_1/Tidal Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 46], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Landform Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 45], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(20,20,20)" + } + }, + { + "id": "OS/TopographicArea_1/Glasshouse", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 44], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(8,8,8)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 42], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(30,30,30)" + } + }, + { + "id": "OS/TopographicArea_1/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 43], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(48,48,48)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 41], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(52,52,52)" + } + }, + { + "id": "OS/TopographicArea_1/Path", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 40], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicArea_1/Inland Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 39], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 38], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(14,14,14)" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 37], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(29,29,29)" + } + }, + { + "id": "OS/TopographicArea_1/Road Or Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 36], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 34], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(20,20,20)" + } + }, + { + "id": "OS/TopographicArea_1/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 35], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(14,14,14)" + } + }, + { + "id": "OS/TopographicArea_1/Foreshore", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 30], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(23,23,23)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/3" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/1" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/0" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(16,16,16)" + } + }, + { + "id": "OS/TopographicArea_1/Shingle", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Marsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Mud", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(27,27,27)" + } + }, + { + "id": "OS/TopographicArea_1/Sand", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(17,17,17)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(16,16,16)" + } + }, + { + "id": "OS/TopographicArea_1/Heath/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Heath/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Heath/0" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" + } + }, + { + "id": "OS/TopographicArea_1/Scree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Scree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scree/0" + } + }, + { + "id": "OS/TopographicArea_1/Rock/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Rock/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rock/0" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Boulders/0" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(22,22,22)" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/3" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/2" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/1" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/0" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Agricultural Land", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Orchard/0" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/TopographicArea_1/Footbridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(43,43,43)" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" + } + }, + { + "id": "OS/TopographicArea_1/Canal", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/TopographicArea_1/Step", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicArea_1/Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(36,36,36)" + } + }, + { + "id": "OS/TopographicArea_1/Pylon", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(24,24,24)" + } + }, + { + "id": "OS/TopographicArea_1/Traffic Calming", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 6], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Level Crossing", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(45,45,45)" + } + }, + { + "id": "OS/TopographicArea_1/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(76,76,76)" + } + }, + { + "id": "OS/TopographicArea_1/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(3,3,3)" + } + }, + { + "id": "OS/TopographicArea_1/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicArea_1/Multi Surface", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(18,18,18)" + } + }, + { + "id": "OS/TopographicArea_1/Cliff", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 32], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Cliff" + } + }, + { + "id": "OS/TopographicArea_1/Slope", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 31], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Slope" + } + }, + { + "id": "OS/Woodland:3/Local/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 0], + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/Woodland:3/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(32,32,32,0.6)" + } + }, + { + "id": "OS/Woodland:3/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 2], + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "rgb(32,32,32)" + } + }, + { + "id": "OS/District_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/Local_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/Contours/Index", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(136,136,136)", + "line-width": { + "stops": [ + [7, 0.1], + [8, 0.13], + [9, 0.4], + [10, 0.4], + [11, 0.53], + [12, 0.67], + [13, 0.8], + [14, 1], + [15, 1], + [16, 1.1] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Contours/Normal", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(136,136,136)", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.5], + [15, 0.5], + [16, 0.7] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Surfacewater/Local", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)", + "fill-outline-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/Surfacewater/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 1], + "minzoom": 6, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/Surfacewater/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "rgb(44,44,44)" + } + }, + { + "id": "OS/Foreshore/1", + "type": "fill", + "source": "esri", + "source-layer": "Foreshore", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(23,23,23)" + } + }, + { + "id": "OS/Ornament/1", + "type": "fill", + "source": "esri", + "source-layer": "Ornament", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(69,69,69)", + "fill-opacity": 0.6 + } + }, + { + "id": "OS/TopographicArea_2/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 5], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 4], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicArea_2/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 3], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 2], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 1], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(11,11,11)" + } + }, + { + "id": "OS/TopographicArea_2/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 0], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicLine/Property Closing Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [6, 6], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Step", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(78,78,78)", + "line-width": { + "stops": [ + [6, 0.4], + [17, 0.4], + [18, 0.8], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean High Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [6, 0.8], + [17, 0.9], + [18, 1.3], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Traffic Calming", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(64,64,64)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Standard Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [17, 0.8], + [18, 1.2], + [19, 2.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean Low Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.6] + ] + } + } + }, + { + "id": "OS/TopographicLine/Path", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(134,134,134)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Overhead Construction", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(78,78,78)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Culvert", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Pylon", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [17, 1], + [18, 1.8], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Ridge Or Rock Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(66,66,66)", + "line-width": { + "stops": [ + [17, 1.3], + [18, 2], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Narrow Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Railway Buffer", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 12], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Tunnel Edge", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 13], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-dasharray": [2.5, 2.5], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Line Of Posts", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 14], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(115,115,115)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Drain", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Default Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(134,134,134)", + "line-width": { + "stops": [ + [16, 0.4], + [18, 0.7], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 33], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "rgb(41,41,41)" + } + }, + { + "id": "OS/TopographicLine/Building Outline", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(76,76,76)", + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Edge Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 18], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Road Or Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(129,129,129)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Division", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(76,76,76)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Inland water Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(62,62,62)", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/General Surface Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [2, 2], + "line-width": 0.6 + } + }, + { + "id": "OS/TopographicLine/Building Overhead Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 23], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(134,134,134)", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 24], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(66,66,66)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Historic Interest Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(105,105,105)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Manmade Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(66,66,66)", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Unclassified", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(76,76,76)", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2] + ] + } + } + }, + { + "id": "OS/Waterlines/District", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.9 + } + }, + { + "id": "OS/Waterlines/Local", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Local_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/MHW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1.6 + } + }, + { + "id": "OS/Waterlines/MHW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 8, + "maxzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1.3 + } + }, + { + "id": "OS/Waterlines/MLW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.8 + } + }, + { + "id": "OS/Waterlines/MLW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/National", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 6, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.4 + } + }, + { + "id": "OS/Waterlines/Regional", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 7, + "maxzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Regional_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 6, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(48,48,48)", + "line-width": 0.5 + } + }, + { + "id": "OS/Roads/Tunnels,", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 19], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "rgb(109,109,109)", + "line-dasharray": [4, 2.5], + "line-width": { + "stops": [ + [9, 0.7], + [12, 0.8], + [14, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/Motorway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(108,108,108)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(99,99,99)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(100,100,100)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(108,108,108)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(100,100,100)", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/B Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(100,100,100)", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(50,50,50)", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(108,108,108)", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(58,58,58)", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(106,106,106)", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(79,79,79)", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(1,1,1)", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.1], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Railways/Multi Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [10, 1.4], + [11, 1.4], + [12, 1.4], + [13, 1.5], + [14, 1.5], + [15, 2], + [16, 1.3] + ] + } + } + }, + { + "id": "OS/Railways/Narrow Gauge", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.4], + [15, 0.5], + [16, 0.5] + ] + } + } + }, + { + "id": "OS/Railways/Single Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(109,109,109)", + "line-width": { + "stops": [ + [10, 1.2], + [11, 1.2], + [12, 1.2], + [13, 1.2], + [14, 1.2], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Railways/Tunnel", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "rgb(109,109,109)", + "line-dasharray": [4, 2], + "line-width": { + "stops": [ + [10, 1], + [11, 1], + [12, 1], + [13, 1], + [14, 1], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/ETL", + "type": "line", + "source": "esri", + "source-layer": "ETL", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "rgb(121,121,121)", + "line-dasharray": [6, 3], + "line-width": { + "stops": [ + [13, 1.3], + [14, 1.3], + [15, 2.2], + [16, 1.7] + ] + }, + "line-opacity": 0.5 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 2], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "icon-size": { + "stops": [ + [12, 0.7], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 3], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 4], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.8], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": { + "icon-opacity": 0.8 + } + }, + { + "id": "OS/Airports", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 8, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Airports", + "icon-size": { + "stops": [ + [9, 0.85], + [10, 0.85], + [11, 0.85], + [12, 0.85], + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgb(219,219,219)", + "icon-opacity": 0.8 + } + }, + { + "id": "OS/TopographicPoint/Spot Height", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "icon-image": "OS/TopographicPoint/Spot Height", + "icon-size": { + "stops": [ + [17, 0.6], + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/TopographicPoint/Site Of Heritage", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 1], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Site Of Heritage", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/TopographicPoint/Inland Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Inland Water", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Roadside", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 4], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Roadside", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/TopographicPoint/Overhead Construction", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 5], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Overhead Construction", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/TopographicPoint/Rail", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 6], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Rail", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Positioned Coniferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 7], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/TopographicPoint/Triangulation Point Or Pillar", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 8], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", + "icon-size": { + "stops": [ + [18, 1.25], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/TopographicPoint/Historic Interest", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 9], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Historic Interest", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Landform", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 10], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Landform", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgba(15,15,15,0)" + } + }, + { + "id": "OS/TopographicPoint/Tidal Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 11], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Tidal Water", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/TopographicPoint/Structure", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 12], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Structure", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicSymbol/Culvert Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 0], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Culvert Symbol", + "icon-size": { + "stops": [ + [18, 1.6], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicSymbol/Bench Mark Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicSymbol/Road Related Flow Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", + "icon-size": { + "stops": [ + [18, 1.1], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/Names/National/Capital:1", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Capital:1", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)" + } + }, + { + "id": "OS/Names/National/Country", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Country", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class79", 79], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "center", + "text-offset": [0.107527, 0], + "text-rotate": ["get", "_label_angle79"], + "text-letter-spacing": 0.05, + "text-field": "{_name79}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class64", 64], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-letter-spacing": 0.05, + "text-field": "{_name64}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class74", 74], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle74"], + "text-letter-spacing": 0.05, + "text-field": "{_name74}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class97", 97], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle97"], + "text-letter-spacing": 0.05, + "text-field": "{_name97}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class87", 87], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle87"], + "text-letter-spacing": 0.05, + "text-field": "{_name87}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class72", 72], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle72"], + "text-letter-spacing": 0.05, + "text-field": "{_name72}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class73", 73], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle73"], + "text-letter-spacing": 0.05, + "text-field": "{_name73}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class61", 61], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-letter-spacing": 0.05, + "text-field": "{_name61}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class99", 99], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle99"], + "text-letter-spacing": 0.05, + "text-field": "{_name99}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class96", 96], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle96"], + "text-letter-spacing": 0.05, + "text-field": "{_name96}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class95", 95], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle95"], + "text-letter-spacing": 0.05, + "text-field": "{_name95}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class89", 89], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle89"], + "text-letter-spacing": 0.05, + "text-field": "{_name89}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class86", 86], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle86"], + "text-letter-spacing": 0.05, + "text-field": "{_name86}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class85", 85], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle85"], + "text-letter-spacing": 0.05, + "text-field": "{_name85}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class76", 76], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle76"], + "text-letter-spacing": 0.05, + "text-field": "{_name76}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class66", 66], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-letter-spacing": 0.05, + "text-field": "{_name66}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class53", 53], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0952381, 0], + "text-rotate": ["get", "_label_angle53"], + "text-letter-spacing": 0.05, + "text-field": "{_name53}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class54", 54], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle54"], + "text-letter-spacing": 0.05, + "text-field": "{_name54}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class100", 100], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle100"], + "text-letter-spacing": 0.05, + "text-field": "{_name100}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class90", 90], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle90"], + "text-letter-spacing": 0.05, + "text-field": "{_name90}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class77", 77], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle77"], + "text-letter-spacing": 0.05, + "text-field": "{_name77}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class67", 67], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-letter-spacing": 0.05, + "text-field": "{_name67}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class55", 55], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle55"], + "text-letter-spacing": 0.05, + "text-field": "{_name55}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class78", 78], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle78"], + "text-letter-spacing": 0.05, + "text-field": "{_name78}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class68", 68], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-letter-spacing": 0.05, + "text-field": "{_name68}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class56", 56], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle56"], + "text-letter-spacing": 0.05, + "text-field": "{_name56}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class101", 101], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle101"], + "text-letter-spacing": 0.05, + "text-field": "{_name101}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class91", 91], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle91"], + "text-letter-spacing": 0.05, + "text-field": "{_name91}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class69", 69], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle69"], + "text-letter-spacing": 0.05, + "text-field": "{_name69}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class57", 57], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle57"], + "text-letter-spacing": 0.05, + "text-field": "{_name57}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class92", 92], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle92"], + "text-letter-spacing": 0.05, + "text-field": "{_name92}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class82", 82], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle82"], + "text-letter-spacing": 0.05, + "text-field": "{_name82}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Height - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class60", 60], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name60}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class58", 58], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle58"], + "text-letter-spacing": 0.05, + "text-field": "{_name58}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class75", 75], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle75"], + "text-letter-spacing": 0.05, + "text-field": "{_name75}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class98", 98], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle98"], + "text-letter-spacing": 0.05, + "text-field": "{_name98}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class88", 88], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle88"], + "text-letter-spacing": 0.05, + "text-field": "{_name88}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class59", 59], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle59"], + "text-letter-spacing": 0.05, + "text-field": "{_name59}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Height - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class65", 65], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-letter-spacing": 0.05, + "text-field": "{_name65}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class52", 52], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle52"]], + "text-letter-spacing": 0.05, + "text-field": "{_name52}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class50", 50], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle50"], + "text-letter-spacing": 0.05, + "text-field": "{_name50}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class40", 40], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle40"], + "text-letter-spacing": 0.05, + "text-field": "{_name40}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class43", 43], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle43"], + "text-letter-spacing": 0.05, + "text-field": "{_name43}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class44", 44], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle44"], + "text-letter-spacing": 0.05, + "text-field": "{_name44}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class45", 45], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle45"], + "text-letter-spacing": 0.05, + "text-field": "{_name45}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class46", 46], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle46"], + "text-letter-spacing": 0.05, + "text-field": "{_name46}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class47", 47], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle47"], + "text-letter-spacing": 0.05, + "text-field": "{_name47}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class48", 48], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle48"], + "text-letter-spacing": 0.05, + "text-field": "{_name48}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - NW(1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class49", 49], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle49"], + "text-letter-spacing": 0.05, + "text-field": "{_name49}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class51", 51], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle51"], + "text-letter-spacing": 0.05, + "text-field": "{_name51}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class42", 42], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle42"]], + "text-letter-spacing": 0.05, + "text-field": "{_name42}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class80", 80], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle80"], + "text-letter-spacing": 0.05, + "text-field": "{_name80}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class94", 94], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle94"]], + "text-letter-spacing": 0.05, + "text-field": "{_name94}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class84", 84], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle84"]], + "text-letter-spacing": 0.05, + "text-field": "{_name84}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class93", 93], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle93"], + "text-letter-spacing": 0.05, + "text-field": "{_name93}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class83", 83], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle83"], + "text-letter-spacing": 0.05, + "text-field": "{_name83}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(163,163,163)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class71", 71], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle71"]], + "text-letter-spacing": 0.05, + "text-field": "{_name71}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Height - West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class63", 63], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-letter-spacing": 0.05, + "text-field": "{_name63}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Height - East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class62", 62], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-letter-spacing": 0.05, + "text-field": "{_name62}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(136,136,136)" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class41", 41], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle41"], + "text-letter-spacing": 0.05, + "text-field": "{_name41}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class70", 70], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle70"], + "text-letter-spacing": 0.05, + "text-field": "{_name70}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class81", 81], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle81"]], + "text-letter-spacing": 0.05, + "text-field": "{_name81}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class32", 32], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle32"]], + "text-letter-spacing": 0.05, + "text-field": "{_name32}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class39", 39], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle39"], + "text-letter-spacing": 0.05, + "text-field": "{_name39}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class38", 38], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle38"], + "text-letter-spacing": 0.05, + "text-field": "{_name38}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class37", 37], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle37"], + "text-letter-spacing": 0.05, + "text-field": "{_name37}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class36", 36], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle36"], + "text-letter-spacing": 0.05, + "text-field": "{_name36}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class35", 35], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle35"], + "text-letter-spacing": 0.05, + "text-field": "{_name35}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class34", 34], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle34"], + "text-letter-spacing": 0.05, + "text-field": "{_name34}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class33", 33], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle33"], + "text-letter-spacing": 0.05, + "text-field": "{_name33}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class30", 30], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle30"], + "text-letter-spacing": 0.05, + "text-field": "{_name30}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class31", 31], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle31"], + "text-letter-spacing": 0.05, + "text-field": "{_name31}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(130,130,130)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class20", 20], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle20"], + "text-letter-spacing": 0.05, + "text-field": "{_name20}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class21", 21], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle21"], + "text-letter-spacing": 0.05, + "text-field": "{_name21}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class22", 22], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle22"]], + "text-letter-spacing": 0.05, + "text-field": "{_name22}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class23", 23], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle23"], + "text-letter-spacing": 0.05, + "text-field": "{_name23}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class24", 24], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle24"], + "text-letter-spacing": 0.05, + "text-field": "{_name24}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class25", 25], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle25"], + "text-letter-spacing": 0.05, + "text-field": "{_name25}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class26", 26], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle26"], + "text-letter-spacing": 0.05, + "text-field": "{_name26}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class27", 27], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle27"], + "text-letter-spacing": 0.05, + "text-field": "{_name27}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class28", 28], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle28"], + "text-letter-spacing": 0.05, + "text-field": "{_name28}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/Natural - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class29", 29], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle29"], + "text-letter-spacing": 0.05, + "text-field": "{_name29}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(174,174,174)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class12", 12], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle12"]], + "text-letter-spacing": 0.05, + "text-field": "{_name12}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class2", 2], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle2"]], + "text-letter-spacing": 0.05, + "text-field": "{_name2}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class11", 11], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle11"], + "text-letter-spacing": 0.05, + "text-field": "{_name11}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class1", 1], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle1"], + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class10", 10], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle10"], + "text-letter-spacing": 0.05, + "text-field": "{_name10}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class", 0], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle"], + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class17", 17], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle17"], + "text-letter-spacing": 0.05, + "text-field": "{_name17}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class7", 7], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle7"], + "text-letter-spacing": 0.05, + "text-field": "{_name7}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class19", 19], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle19"], + "text-letter-spacing": 0.05, + "text-field": "{_name19}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class9", 9], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle9"], + "text-letter-spacing": 0.05, + "text-field": "{_name9}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class18", 18], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle18"], + "text-letter-spacing": 0.05, + "text-field": "{_name18}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class8", 8], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle8"], + "text-letter-spacing": 0.05, + "text-field": "{_name8}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class16", 16], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle16"], + "text-letter-spacing": 0.05, + "text-field": "{_name16}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class6", 6], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle6"], + "text-letter-spacing": 0.05, + "text-field": "{_name6}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class15", 15], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle15"], + "text-letter-spacing": 0.05, + "text-field": "{_name15}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class5", 5], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle5"], + "text-letter-spacing": 0.05, + "text-field": "{_name5}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class14", 14], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle14"], + "text-letter-spacing": 0.05, + "text-field": "{_name14}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class4", 4], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle4"], + "text-letter-spacing": 0.05, + "text-field": "{_name4}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class13", 13], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle13"], + "text-letter-spacing": 0.05, + "text-field": "{_name13}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class3", 3], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle3"], + "text-letter-spacing": 0.05, + "text-field": "{_name3}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(173,173,173)" + } + }, + { + "id": "OS/Roads/label/Local Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 14], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Local Road 22400-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 15], + "minzoom": 12, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 12], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(127,127,127)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 13], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(153,153,153)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Greenspace:1", + "type": "symbol", + "source": "esri", + "source-layer": "Greenspace:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Greenspace:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,255,255,0)", + "text-color": "rgb(144,144,144)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Sites", + "type": "symbol", + "source": "esri", + "source-layer": "Sites", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Sites", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(109,109,109)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landform:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landform:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landform:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landform:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landcover:3", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landcover:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(112,112,112)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landcover:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landcover:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(112,112,112)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Water:2", + "type": "symbol", + "source": "esri", + "source-layer": "Water:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Water:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Water:1", + "type": "symbol", + "source": "esri", + "source-layer": "Water:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Water:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(130,130,130)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Woodland:2", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Woodland:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Woodland:1", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Woodland:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road 2800-11200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 7], + "minzoom": 14, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgb(1,1,1)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 11200-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 8], + "minzoom": 13, + "maxzoom": 14, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgb(1,1,1)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 22400-358400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 9], + "minzoom": 9, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(141,141,141)", + "text-halo-color": "rgb(1,1,1)", + "text-halo-width": 1.6 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 10], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(127,127,127)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 11], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(153,153,153)", + "text-halo-color": "rgba(1,1,1,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class1", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.0333333], + "stops": [ + [0, [0, 0.631292]], + [1, [0, 0.359493]], + [2, [0, 0.609832]], + [3, [0, 0.629975]], + [4, [0, 0.625794]], + [5, [0, 0.410354]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(6,6,6)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.1], + "stops": [ + [0, [0, 0.638163]], + [1, [0, 0.393543]], + [2, [0, 0.618849]], + [3, [0, 0.636977]], + [4, [0, 0.633215]], + [5, [0, 0.439319]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(6,6,6)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Small Settlement", + "type": "symbol", + "source": "esri", + "source-layer": "Small Settlement", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Small Settlement", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Landcover:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Landcover:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(112,112,112)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 0.7 + } + }, + { + "id": "OS/Names/Local/Hamlet (Local)", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet (Local)", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Hamlet (Local)", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Hamlet:2", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Hamlet:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Hamlet:1", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Hamlet:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Suburban Area:3", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Suburban Area:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 15, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Suburban Area:1", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Suburban Area:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Suburban Area:2", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Suburban Area:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(162,162,162)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 3], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 4], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 179200-716800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 5], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary Name 2800-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 6], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(79,79,79)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Village:2", + "type": "symbol", + "source": "esri", + "source-layer": "Village:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/District/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Village:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Regional/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Village:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(173,173,173)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1 + } + }, + { + "id": "OS/Roads/label/Motorway 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(106,106,106)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(106,106,106)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 179200-2867200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 2], + "minzoom": 6, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(3,3,3)", + "text-halo-color": "rgb(106,106,106)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class1", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "top", + "text-offset": [0, 0.582306], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgb(12,12,12)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-offset": [0, 0.688753], + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(207,207,207)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/National Park:3", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/National Park:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Local/Motorway Junctions", + "type": "symbol", + "source": "esri", + "source-layer": "Motorway Junctions", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Motorway Junctions", + "icon-allow-overlap": true, + "text-font": ["Arial Bold"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(220,220,220,0)", + "text-color": "rgb(1,1,1)", + "text-halo-color": "rgb(145,145,145)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Local/Town:4", + "type": "symbol", + "source": "esri", + "source-layer": "Town:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Town:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 19, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(211,211,211)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Town:1", + "type": "symbol", + "source": "esri", + "source-layer": "Town:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Town:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(211,211,211)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.7 + } + }, + { + "id": "OS/Names/Regional/Town:2", + "type": "symbol", + "source": "esri", + "source-layer": "Town:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Town:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(211,211,211)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Town:3", + "type": "symbol", + "source": "esri", + "source-layer": "Town:3", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Town:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(157,157,157)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/National Park:2", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/National Park:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/National Park:1", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/National Park:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(121,121,121)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/City:3", + "type": "symbol", + "source": "esri", + "source-layer": "City:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/City:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 21, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/City:4", + "type": "symbol", + "source": "esri", + "source-layer": "City:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/City:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Regional/City:1", + "type": "symbol", + "source": "esri", + "source-layer": "City:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/City:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/City:2", + "type": "symbol", + "source": "esri", + "source-layer": "City:2", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/City:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Capital:3", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Capital:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 24, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/Capital:4", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Capital:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 20, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Regional/Capital:2", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Capital:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(202,202,202,0)", + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "rgb(214,214,214)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Country/label/Country National", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 21, + "text-anchor": "center", + "text-letter-spacing": 0.75, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "text-color": "rgba(212,212,212,0.5)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.270711, 0.0292893], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(214,214,214,0.75)" + } + }, + { + "id": "OS/Names/National/Country/label/Country National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-letter-spacing": 0.5, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(212,212,212,0.5)", + "text-halo-color": "rgb(11,11,11)", + "text-halo-width": 1.5 + } + } + ] +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json b/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json new file mode 100644 index 000000000..54487515e --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857_Outdoor.json @@ -0,0 +1,7653 @@ +{ + "version": 8, + "_sprite": "https://api.os.uk/maps/vector/v1/vts/resources/sprites/sprite", + "sprite": "https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/sprite", + "glyphs": "https://api.os.uk/maps/vector/v1/vts/resources/fonts/{fontstack}/{range}.pbf", + "sources": { + "esri": { + "type": "vector", + "url": "https://api.os.uk/maps/vector/v1/vts" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "#FEFFFF" + } + }, + { + "id": "Background", + "type": "fill", + "source": "esri", + "source-layer": "Background", + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "European_land/1", + "type": "fill", + "source": "esri", + "source-layer": "European_land", + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FAFAF3" + } + }, + { + "id": "OS/GB_land/1", + "type": "fill", + "source": "esri", + "source-layer": "GB_land", + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/National_parks/1", + "type": "fill", + "source": "esri", + "source-layer": "National_parks", + "minzoom": 5, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Urban_areas/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": {}, + "paint": { + "fill-color": "rgba(220,215,198,0.3)" + } + }, + { + "id": "OS/Urban_areas/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Urban_areas", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(220,215,198,0.7)" + } + }, + { + "id": "OS/Functional_sites/Air Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E6E6E6", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Education/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F7EACA", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Medical Care/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F3D8E7", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Road Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F7F3CA", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Functional_sites/Water Transport/1", + "type": "fill", + "source": "esri", + "source-layer": "Functional_sites", + "filter": ["==", "_symbol", 4], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#D8E6F3", + "fill-opacity": 0.5 + } + }, + { + "id": "OS/Greenspace:2/1", + "type": "fill", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E3F0DB" + } + }, + { + "id": "OS/Greenspace:2/0", + "type": "line", + "source": "esri", + "source-layer": "Greenspace:2", + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#DBE6D5", + "line-width": { + "stops": [ + [10, 0], + [11, 0], + [12, 0], + [13, 0], + [14, 0.1], + [15, 0.15], + [16, 0.25] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Unclassified", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 48], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F8F6F0" + } + }, + { + "id": "OS/TopographicArea_1/Landform Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 47], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F2F2E9" + } + }, + { + "id": "OS/TopographicArea_1/Tidal Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 46], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Landform Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 45], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E4EFDA" + } + }, + { + "id": "OS/TopographicArea_1/Glasshouse", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 44], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F3F9F4" + } + }, + { + "id": "OS/TopographicArea_1/Rail Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 42], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCE5D3" + } + }, + { + "id": "OS/TopographicArea_1/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 43], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E7C9C8" + } + }, + { + "id": "OS/TopographicArea_1/Rail Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 41], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#CCCBCB" + } + }, + { + "id": "OS/TopographicArea_1/Path", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 40], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCDCDB" + } + }, + { + "id": "OS/TopographicArea_1/Inland Water", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 39], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 38], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F2F2E9" + } + }, + { + "id": "OS/TopographicArea_1/Roadside Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 37], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DDE6D5" + } + }, + { + "id": "OS/TopographicArea_1/Road Or Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 36], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Natural", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 34], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E4EFDA" + } + }, + { + "id": "OS/TopographicArea_1/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 35], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F2F2E9" + } + }, + { + "id": "OS/TopographicArea_1/Foreshore", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 30], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAD2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/3" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/2" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/1" + } + }, + { + "id": "OS/TopographicArea_1/Reeds/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 29], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Reeds/0" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#E4F3F4" + } + }, + { + "id": "OS/TopographicArea_1/Shingle", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Marsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 28], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Marsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Mud", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E8E4DD" + } + }, + { + "id": "OS/TopographicArea_1/Sand", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F4F0D3" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#E4F3F4" + } + }, + { + "id": "OS/TopographicArea_1/Heath/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE" + } + }, + { + "id": "OS/TopographicArea_1/Saltmarsh/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 24], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Saltmarsh/0" + } + }, + { + "id": "OS/TopographicArea_1/Heath/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 23], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Heath/0" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE" + } + }, + { + "id": "OS/TopographicArea_1/Rough Grassland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rough Grassland/0" + } + }, + { + "id": "OS/TopographicArea_1/Scree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Scree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scree/0" + } + }, + { + "id": "OS/TopographicArea_1/Rock/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Rock/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Rock/0" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAE4" + } + }, + { + "id": "OS/TopographicArea_1/Boulders/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Boulders/0" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E2EFCE" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/3", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/3" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/2" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/1" + } + }, + { + "id": "OS/TopographicArea_1/Scrub/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 18], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Scrub/0" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Coppice Or Osiers/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coppice Or Osiers/0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/2", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Agricultural Land", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_1/Orchard/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Orchard/0" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Coniferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 14], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Coniferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Nonconiferous Tree/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 13], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Nonconiferous Tree/0" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/4", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/TopographicArea_1/Footbridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#E8CFCC" + } + }, + { + "id": "OS/TopographicArea_1/Mixed Woodland/0", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 12], + "minzoom": 15, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Mixed Woodland/0" + } + }, + { + "id": "OS/TopographicArea_1/Canal", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/TopographicArea_1/Step", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCDCDB" + } + }, + { + "id": "OS/TopographicArea_1/Track", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCDCDB" + } + }, + { + "id": "OS/TopographicArea_1/Pylon", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EEE8D3" + } + }, + { + "id": "OS/TopographicArea_1/Traffic Calming", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 6], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Level Crossing", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#D6D2D2" + } + }, + { + "id": "OS/TopographicArea_1/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#B3B3B3" + } + }, + { + "id": "OS/TopographicArea_1/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#FCFDFF" + } + }, + { + "id": "OS/TopographicArea_1/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicArea_1/Multi Surface", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EEEFDA" + } + }, + { + "id": "OS/TopographicArea_1/Cliff", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 32], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Cliff" + } + }, + { + "id": "OS/TopographicArea_1/Slope", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 31], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-pattern": "OS/TopographicArea_1/Slope" + } + }, + { + "id": "OS/Woodland:3/Local/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 0], + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/Woodland:3/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 10, + "layout": {}, + "paint": { + "fill-color": "rgba(209,231,195,0.6)" + } + }, + { + "id": "OS/Woodland:3/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Woodland:3", + "filter": ["==", "_symbol", 2], + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "#D1E7C3" + } + }, + { + "id": "OS/District_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "District_buildings", + "minzoom": 10, + "maxzoom": 12, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/Local_buildings/1", + "type": "fill", + "source": "esri", + "source-layer": "Local_buildings", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/Contours/Index", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#857660", + "line-width": { + "stops": [ + [7, 0.1], + [8, 0.13], + [9, 0.4], + [10, 0.4], + [11, 0.53], + [12, 0.67], + [13, 0.8], + [14, 1], + [15, 1], + [16, 1.1] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Contours/Normal", + "type": "line", + "source": "esri", + "source-layer": "Contours", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#857660", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.5], + [15, 0.5], + [16, 0.7] + ] + }, + "line-opacity": 0.3 + } + }, + { + "id": "OS/Surfacewater/Local", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF", + "fill-outline-color": "#A9DDEF" + } + }, + { + "id": "OS/Surfacewater/National/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 1], + "minzoom": 6, + "maxzoom": 7, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/Surfacewater/Regional/1", + "type": "fill", + "source": "esri", + "source-layer": "Surfacewater", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 11, + "layout": {}, + "paint": { + "fill-color": "#A9DDEF" + } + }, + { + "id": "OS/Foreshore/1", + "type": "fill", + "source": "esri", + "source-layer": "Foreshore", + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#EAEAD2" + } + }, + { + "id": "OS/Ornament/1", + "type": "fill", + "source": "esri", + "source-layer": "Ornament", + "minzoom": 12, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#BABABA", + "fill-opacity": 0.6 + } + }, + { + "id": "OS/TopographicArea_2/Structure", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Manmade", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 5], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 4], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicArea_2/Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 3], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Rail Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 2], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Road Bridge", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 1], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#F5F5F0" + } + }, + { + "id": "OS/TopographicArea_2/Archway", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_2", + "filter": ["==", "_symbol", 0], + "minzoom": 15, + "maxzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicLine/Property Closing Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [6, 6], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Step", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 1], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#B2B1B1", + "line-width": { + "stops": [ + [6, 0.4], + [17, 0.4], + [18, 0.8], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean High Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 2], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [6, 0.8], + [17, 0.9], + [18, 1.3], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Traffic Calming", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 3], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BFBFBF", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Standard Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 4], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [17, 0.8], + [18, 1.2], + [19, 2.3] + ] + } + } + }, + { + "id": "OS/TopographicLine/Mean Low Water", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 5], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.6] + ] + } + } + }, + { + "id": "OS/TopographicLine/Path", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 6], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#7A7977", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Overhead Construction", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 7], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#AEB4A6", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Culvert", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 8], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Pylon", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 9], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#95968F", + "line-width": { + "stops": [ + [17, 1], + [18, 1.8], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Ridge Or Rock Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 10], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#BEBEB4", + "line-width": { + "stops": [ + [17, 1.3], + [18, 2], + [19, 2.5] + ] + } + } + }, + { + "id": "OS/TopographicLine/Narrow Gauge Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 11], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Railway Buffer", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 12], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 1.8] + ] + } + } + }, + { + "id": "OS/TopographicLine/Tunnel Edge", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 13], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-dasharray": [2.5, 2.5], + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2.1] + ] + } + } + }, + { + "id": "OS/TopographicLine/Line Of Posts", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 14], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#8C8C8C", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Drain", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 15], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Default Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 16], + "minzoom": 15, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7A7977", + "line-width": { + "stops": [ + [16, 0.4], + [18, 0.7], + [19, 1.3] + ] + } + } + }, + { + "id": "OS/TopographicArea_1/Building/1", + "type": "fill", + "source": "esri", + "source-layer": "TopographicArea_1", + "filter": ["==", "_symbol", 33], + "minzoom": 16, + "layout": {}, + "paint": { + "fill-color": "#DCD7C6" + } + }, + { + "id": "OS/TopographicLine/Building Outline", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 17], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BBB49C", + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Edge Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 18], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [2, 2], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Road Or Track", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 19], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#817E79", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Building Division", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 20], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BBB49C", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Inland water Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 21], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#7ED2E0", + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/General Surface Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 22], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [2, 2], + "line-width": 0.6 + } + }, + { + "id": "OS/TopographicLine/Building Overhead Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 23], + "minzoom": 15, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#7A7977", + "line-dasharray": [6, 4], + "line-width": { + "stops": [ + [16, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Natural Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 24], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BEBEB4", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Historic Interest Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 25], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#969696", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Landform Manmade Line", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 26], + "minzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#BEBEB4", + "line-dasharray": [4, 4], + "line-width": { + "stops": [ + [17, 0.7], + [18, 1.3], + [19, 2] + ] + } + } + }, + { + "id": "OS/TopographicLine/Unclassified", + "type": "line", + "source": "esri", + "source-layer": "TopographicLine", + "filter": ["==", "_symbol", 27], + "minzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#BBB49C", + "line-width": { + "stops": [ + [17, 0.5], + [18, 1], + [19, 2] + ] + } + } + }, + { + "id": "OS/Waterlines/District", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.9 + } + }, + { + "id": "OS/Waterlines/Local", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Local_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/MHW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1.6 + } + }, + { + "id": "OS/Waterlines/MHW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 2], + "minzoom": 8, + "maxzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1.3 + } + }, + { + "id": "OS/Waterlines/MLW", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.8 + } + }, + { + "id": "OS/Waterlines/MLW_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.5 + } + }, + { + "id": "OS/Waterlines/National", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 6, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.4 + } + }, + { + "id": "OS/Waterlines/Regional", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 7, + "maxzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 1 + } + }, + { + "id": "OS/Waterlines/Regional_1", + "type": "line", + "source": "esri", + "source-layer": "Waterlines", + "filter": ["==", "_symbol", 5], + "minzoom": 6, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#A4DAEB", + "line-width": 0.5 + } + }, + { + "id": "OS/Roads/Tunnels,", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 19], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "#949197", + "line-dasharray": [4, 2.5], + "line-width": { + "stops": [ + [9, 0.7], + [12, 0.8], + [14, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/Motorway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#4E94A3", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.6], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#73A06F", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#A09C92", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#9F9C93", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 6], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 8], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 10], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 13], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 15], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 17], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 0], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,0/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 3], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#4E94A3", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#73A06F", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#9F9C93", + "line-width": { + "stops": [ + [5, 2.7], + [8, 2.7], + [9, 3.3], + [10, 4], + [12, 4.7], + [13, 5.7], + [14, 6.3], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 7, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": 1.3 + } + }, + { + "id": "OS/Roads/B Road,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#9F9C93", + "line-width": { + "stops": [ + [8, 4], + [9, 2.7], + [10, 3.3], + [12, 4.7], + [13, 5.7], + [14, 6], + [15, 8], + [16, 13.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 6], + [16, 8.7] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#CECDCA", + "line-width": { + "stops": [ + [13, 3.7], + [14, 4.7], + [15, 5.3], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [12, 4], + [13, 4], + [14, 5.3], + [15, 6.7], + [16, 7.3] + ] + } + } + }, + { + "id": "OS/Roads/A Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 7], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [5, 1.8], + [8, 1.8], + [9, 2.3], + [10, 2.8], + [12, 3.2], + [13, 3.9], + [14, 4.4], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/B Road,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 9], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [8, 2.8], + [9, 1.8], + [10, 2.3], + [12, 3.2], + [13, 3.9], + [14, 4.2], + [15, 5.6], + [16, 9.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 11], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.2], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Roads/Local,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 14], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2.3], + [14, 2.9], + [15, 3.75], + [16, 5.4] + ] + } + } + }, + { + "id": "OS/Roads/Restricted,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 16], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [13, 2], + [14, 2.7], + [15, 3], + [16, 4.2] + ] + } + } + }, + { + "id": "OS/Roads/Guided Busway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 18], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [12, 2], + [13, 2], + [14, 2.7], + [15, 3.3], + [16, 3.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 1], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,1/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 4], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#4E94A3", + "line-width": { + "stops": [ + [6, 4], + [7, 4], + [8, 4.7], + [9, 5.3], + [10, 5.7], + [12, 6], + [13, 6.7], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 5, + "maxzoom": 7, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": 2 + } + }, + { + "id": "OS/Roads/Primary,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#73A06F", + "line-width": { + "stops": [ + [5, 4], + [8, 3.3], + [9, 4], + [10, 5.3], + [12, 5.3], + [13, 6.3], + [14, 7.3], + [15, 10.7], + [16, 16] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2_1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 5, + "maxzoom": 8, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 1.3], + [7, 2], + [8, 1.3] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/1", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#C6C6C1", + "line-width": { + "stops": [ + [9, 3], + [10, 3], + [12, 4], + [13, 5.3], + [14, 6.7], + [15, 7.3], + [16, 10.7] + ] + } + } + }, + { + "id": "OS/Roads/Motorway,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 2], + "minzoom": 7, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#08B7E7", + "line-width": { + "stops": [ + [6, 3], + [7, 3], + [8, 3.5], + [9, 4], + [10, 4.25], + [12, 4.5], + [13, 5], + [14, 5.5], + [15, 8], + [16, 12] + ] + } + } + }, + { + "id": "OS/Roads/Primary,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 5], + "minzoom": 8, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#77C776", + "line-width": { + "stops": [ + [5, 2.5], + [8, 2], + [9, 2.5], + [10, 3.3], + [12, 3.3], + [13, 3.9], + [14, 4.5], + [15, 6.7], + [16, 10] + ] + } + } + }, + { + "id": "OS/Roads/Minor,2/0", + "type": "line", + "source": "esri", + "source-layer": "Roads", + "filter": ["==", "_symbol", 12], + "minzoom": 10, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#FFFFFF", + "line-width": { + "stops": [ + [9, 1.875], + [10, 1.875], + [12, 2.5], + [13, 3.3], + [14, 4.1], + [15, 4.5], + [16, 6.7] + ] + } + } + }, + { + "id": "OS/Railways/Multi Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 0], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [10, 1.4], + [11, 1.4], + [12, 1.4], + [13, 1.5], + [14, 1.5], + [15, 2], + [16, 1.3] + ] + } + } + }, + { + "id": "OS/Railways/Narrow Gauge", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 1], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [12, 0.4], + [13, 0.4], + [14, 0.4], + [15, 0.5], + [16, 0.5] + ] + } + } + }, + { + "id": "OS/Railways/Single Track", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 2], + "minzoom": 9, + "maxzoom": 16, + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#949197", + "line-width": { + "stops": [ + [10, 1.2], + [11, 1.2], + [12, 1.2], + [13, 1.2], + [14, 1.2], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/Railways/Tunnel", + "type": "line", + "source": "esri", + "source-layer": "Railways", + "filter": ["==", "_symbol", 3], + "minzoom": 9, + "maxzoom": 16, + "layout": {}, + "paint": { + "line-color": "#949197", + "line-dasharray": [4, 2], + "line-width": { + "stops": [ + [10, 1], + [11, 1], + [12, 1], + [13, 1], + [14, 1], + [15, 1.6], + [16, 1.6] + ] + } + } + }, + { + "id": "OS/ETL", + "type": "line", + "source": "esri", + "source-layer": "ETL", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#978282", + "line-dasharray": [6, 3], + "line-width": { + "stops": [ + [13, 1.3], + [14, 1.3], + [15, 2.2], + [16, 1.7] + ] + }, + "line-opacity": 0.5 + } + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 0], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.5], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 2], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Light Rapid Transit Station And Railway Station", + "icon-size": { + "stops": [ + [12, 0.7], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 3], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 4], + "minzoom": 11, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.7], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station", + "icon-size": { + "stops": [ + [12, 0.6], + [13, 0.8], + [14, 0.8], + [15, 0.9], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Railway_stations/Railway Station And London Underground Station_1", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_symbol", 5], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Railway_stations/Railway Station And London Underground Station_1", + "icon-allow-overlap": true + }, + "paint": {} + }, + { + "id": "OS/Airports", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "minzoom": 8, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Airports", + "icon-size": { + "stops": [ + [9, 0.85], + [10, 0.85], + [11, 0.85], + [12, 0.85], + [13, 1], + [14, 1], + [15, 1], + [16, 1] + ] + }, + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "#242424" + } + }, + { + "id": "OS/TopographicPoint/Spot Height", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 0], + "minzoom": 16, + "layout": { + "icon-image": "OS/TopographicPoint/Spot Height", + "icon-size": { + "stops": [ + [17, 0.6], + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#857660" + } + }, + { + "id": "OS/TopographicPoint/Site Of Heritage", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 1], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Site Of Heritage", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#7D7D7D" + } + }, + { + "id": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Nonconiferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#296314" + } + }, + { + "id": "OS/TopographicPoint/Inland Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Inland Water", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#318FAE" + } + }, + { + "id": "OS/TopographicPoint/Roadside", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 4], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Roadside", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/TopographicPoint/Overhead Construction", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 5], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Overhead Construction", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/TopographicPoint/Rail", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 6], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Rail", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#7D7D7D" + } + }, + { + "id": "OS/TopographicPoint/Positioned Coniferous Tree", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 7], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Positioned Coniferous Tree", + "icon-size": { + "stops": [ + [18, 1], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#296314" + } + }, + { + "id": "OS/TopographicPoint/Triangulation Point Or Pillar", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 8], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Triangulation Point Or Pillar", + "icon-size": { + "stops": [ + [18, 1.25], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/TopographicPoint/Historic Interest", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 9], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Historic Interest", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#7D7D7D" + } + }, + { + "id": "OS/TopographicPoint/Landform", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 10], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Landform", + "icon-size": { + "stops": [ + [18, 1.3], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "rgba(240,240,240,0)" + } + }, + { + "id": "OS/TopographicPoint/Tidal Water", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 11], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Tidal Water", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#318FAE" + } + }, + { + "id": "OS/TopographicPoint/Structure", + "type": "symbol", + "source": "esri", + "source-layer": "TopographicPoint", + "filter": ["==", "_symbol", 12], + "minzoom": 17, + "layout": { + "icon-image": "OS/TopographicPoint/Structure", + "icon-size": { + "stops": [ + [18, 1.4], + [19, 2] + ] + }, + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/CartographicSymbol/Culvert Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 0], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Culvert Symbol", + "icon-size": { + "stops": [ + [18, 1.6], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#318FAE" + } + }, + { + "id": "OS/CartographicSymbol/Bench Mark Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 2], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Bench Mark Symbol", + "icon-size": { + "stops": [ + [18, 1.2], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/CartographicSymbol/Road Related Flow Symbol", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicSymbol", + "filter": ["==", "_symbol", 3], + "minzoom": 17, + "layout": { + "icon-image": "OS/CartographicSymbol/Road Related Flow Symbol", + "icon-size": { + "stops": [ + [18, 1.1], + [19, 2] + ] + }, + "icon-rotate": ["get", "angle"], + "icon-allow-overlap": true, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-color": "#655314" + } + }, + { + "id": "OS/Names/National/Capital:1", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Capital:1", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)" + } + }, + { + "id": "OS/Names/National/Country", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Country", + "icon-allow-overlap": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class79", 79], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "center", + "text-offset": [0.107527, 0], + "text-rotate": ["get", "_label_angle79"], + "text-letter-spacing": 0.05, + "text-field": "{_name79}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class64", 64], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-letter-spacing": 0.05, + "text-field": "{_name64}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class74", 74], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle74"], + "text-letter-spacing": 0.05, + "text-field": "{_name74}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class97", 97], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle97"], + "text-letter-spacing": 0.05, + "text-field": "{_name97}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class87", 87], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle87"], + "text-letter-spacing": 0.05, + "text-field": "{_name87}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class72", 72], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle72"], + "text-letter-spacing": 0.05, + "text-field": "{_name72}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Buildings - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class73", 73], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle73"], + "text-letter-spacing": 0.05, + "text-field": "{_name73}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class61", 61], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-letter-spacing": 0.05, + "text-field": "{_name61}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class99", 99], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle99"], + "text-letter-spacing": 0.05, + "text-field": "{_name99}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class96", 96], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle96"], + "text-letter-spacing": 0.05, + "text-field": "{_name96}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class95", 95], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle95"], + "text-letter-spacing": 0.05, + "text-field": "{_name95}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class89", 89], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle89"], + "text-letter-spacing": 0.05, + "text-field": "{_name89}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class86", 86], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle86"], + "text-letter-spacing": 0.05, + "text-field": "{_name86}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class85", 85], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-rotate": ["get", "_label_angle85"], + "text-letter-spacing": 0.05, + "text-field": "{_name85}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class76", 76], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle76"], + "text-letter-spacing": 0.05, + "text-field": "{_name76}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class66", 66], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-letter-spacing": 0.05, + "text-field": "{_name66}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class53", 53], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0952381, 0], + "text-rotate": ["get", "_label_angle53"], + "text-letter-spacing": 0.05, + "text-field": "{_name53}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class54", 54], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle54"], + "text-letter-spacing": 0.05, + "text-field": "{_name54}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class100", 100], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle100"], + "text-letter-spacing": 0.05, + "text-field": "{_name100}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class90", 90], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle90"], + "text-letter-spacing": 0.05, + "text-field": "{_name90}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class77", 77], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle77"], + "text-letter-spacing": 0.05, + "text-field": "{_name77}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class67", 67], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-letter-spacing": 0.05, + "text-field": "{_name67}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class55", 55], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle55"], + "text-letter-spacing": 0.05, + "text-field": "{_name55}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Buildings - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class78", 78], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle78"], + "text-letter-spacing": 0.05, + "text-field": "{_name78}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class68", 68], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-letter-spacing": 0.05, + "text-field": "{_name68}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class56", 56], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle56"], + "text-letter-spacing": 0.05, + "text-field": "{_name56}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class101", 101], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle101"], + "text-letter-spacing": 0.05, + "text-field": "{_name101}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class91", 91], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle91"], + "text-letter-spacing": 0.05, + "text-field": "{_name91}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class69", 69], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle69"], + "text-letter-spacing": 0.05, + "text-field": "{_name69}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class57", 57], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle57"], + "text-letter-spacing": 0.05, + "text-field": "{_name57}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class92", 92], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle92"], + "text-letter-spacing": 0.05, + "text-field": "{_name92}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class82", 82], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle82"], + "text-letter-spacing": 0.05, + "text-field": "{_name82}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Height - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class60", 60], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name60}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class58", 58], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle58"], + "text-letter-spacing": 0.05, + "text-field": "{_name58}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Buildings - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class75", 75], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle75"], + "text-letter-spacing": 0.05, + "text-field": "{_name75}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class98", 98], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle98"], + "text-letter-spacing": 0.05, + "text-field": "{_name98}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class88", 88], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle88"], + "text-letter-spacing": 0.05, + "text-field": "{_name88}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Water - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class59", 59], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle59"], + "text-letter-spacing": 0.05, + "text-field": "{_name59}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Height - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class65", 65], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-letter-spacing": 0.05, + "text-field": "{_name65}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class52", 52], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle52"]], + "text-letter-spacing": 0.05, + "text-field": "{_name52}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class50", 50], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle50"], + "text-letter-spacing": 0.05, + "text-field": "{_name50}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class40", 40], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle40"], + "text-letter-spacing": 0.05, + "text-field": "{_name40}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class43", 43], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle43"], + "text-letter-spacing": 0.05, + "text-field": "{_name43}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class44", 44], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle44"], + "text-letter-spacing": 0.05, + "text-field": "{_name44}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class45", 45], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle45"], + "text-letter-spacing": 0.05, + "text-field": "{_name45}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class46", 46], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle46"], + "text-letter-spacing": 0.05, + "text-field": "{_name46}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class47", 47], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle47"], + "text-letter-spacing": 0.05, + "text-field": "{_name47}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class48", 48], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle48"], + "text-letter-spacing": 0.05, + "text-field": "{_name48}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - NW(1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class49", 49], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle49"], + "text-letter-spacing": 0.05, + "text-field": "{_name49}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class51", 51], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle51"], + "text-letter-spacing": 0.05, + "text-field": "{_name51}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class42", 42], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle42"]], + "text-letter-spacing": 0.05, + "text-field": "{_name42}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class80", 80], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle80"], + "text-letter-spacing": 0.05, + "text-field": "{_name80}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class94", 94], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle94"]], + "text-letter-spacing": 0.05, + "text-field": "{_name94}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class84", 84], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle84"]], + "text-letter-spacing": 0.05, + "text-field": "{_name84}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class93", 93], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle93"], + "text-letter-spacing": 0.05, + "text-field": "{_name93}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Roads - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class83", 83], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle83"], + "text-letter-spacing": 0.05, + "text-field": "{_name83}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#5C5C5C" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class71", 71], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle71"]], + "text-letter-spacing": 0.05, + "text-field": "{_name71}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Height - West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class63", 63], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-letter-spacing": 0.05, + "text-field": "{_name63}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Height - East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class62", 62], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-letter-spacing": 0.05, + "text-field": "{_name62}", + "text-allow-overlap": true, + "text-optional": true, + "text-keep-upright": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#857660" + } + }, + { + "id": "OS/CartographicText/label/Water - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class41", 41], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle41"], + "text-letter-spacing": 0.05, + "text-field": "{_name41}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#318FAE" + } + }, + { + "id": "OS/CartographicText/label/Buildings - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class70", 70], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle70"], + "text-letter-spacing": 0.05, + "text-field": "{_name70}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Small Buildings - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class81", 81], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Light"], + "text-size": 12.4, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle81"]], + "text-letter-spacing": 0.05, + "text-field": "{_name81}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class32", 32], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle32"]], + "text-letter-spacing": 0.05, + "text-field": "{_name32}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class39", 39], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle39"], + "text-letter-spacing": 0.05, + "text-field": "{_name39}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class38", 38], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle38"], + "text-letter-spacing": 0.05, + "text-field": "{_name38}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class37", 37], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle37"], + "text-letter-spacing": 0.05, + "text-field": "{_name37}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class36", 36], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle36"], + "text-letter-spacing": 0.05, + "text-field": "{_name36}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class35", 35], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle35"], + "text-letter-spacing": 0.05, + "text-field": "{_name35}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class34", 34], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle34"], + "text-letter-spacing": 0.05, + "text-field": "{_name34}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class33", 33], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle33"], + "text-letter-spacing": 0.05, + "text-field": "{_name33}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class30", 30], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "center", + "text-offset": [0.0930233, 0], + "text-rotate": ["get", "_label_angle30"], + "text-letter-spacing": 0.05, + "text-field": "{_name30}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Historic - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class31", 31], + "minzoom": 16, + "layout": { + "text-font": ["Times New Roman Italic"], + "text-size": 14, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle31"], + "text-letter-spacing": 0.05, + "text-field": "{_name31}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#7D7D7D" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class20", 20], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle20"], + "text-letter-spacing": 0.05, + "text-field": "{_name20}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class21", 21], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle21"], + "text-letter-spacing": 0.05, + "text-field": "{_name21}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class22", 22], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle22"]], + "text-letter-spacing": 0.05, + "text-field": "{_name22}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class23", 23], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle23"], + "text-letter-spacing": 0.05, + "text-field": "{_name23}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class24", 24], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle24"], + "text-letter-spacing": 0.05, + "text-field": "{_name24}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class25", 25], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle25"], + "text-letter-spacing": 0.05, + "text-field": "{_name25}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class26", 26], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle26"], + "text-letter-spacing": 0.05, + "text-field": "{_name26}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class27", 27], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle27"], + "text-letter-spacing": 0.05, + "text-field": "{_name27}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class28", 28], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle28"], + "text-letter-spacing": 0.05, + "text-field": "{_name28}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/Natural - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class29", 29], + "minzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle29"], + "text-letter-spacing": 0.05, + "text-field": "{_name29}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#296314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class12", 12], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle12"]], + "text-letter-spacing": 0.05, + "text-field": "{_name12}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate West (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class2", 2], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "right", + "text-rotate": ["+", 180, ["get", "_label_angle2"]], + "text-letter-spacing": 0.05, + "text-field": "{_name2}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class11", 11], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle11"], + "text-letter-spacing": 0.05, + "text-field": "{_name11}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate East (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class1", 1], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "left", + "text-rotate": ["get", "_label_angle1"], + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class10", 10], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle10"], + "text-letter-spacing": 0.05, + "text-field": "{_name10}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Rotate Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class", 0], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle"], + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class17", 17], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle17"], + "text-letter-spacing": 0.05, + "text-field": "{_name17}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - South (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class7", 7], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-rotate": ["get", "_label_angle7"], + "text-letter-spacing": 0.05, + "text-field": "{_name7}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class19", 19], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle19"], + "text-letter-spacing": 0.05, + "text-field": "{_name19}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class9", 9], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-right", + "text-rotate": ["get", "_label_angle9"], + "text-letter-spacing": 0.05, + "text-field": "{_name9}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class18", 18], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle18"], + "text-letter-spacing": 0.05, + "text-field": "{_name18}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SW (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class8", 8], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-right", + "text-rotate": ["get", "_label_angle8"], + "text-letter-spacing": 0.05, + "text-field": "{_name8}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class16", 16], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle16"], + "text-letter-spacing": 0.05, + "text-field": "{_name16}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - SE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class6", 6], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top-left", + "text-rotate": ["get", "_label_angle6"], + "text-letter-spacing": 0.05, + "text-field": "{_name6}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class15", 15], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 10, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle15"], + "text-letter-spacing": 0.05, + "text-field": "{_name15}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - NE (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class5", 5], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom-left", + "text-rotate": ["get", "_label_angle5"], + "text-letter-spacing": 0.05, + "text-field": "{_name5}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class14", 14], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle14"], + "text-letter-spacing": 0.05, + "text-field": "{_name14}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - North (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class4", 4], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "bottom", + "text-rotate": ["get", "_label_angle4"], + "text-letter-spacing": 0.05, + "text-field": "{_name4}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:1400)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class13", 13], + "minzoom": 16, + "maxzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-anchor": "center", + "text-offset": [0.117647, 0], + "text-rotate": ["get", "_label_angle13"], + "text-letter-spacing": 0.05, + "text-field": "{_name13}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/CartographicText/label/General - Central (1:700)", + "type": "symbol", + "source": "esri", + "source-layer": "CartographicText", + "filter": ["==", "_label_class3", 3], + "minzoom": 17, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.103093, 0], + "text-rotate": ["get", "_label_angle3"], + "text-letter-spacing": 0.05, + "text-field": "{_name3}", + "text-allow-overlap": true, + "text-optional": true, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "#655314" + } + }, + { + "id": "OS/Roads/label/Local Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 14], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Local Road 22400-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 15], + "minzoom": 12, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 12], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#808080", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Minor Road 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 13], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#666666", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Greenspace:1", + "type": "symbol", + "source": "esri", + "source-layer": "Greenspace:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Greenspace:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(0,0,0,0)", + "text-color": "#438519", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Sites", + "type": "symbol", + "source": "esri", + "source-layer": "Sites", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Sites", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#A79720", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landform:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landform:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF7631", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landform:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landform:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landform:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF7631", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Landcover:3", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Landcover:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF9031", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Landcover:2", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Landcover:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF9031", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Water:2", + "type": "symbol", + "source": "esri", + "source-layer": "Water:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Water:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#318FAE", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Water:1", + "type": "symbol", + "source": "esri", + "source-layer": "Water:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Water:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#318FAE", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Woodland:2", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Woodland:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Woodland:1", + "type": "symbol", + "source": "esri", + "source-layer": "Woodland:1", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Woodland:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road 2800-11200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 7], + "minzoom": 14, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "#FFFFFF", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 11200-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 8], + "minzoom": 13, + "maxzoom": 14, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 13, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "#FFFFFF", + "text-halo-width": 2 + } + }, + { + "id": "OS/Roads/label/A & B Road 22400-358400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 9], + "minzoom": 9, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Regular"], + "text-size": 11, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#737373", + "text-halo-color": "#FFFFFF", + "text-halo-width": 1.6 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 10], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#808080", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/A & B Road Name 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 11], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 11, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#666666", + "text-halo-color": "rgba(255,255,255,0.99)", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 22400-89600", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class1", 1], + "minzoom": 11, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.0333333], + "stops": [ + [0, [0, 0.631292]], + [1, [0, 0.359493]], + [2, [0, 0.609832]], + [3, [0, 0.629975]], + [4, [0, 0.625794]], + [5, [0, 0.410354]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "#000000", + "text-halo-color": "#FAFAF3", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Railway_stations/label/Station names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Railway_stations", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "top", + "text-offset": { + "property": "_symbol", + "type": "categorical", + "default": [0, 0.1], + "stops": [ + [0, [0, 0.638163]], + [1, [0, 0.393543]], + [2, [0, 0.618849]], + [3, [0, 0.636977]], + [4, [0, 0.633215]], + [5, [0, 0.439319]] + ] + }, + "text-letter-spacing": 0.05, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#000000", + "text-halo-color": "#FAFAF3", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Small Settlement", + "type": "symbol", + "source": "esri", + "source-layer": "Small Settlement", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Small Settlement", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Landcover:1", + "type": "symbol", + "source": "esri", + "source-layer": "Landcover:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Landcover:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#AF9031", + "text-halo-color": "#F5F5F0", + "text-halo-width": 0.7 + } + }, + { + "id": "OS/Names/Local/Hamlet (Local)", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet (Local)", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Hamlet (Local)", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Hamlet:2", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Hamlet:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Hamlet:1", + "type": "symbol", + "source": "esri", + "source-layer": "Hamlet:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Hamlet:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Suburban Area:3", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Suburban Area:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 15, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/Suburban Area:1", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Suburban Area:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/Suburban Area:2", + "type": "symbol", + "source": "esri", + "source-layer": "Suburban Area:2", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Suburban Area:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#725F17", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 3], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 4], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary 179200-716800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 5], + "minzoom": 8, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Primary Name 2800-44800", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 6], + "minzoom": 12, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#77C776", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Village:2", + "type": "symbol", + "source": "esri", + "source-layer": "Village:2", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Village:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/District/Village:3", + "type": "symbol", + "source": "esri", + "source-layer": "Village:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Village:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1 + } + }, + { + "id": "OS/Names/Regional/Village:1", + "type": "symbol", + "source": "esri", + "source-layer": "Village:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Village:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#655314", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1 + } + }, + { + "id": "OS/Roads/label/Motorway 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 13, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#08B7E7", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 12, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#08B7E7", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Roads/label/Motorway 179200-2867200", + "type": "symbol", + "source": "esri", + "source-layer": "Roads/label", + "filter": ["==", "_label_class", 2], + "minzoom": 6, + "maxzoom": 10, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 1000, + "text-font": ["Arial Bold"], + "text-size": 11, + "text-letter-spacing": 0.1, + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#FCFDFF", + "text-halo-color": "#08B7E7", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 22400-179200", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class1", 1], + "minzoom": 10, + "maxzoom": 13, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 12.5, + "text-anchor": "top", + "text-offset": [0, 0.582306], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "#303030", + "text-halo-color": "#F4F4EE", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Airports/label/Airport names 2800-22400", + "type": "symbol", + "source": "esri", + "source-layer": "Airports", + "filter": ["==", "_label_class", 0], + "minzoom": 13, + "maxzoom": 16, + "layout": { + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "bottom", + "text-offset": [0, 0.688753], + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#303030", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/District/National Park:3", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:3", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/National Park:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Local/Motorway Junctions", + "type": "symbol", + "source": "esri", + "source-layer": "Motorway Junctions", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Motorway Junctions", + "icon-allow-overlap": true, + "text-font": ["Arial Bold"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(168,0,0,0)", + "text-color": "#FFFFFF", + "text-halo-color": "#1484A3", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Local/Town:4", + "type": "symbol", + "source": "esri", + "source-layer": "Town:4", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Town:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 19, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#372D0B", + "text-halo-color": "#F5F5F0", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/District/Town:1", + "type": "symbol", + "source": "esri", + "source-layer": "Town:1", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Town:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#372D0B", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.7 + } + }, + { + "id": "OS/Names/Regional/Town:2", + "type": "symbol", + "source": "esri", + "source-layer": "Town:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Town:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 13, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#372D0B", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Town:3", + "type": "symbol", + "source": "esri", + "source-layer": "Town:3", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/Town:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#796315", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Regional/National Park:2", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/National Park:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 14, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/National Park:1", + "type": "symbol", + "source": "esri", + "source-layer": "National Park:1", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/National Park:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 12, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#599C30", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/City:3", + "type": "symbol", + "source": "esri", + "source-layer": "City:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/City:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 21, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/City:4", + "type": "symbol", + "source": "esri", + "source-layer": "City:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/City:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 2 + } + }, + { + "id": "OS/Names/Regional/City:1", + "type": "symbol", + "source": "esri", + "source-layer": "City:1", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/City:1", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 17, + "text-anchor": "center", + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/City:2", + "type": "symbol", + "source": "esri", + "source-layer": "City:2", + "maxzoom": 9, + "layout": { + "icon-image": "OS/Names/National/City:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/Local/Capital:3", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:3", + "minzoom": 13, + "maxzoom": 16, + "layout": { + "icon-image": "OS/Names/Local/Capital:3", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 24, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/District/Capital:4", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:4", + "minzoom": 11, + "maxzoom": 13, + "layout": { + "icon-image": "OS/Names/District/Capital:4", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Regular"], + "text-size": 20, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 3 + } + }, + { + "id": "OS/Names/Regional/Capital:2", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:2", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "icon-image": "OS/Names/Regional/Capital:2", + "icon-allow-overlap": true, + "text-font": ["Source Sans Pro Semibold"], + "text-size": 18, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "icon-color": "rgba(255,0,0,0)", + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-field": "{_name}", + "text-optional": true + }, + "paint": { + "text-color": "#342A07", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Country/label/Country National", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class", 0], + "minzoom": 5, + "maxzoom": 9, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 21, + "text-anchor": "center", + "text-letter-spacing": 0.75, + "text-field": "{_name}", + "text-allow-overlap": true, + "text-optional": true + }, + "paint": { + "text-color": "rgba(54,44,7,0.5)", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + }, + { + "id": "OS/Names/National/Capital:1/label/Capital National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Capital:1", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 13, + "text-anchor": "center", + "text-offset": [0.270711, 0.0292893], + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(52,42,7,0.75)" + } + }, + { + "id": "OS/Names/National/Country/label/Country National 1:5.7m+", + "type": "symbol", + "source": "esri", + "source-layer": "Country", + "filter": ["==", "_label_class1", 1], + "maxzoom": 5, + "layout": { + "text-font": ["Source Sans Pro Semibold"], + "text-size": 16, + "text-anchor": "center", + "text-letter-spacing": 0.5, + "text-field": "{_name1}", + "text-optional": true + }, + "paint": { + "text-color": "rgba(54,44,7,0.5)", + "text-halo-color": "#F5F5F0", + "text-halo-width": 1.5 + } + } + ] +} diff --git a/src/server/plugins/map/routes/vts/README.md b/src/server/plugins/map/routes/vts/README.md new file mode 100644 index 000000000..1641cfc3d --- /dev/null +++ b/src/server/plugins/map/routes/vts/README.md @@ -0,0 +1,5 @@ +File in this directory are sourced from https://github.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets + +VTS_OUTDOOR_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json +VTS_DARK_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Dark.json +VTS_BLACK_AND_WHITE_URL=https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Black_and_White.json From 53248740bd39b1ac612c88dfd510a35186e2592d Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 19 Jan 2026 15:56:32 +0000 Subject: [PATCH 41/52] Add attribution to the dark and black/white styles --- src/client/javascripts/location-map.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 4548de65d..63bfbc160 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -292,7 +292,7 @@ function createMap(mapId, initConfig, mapsConfig) { thumbnail: `${assetPath}/defra-map/assets/images/dark-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo-white.svg`, logoAltText, - attribution: 'Test' + attribution: `Contains OS data ${String.fromCodePoint(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}` }, { id: 'black-and-white', @@ -301,7 +301,7 @@ function createMap(mapId, initConfig, mapsConfig) { thumbnail: `${assetPath}/defra-map/assets/images/black-and-white-map-thumb.jpg`, logo: `${assetPath}/defra-map/assets/images/os-logo-black.svg`, logoAltText, - attribution: 'Test' + attribution: `Contains OS data ${String.fromCodePoint(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}` } ] }), From b6c1c139297f705bd3ee51e9629da6e06b0a3fd2 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 19 Jan 2026 17:08:31 +0000 Subject: [PATCH 42/52] Add VTS 3857 sprites --- src/client/javascripts/location-map.js | 21 +- src/server/plugins/map/routes/index.js | 2 +- .../OS_VTS_3857/resources/sprites/dark.json | 690 ++++++++++++++++++ .../OS_VTS_3857/resources/sprites/dark.png | Bin 0 -> 8738 bytes .../resources/sprites/dark@2x.json | 690 ++++++++++++++++++ .../OS_VTS_3857/resources/sprites/dark@2x.png | Bin 0 -> 19818 bytes .../resources/sprites/greyscale.json | 690 ++++++++++++++++++ .../resources/sprites/greyscale.png | Bin 0 -> 8145 bytes .../resources/sprites/greyscale@2x.json | 690 ++++++++++++++++++ .../resources/sprites/greyscale@2x.png | Bin 0 -> 18684 bytes .../OS_VTS_3857/resources/sprites/sprite.json | 690 ++++++++++++++++++ .../OS_VTS_3857/resources/sprites/sprite.png | Bin 0 -> 14900 bytes .../resources/sprites/sprite@2x.json | 690 ++++++++++++++++++ .../resources/sprites/sprite@2x.png | Bin 0 -> 32094 bytes 14 files changed, 4156 insertions(+), 7 deletions(-) create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.png create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.png create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.png create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale@2x.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale@2x.png create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.png create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.json create mode 100644 src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.png diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 63bfbc160..90e967da0 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -70,12 +70,9 @@ const EVENTS = { } const defaultData = { - VTS_OUTDOOR_URL: - 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Outdoor.json', - VTS_DARK_URL: - 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Dark.json', - VTS_BLACK_AND_WHITE_URL: - 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857_Black_and_White.json' + VTS_OUTDOOR_URL: '/api/maps/vts/OS_VTS_3857_Outdoor.json', + VTS_DARK_URL: '/api/maps/vts/OS_VTS_3857_Dark.json', + VTS_BLACK_AND_WHITE_URL: '/api/maps/vts/OS_VTS_3857_Black_and_White.json' } /** @@ -152,6 +149,18 @@ export function makeTileRequestTransformer(apiPath) { } } + const spritesPath = + 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main' + + // Proxy sprite requests + if (url.startsWith(spritesPath)) { + const path = url.substring(spritesPath.length) + return { + url: `${apiPath}/maps/vts${path}`, + headers: {} + } + } + return { url, headers: {} } } } diff --git a/src/server/plugins/map/routes/index.js b/src/server/plugins/map/routes/index.js index 6f5adaa2e..32486b472 100644 --- a/src/server/plugins/map/routes/index.js +++ b/src/server/plugins/map/routes/index.js @@ -128,7 +128,7 @@ function tileRoutes() { return [ { method: 'GET', - path: '/api/maps/vts/{path}', + path: '/api/maps/vts/{path*}', options: { handler: { directory: { diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.json b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.json new file mode 100644 index 000000000..4b0fe86cb --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.json @@ -0,0 +1,690 @@ +{ + "OS/TopographicArea_1/Reeds/3": { + "x": 0, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/2": { + "x": 67, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/1": { + "x": 134, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/0": { + "x": 201, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Marsh/0": { + "x": 268, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Saltmarsh/0": { + "x": 0, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Heath/0": { + "x": 67, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Rough Grassland/0": { + "x": 134, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scree/0": { + "x": 201, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Rock/0": { + "x": 268, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Boulders/0": { + "x": 0, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/3": { + "x": 67, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/2": { + "x": 134, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/1": { + "x": 201, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/0": { + "x": 268, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Coppice Or Osiers/0": { + "x": 0, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Coniferous Tree/0": { + "x": 67, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Nonconiferous Tree/0": { + "x": 134, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Mixed Woodland/0": { + "x": 201, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Orchard/0": { + "x": 268, + "y": 201, + "width": 27, + "height": 27, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Site Of Heritage": { + "x": 295, + "y": 201, + "width": 26, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Cliff": { + "x": 0, + "y": 268, + "width": 24, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Slope": { + "x": 24, + "y": 268, + "width": 24, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "OS/Airports": { + "x": 48, + "y": 268, + "width": 22, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Positioned Nonconiferous Tree": { + "x": 70, + "y": 268, + "width": 18, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Positioned Coniferous Tree": { + "x": 70, + "y": 268, + "width": 18, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station": { + "x": 88, + "y": 268, + "width": 40, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station": { + "x": 128, + "y": 268, + "width": 34, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station": { + "x": 162, + "y": 268, + "width": 26, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/London Underground Station": { + "x": 188, + "y": 268, + "width": 20, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station": { + "x": 208, + "y": 268, + "width": 18, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And Railway Station": { + "x": 226, + "y": 268, + "width": 40, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Rail": { + "x": 266, + "y": 268, + "width": 16, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Bench Mark Symbol": { + "x": 282, + "y": 268, + "width": 26, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Triangulation Point Or Pillar": { + "x": 308, + "y": 268, + "width": 18, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Road Related Flow Symbol": { + "x": 0, + "y": 292, + "width": 18, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station_1": { + "x": 18, + "y": 292, + "width": 18, + "height": 12, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Direction Of Flow Symbol": { + "x": 36, + "y": 292, + "width": 30, + "height": 12, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1": { + "x": 66, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Motorway Junctions": { + "x": 76, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Greenspace:1": { + "x": 86, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Structure": { + "x": 96, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Tidal Water": { + "x": 106, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Landform": { + "x": 114, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Country": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/City:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Capital:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/National Park:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Town:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Water:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Sites": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Landform:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/City:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Capital:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Landcover:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Woodland:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Hamlet (Local)": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Small Settlement": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Suburban Area:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Village:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Town:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/City:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Capital:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/National Park:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Landform:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Landcover:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Water:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Woodland:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Hamlet:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Suburban Area:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Village:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Town:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/City:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Capital:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/National Park:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Hamlet:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Landcover:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Suburban Area:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Village:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Town:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Culvert Symbol": { + "x": 130, + "y": 292, + "width": 14, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Historic Interest": { + "x": 144, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Inland Water": { + "x": 150, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Overhead Construction": { + "x": 156, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Roadside": { + "x": 162, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Spot Height": { + "x": 168, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + } +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.png b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0d71e1a8431ea79a1cc9835e5df5714a7aa6a9 GIT binary patch literal 8738 zcmd^lyA z@4Z#G>iz-u{c!Jxr@H3p?wM14=5$ZjnID?!3V1jaH~;|PDJjZo0RW1|6Zo*upBPN~ zFWyfA-BMaj8UU)Jp51@Mcp9UAQc;iv9z&vrJDx_^PKppH0O0@m4^V!x<5ND7AXgR$9k%;UN8s53$_xqvVYEFX31x3v(m>k0>Z^jc~ZvnnsXs zxx@2*RjdkBW3cqqS6%Gyba`=ESm?s$Y8J$hcjF_!c;?|O3=|kTWEuvfXf&+YG<5ok zZ+VQyXvKMxl`P(VihTY1DqV7NN_*IRLd!hwH@wbJooA_iCAY`51 zXIQw&LJVXO>38QFtOoxwBYpfm)l#l3X+~@fSXYK3bGa%u>dRi<4cy%ot-HCUcbpLS z1QE-Lp4+K=@ujXl2$xyOs39E1q_mq=IC4y@|31S`)bxai;_3b=zdVbz*YC5=HECp*J+oLktt{=5BV{v(#ct zAYWg#R&-{|@Axj+{q2Ei`Yeh#3tnPyKhHBXPe+=s^e+@#9VPOH0KduSIAe6Gncd8z zcrrI0umw&Q&WOg7>V5R*H{`hJt4mbmOqpx?aPt-C2&JV|_Wmw{@4pEft}h)Vz^-+F z6L4X9dc^@VqWNAIs(lF-R^F3$-L{iH7P7g)YU|$4X%{oEa`c+d@q6y}{<8y(l8GV& zQ~cIVs)wrn){)1(H#npbp%sRLrtR3ic>xQK_2v8SmcQ(PrWc)e03U2%k_eGM zX@T_K2eX{P^N(EZ`5d%(AjFc9Y~dC}r%Ymh#ckbkBY!((eJy2fAiT%4tY_u#y1t0v z-mYvbr@0YUu?xxA+dZziLY!L(pj>dE08YX5`$2g8OUdL53R>^`P3pe_>=>pXCehAF zlaq_WtHB_nHuoDTIGQHJe%|;jc{1h4GXN1FHNgAC!T1`FhXd98CCxwCNzw?q#=U}T zJH5a^9-0^PWA;uRQATzmm9EMl3QGavxAFNXkJE)N1u7&FJcpennYFULExbr|3!iCQ zKZ5VYM3goyeg``)*|nTII!ZIm%z_o5Yf}zcj9wo0j$A*xxubl?N2H%endoYR33HF_ z9T;bV@voYlw!@8!@t%@r+;S<>kMnJ4&zn3!F%C(#gTG#KWt?Kv`%NOKJM-O1PQT90 z)YRtYdi@`3+sijwnxZoTJI|BeG3Kzm^?Hsf^Zy8@(9T;KMdpY!iH%4w;9biJ_#Yz? zSL-U5VbQvkG=;2Qro{JRNHi6r{x0tJ${p#@92R+JWBtS8$0%JuN)f$1pVjLVF`_<0 zk?H{-u-ZALB$m?%U%#K#*5>cLw>4ZA@_VXC6K6T#`}@q2nEtOsw853BSK84$xslcJ zUxRV=R>fY8b>f8P6v|D+O!B_y*-f7mbaQu0rij-{^0jMzwXeE^)}kL>wZA$=Y6+J=1W;_YnyC*W&*`ET^w9K_tFnqY9dauZ6En zHpP-`M(!UDYw{!IcAeyWU!A(9ZSXvkMqLS0^vT+C^>7DU zq=X=~{Jn#7;VS}D`j$^q12Aur#FC%WOTZ4yGPM>r{Jzpvd z1&h1qKi`X5n+|la{)f6*I-2(}^WrT$$LhtX+*E$&>Od^6ta16eDr1qA@mDg?{hvc@;tazWL7ti121hI@IFaaQb&32)pr5`2Q}ps!H3 ze`pi@Mg7$g&Embq9J2cA7wRio?PymZyj%j}%tp0>jD7_C*PzpxrB`g`tq8 zMz&o8hUT=ie@>;Yd^R)P^#>2kPa%An+pC<&IT&wWNNe@zsHBloI#E{(Oc}Hcsh2GN za4>bIkO$T@EF1395A#^)!PC{#uag{CaqhCrEvw+$*5@$jm}_$Ns=TRRn#rKbiEUia zX%2J;A7RIg^=~;!s{7ICiqpOlRU1Hoqwvu0?W;Cv9{b-eM`mutd*`JDGGPzx}FRK)C<2PSR5|E!vcI2~6r41f3a7yvt0 z6ksLm`a3-|q~e~_ev_o0c$onHX* zt}LdUhg;k7xXFl24R;vZd6hGG%jF40lF<9Z-ed*j7wXWY^xl0`gQQmG9U8vEcYhN| zQhB_H?Hf?-cZhHYzcNYsGC|_1IksL2;Yd{JAduhQ;V!sKk9$jtD4Y`vX4wRdT&YHE zACk@OOs`43Pr7;2nHEEenG}2i|L*{iW5BpJoB z^rv}+W$3W=*3Qn7A1T{gW7k*I({VddJmgGEH1nJU{3m_E3k3-!)=a6xpGK}+J#aVO za{ar-;oaJds-?dIANeYHdyG7v7IM|pKnlYMPE0P1K2jdF?Y*y<>s#ptE|sq;Au}lj z8Y`S_I`0i?jP7`mKJ;61h>0%0vB~FI8zZKUfvI`NRUiYrl?Z0*)KCu)7e47%-iqR+ zXX0EU@)}J{e`L%9?A#pwWKYgV{FKIHs<@U^THA^7mn6F8hP+fYcKuG{By9v84mOQS z$%`~A-p5Jn@;|m7c=poW*fpG{sE{m4`?_j!vnz7lC*+(7z2GUeJ{QNEj3XrbzX3E& zCff9sqk$jlS&9-O5qRH?1Wq`BjlL>GT|U7fD)0d-GybFo83%FMzOU7&a7L}&h_;@D z-F~(mMeWSxUVs`j`@95(@w)OpbAi0!-_NLJVtl3<#Q7(%0fj=P6HS&33^H#Ku~Rwg zo^T`J_^(qthgkwL0OHbwp;7LPDs|2GN5%+BYHH`@c^+nvJtQn@_`bnMuS$?pXrHgS zu%di7bkmVL($?)432DK$cJMw_u1alfpkAr|yK|LIp}k?^pMTs2ev$FE)_@)Tg7^YE zK?Wv_;bx9P&l-XOP~N2(|MnR1B%;#93$Ud59^;b84?tz=yf^d{p6nnla}>tOjW_`5 zMX}LukIgnL{3N^+-o$d;%U7sUK^Ozy1HQTFk$5)Rb5pE4xT6~ee=}#2{u&_MWFO9G z%7&q*zqK%0js@)V2^d79cVdA`o4LFFOY8@ghLn1W)BZ&7T7~d3Myr$HlxdE(Aq8g! z%VciP0*Hbq$dX*b+SsqYa;0`_?T)2~k_^5`mwLAyrJWxb{snk?E2)D>(y1c-lUX0T zu{kXKxwmy8`4ZkWvqE26$9IdhexH5;z$*Bep&c{)ySn#jKJDU;j6z^RbOKx7Q<}f} zuA0_mG_w`(S`L)PwbB%S)!BQ0leNh#eu&|Y&UO1Bmv{Jr*o?qXV*>A>QefBi_YsF* zxy#iqnJ=4pKF~z~S-(+9oV}W7bI)c6KY$&6Iv!M zdp{W((+fG7SUn1-oNqpVz_tdFR51MbS7&D;N5Hl?NG zkWg>DfDw-GDG2$83n)~hNv<1T?aQv5|Kn&WU*W&oq+^|LEV?~cH#5^4`s|I*3OeIZ zTXFCoLX%%h{K07(wa9=_tv9Ny=7bDTs6s!eafeZNZD38=BRu_R-~diRt!HCeKw-_A z<;yWKY@h*YV3S-xi-Ezm8@W*&0YnR@_q1%5B@c##a2UHh2evK|Dv2$VW4iA=z+(^B z?GN(Z4i%F9&1uCa6&ym*!)0QTx_y+s0Si>io?Mjaw{$@KQs}@w*Naw~tmayXO<@j% z2-Hdcc_?GpP2YyZor$^!f3BJq0OP8-%C(`-nJ?L%lw1D>&z3S3S9R_h;p?#u|K>bq z3-X|#6u28PVO)$lst87O;wm{SG)~P`kq;u~@I@n0fmmm*Ta+2I)&`f<(~CoKKhovA zDRr~%HG$*+Zrr&~Vm_WxD~^ut_t`!4iFd)!lv~|@3HSgrJ0$*fZhcLyD;*a&Re7Xo z*frAfnmlwPcd9PpR=Ds2*@f+U*Vs)CKFkPsWgXt|78&N`4ZFHZV7ga%}P05@I68 zE>8PP{V~3|-dr+Omo#y=_>iLP_;J=q?%%#JffF4Ou&gHkybA40hU^_Tbv|GkWUJ7c z>@zoc&sRia@}V)_d-PBTh%7jD4@V;>!67#P(#9k&z4xbU47x?hp$QwYDj7PsrV^m5 zcxx|$B5ZxaHARE#WZzS-OTuYGS8!}Th8?Vt%*rl_j&&LWweJyr4H@{vb|h0uAYray zB@8RhbA_H1)aenhcUSLBe&$t2gV`MS|M)i0lvJMCP6F7)ybHTQyqPzcb2V(3{<+M^ z!oyM@Rv($TFTy4jRl(PevLgcT6?{;zk_W&Z;d2{ zs+^@>(v_}{uxAzU3|>SSCm-+*;-DSVU|uslg0z6ona;8#K$^~bJ!q%k_2=hyof2mD zX;h#ruS|_%PSGqtlyhQ}vE+VljT4KC)sap7q6V5t6dec49a$F*hHrzI4r(Ku9@fpJ ztW%781$z-?)o;I+bcm$RHy!j^-1MyPqHWl_ocei z_jO0ga4e*^Ta{^n#c360t_+Chk+S0;FWdoX3#uTYkNr2$^>K2p(zQqME{ zSRGc)EYuRNl4@76I5n;_TJD4eXx9hf36v$#yKL4_5d z&rT5{B*Jk!y3&D8cy#a-%)Mkgca~B~E?~38i8!pa&+8hqt;XgXr+en7LSH?vn(Ku+ zy=5sIp}UP?uPnvL)NgAJ!e@oSoY549VJ1I3%mme3QA^@8Uth#P6Q|K?H^yI+9VS38 zbsAtTlV;5RSNjG0>QX;x2BuTmDg~F6*p@PVsM{3n7~0cc zn&$JmcWcE5emM&9{&PPRK2e+(G7hzyQusO*zu4uTRPt4eayEGx0hxTYNP4Z)nKksq zj!iy&1QV#bFP_xBYAf=8&>~)O&vOdK1nYq_DL=VzSYA{xNer$kOM0`lu#Nph#;`V& zdt{fOgnu4Q#C!U*^#=ymCgb|3>;5$E4>q0I)i&N2O#k#Vbhq8rdzcc{JA9+I_y})8 zExn2~jiltQvw6K)m(PuD5H;qTkQlxP$XW!70H&~&!wT?u1t!3mFHpRU6KH;QIk6wu zV~xU~{d-9bd=xrXS~pe0_P(z8q98`^O@3PcI?k~{?Gf(;!SICOKch&zVhQ3^O>#}& zvoRr7M|U6mN3TK2GeVEJTcrUeJwq}21K!6KN8G4ulN%2Jb|efM?o$>>RONQWsuM%& zH0Yub=&PXt*pr4U@IPb?S%>|>M6QSHqrj@aeW_MC&q=Qy=1;2i5eE{4lZ{45w_Qdf zHYn%9*bR4h5i?v6cp;lm5!iOB>o=!W!BaN#N%U*Jsq`Y5<_J*Ha5$gBwH63LBYPKA z63WJeqC2;BVI)~p1fu%eG|Mr6`(C}yV3iImdY(VWRwfm|{O$tT{uTws8_8aJuQ0xA z*py&+q5fPS=CyyE;!o|BO*70r3>A_UMdibEp3R?n%3v9!jpoxei`4J68fN!br^dWP zEc`QPTv9_mW#Li(X>Hkv(sG^;oc2Yw<7JN6!=L(`ff-tdDv^Uqk|;^IzcuFSj*}kw z6c*5cWjNgKq`zl}1%m35kICn{aAjfvNi?JEdz2`q4(KgO{%aMpH-u8|`H$LsmEjlK z=CnGd2xlic%3GlyE}B2Cgg@=={l=`jUrJ^_F7_7r13jE4MC?M!EZp@W%i-LSIG}h{ zpTk`})L?qZ%8!h5K~bB*6`O{;yH9x|rG|qr5@(XjXk1@}9;;$7D)_@x67JbTbp|Gp z=IDFsP_Vh60ZdhFi^K#6(1BKN3iHZSU#?V7=f(YnG@`lx-3iLEmlvK+@U3Vps#g*v zUO|RRlcgLuE`BeUYw;2vp^ZnzIC>pyo%E&pYx5aoz~Xbd+M%0?b;A9Z9UPZ-;pd;^ zLy=v#JhPTf6tZ?${xueZ-SxonqN2T9uYveTF86)U=ZbTvv4c(d8NDZu`Cwc<0JdcM z&}LWWO#&j3($_pn3qhO5c3(9mi9%adw3?mLyF`Cf^p1##uerv(B)cnfmg$#Uc!4)H z^+5A6L!uv$@l>yp>k(3T@ls?{LHf)~nV}=aOURHz`4)U9$e+7gl| z^k(p|ReB_1&Ev+}mt=)b?JV^kG)46|^zkPDba%%Q4OTAM;&t0`KHu=ElM`VgKUkV~ zcfkoE@x8_sp zg~O`^vK5ZK!QNvgpD^)#20!Z1Is5AYQ#FZ&_wG#|H68SS3Y;0ogA7ODH(DLp_O{z>Dn+T9sF&>!`Yl3EMYLa?48__^IO{t(wY~%b`iOkP`?!@6= z#On&EK4>Sp_gZ)<*V+g%eW25AAj5N(%39LNmXf0)*5MUpcl_YJSc+#dvj0_n=jlLJ z_8pp8fKHLSQjk_n6QEt(2eX-9?t7J^o{k3x1TKZ!h#hy#_8Ju1V;!d`Wu>}`ZsVF$ z_C8SxnnL8C3hu6UOMFLuRQXuMA7w-XNyYh@{7id2dyO= zz#jH@`dnF)hW)tH8d0vP{yflgZ;hSIohlw(Uq?_V}U|sqi-#5yHBQX*55np&S zP(d(_jLxpPm#;)ndNF%eF?NuW)Tl7L2b;eiGA8}Of`OZxzb5s?z6M-yl{uq^Kajn+ z{njE~mu2#B+gg}X$<}aN6vO;@Z1|`x0hPRZP$e`bUMzi?3(3B*Ns!LOWcMtiQ_J*| z5Lj_&QObN1|LoMVWpag5q>tTq%dFOD$Fk32f%i!a)}Hx3+f(MBo56TU*YFPxzW_|1 zk&A)cZgu5Lbik7C1IGG=UU19?J1-1?c%X0ACUc`41p7t*&^Bo~T4}O=80ct2I1<}E zyZ&M&fL2Ec#NJdT#36)EX|ph_XyaYdw&o| zj77MW&j|Ol5z3OH@BeK(5C&EBunZaQV6P*jkDx5*z2og0B&1|0b1gaE zE#s%YE-Ov+V#ep2xFmQ0ICWtk3ABU0I|5UUT(@a$mfxYm%Lu-k0Z8^smoK03&W# zk8tgb`(@1*+j!-ss^NCOUfvRr#cUz0Ox!>Tc;?Jodi}6WK|f%X$hWi(y@V_zB46n7 z84-Ro!_k-(&=*RQ>DcSLLk-RkuHCz)smnq9jvl{oS`FCWo5PVQk*FL$Ek{)BX~c)c z{_{Q<-de_s;&$+4>zN8++iTQf#Y??N?eRQiAOT#;vB0P0#&5 zr8o+A3!;Y4%Kh~-pa~6T>vv}DV5xTY1AlFzb~@a;zSsk!b;ddzQG@rFBmqA@WG=A@fGk8V+;sC9!56N}o6FO>^U({03R3*2vY}%lvR8j-w`zzO=l%=)q zs3hK03EjHMV4Pn?#V(Q$f(?k1pz?Aa50cwNjT;$;GMC+Nl}k{Qg@+%gz{l+)&!!hC z^0FE*XCU=9&{3M3%l1+?VxTnE&BX1X`Dga~QyWvy#Cwr%dKI#uwTsW69Qhc9k=5HUH@PS;Wlc z^OFF0z&zZXU|voh9vyBT5pDqyUOsj(SOg5t^4)R!KOF2G&8;oI{BH+tZk_*F^N4_j X|ChrIacT9F1E3_QE?e=|^xJ;{y?tss literal 0 HcmV?d00001 diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.json b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.json new file mode 100644 index 000000000..ea0858a49 --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.json @@ -0,0 +1,690 @@ +{ + "OS/TopographicArea_1/Reeds/3": { + "x": 0, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/2": { + "x": 134, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/1": { + "x": 268, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/0": { + "x": 402, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Marsh/0": { + "x": 536, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Saltmarsh/0": { + "x": 0, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Heath/0": { + "x": 134, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Rough Grassland/0": { + "x": 268, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scree/0": { + "x": 402, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Rock/0": { + "x": 536, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Boulders/0": { + "x": 0, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/3": { + "x": 134, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/2": { + "x": 268, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/1": { + "x": 402, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/0": { + "x": 536, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Coppice Or Osiers/0": { + "x": 0, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Coniferous Tree/0": { + "x": 134, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Nonconiferous Tree/0": { + "x": 268, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Mixed Woodland/0": { + "x": 402, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Orchard/0": { + "x": 536, + "y": 402, + "width": 54, + "height": 54, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Site Of Heritage": { + "x": 590, + "y": 402, + "width": 52, + "height": 52, + "pixelRatio": 2, + "sdf": false + }, + "OS/Airports": { + "x": 0, + "y": 536, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Cliff": { + "x": 48, + "y": 536, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Slope": { + "x": 96, + "y": 536, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Positioned Nonconiferous Tree": { + "x": 144, + "y": 536, + "width": 36, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Positioned Coniferous Tree": { + "x": 144, + "y": 536, + "width": 36, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station": { + "x": 180, + "y": 536, + "width": 80, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station": { + "x": 260, + "y": 536, + "width": 68, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Railway Station": { + "x": 328, + "y": 536, + "width": 52, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/London Underground Station": { + "x": 380, + "y": 536, + "width": 40, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station": { + "x": 420, + "y": 536, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And Railway Station": { + "x": 456, + "y": 536, + "width": 80, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Rail": { + "x": 536, + "y": 536, + "width": 32, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Bench Mark Symbol": { + "x": 568, + "y": 536, + "width": 60, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Triangulation Point Or Pillar": { + "x": 628, + "y": 536, + "width": 36, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Road Related Flow Symbol": { + "x": 0, + "y": 584, + "width": 40, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station_1": { + "x": 40, + "y": 584, + "width": 36, + "height": 24, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Direction Of Flow Symbol": { + "x": 76, + "y": 584, + "width": 60, + "height": 24, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1": { + "x": 136, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Motorway Junctions": { + "x": 156, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Greenspace:1": { + "x": 176, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Structure": { + "x": 196, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Tidal Water": { + "x": 216, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Landform": { + "x": 232, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/Country": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/City:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Capital:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/National Park:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/Town:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Water:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Sites": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Landform:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/City:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/Capital:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Landcover:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Woodland:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Hamlet (Local)": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Small Settlement": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Suburban Area:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Village:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Town:4": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/City:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Capital:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/National Park:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Landform:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Landcover:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Water:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Woodland:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Hamlet:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Suburban Area:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Village:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Town:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/City:4": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Capital:4": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/National Park:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Hamlet:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Landcover:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Suburban Area:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Village:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Town:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Culvert Symbol": { + "x": 264, + "y": 584, + "width": 28, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Historic Interest": { + "x": 292, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Inland Water": { + "x": 304, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Overhead Construction": { + "x": 316, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Roadside": { + "x": 328, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Spot Height": { + "x": 340, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + } +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.png b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..28292be4d93f38f9c2cd84adaa75a25f7d060894 GIT binary patch literal 19818 zcmeFZbx@np*De}Lfl}NlTA(e(tyr;A+)E1tclY2PTHK|@iWPT)ySuv;cPBUj0^y{; z@6Nqz)0ssIUIa$fC0Kl^hCvAgWs&8IVRDkXN-D8}-=UT2@zTN7KDD6{4iemmxI?s=%ypY(}^x3jj8t(p~g}lZdgak~6|9$&k zu|a6q85NX@$ikJ@7_C2>=07j}(#W9R4Z(-tk#8v2LW`K>qGN}h>zX|;qtW{5Z~D77 z&wi~)wKri%u+m^ffLIUz>(x7_sY#lV!ju98WUFOp08KIcHySnYF#CU)5Ksz`R*I0$ zjS8r%S%;36i=fc z{mEl^#{vn6N-6RGiIO5k!K}w@)5pmTCOM`iU?Q3UTa1OwSlXeVzG&L+o^HDyT#9RE z?K&B;f}*zywbVB5nmn3RSjfshOjH#HNUd&EPa<@>QokJK9U(m7S~jBN`-LloVHNu4 zgH3vDJmhQvCY_b*nhzBH*+E@DL-*&)g7}ssUV%y!@ov(DYwW|-yZ@CV4I)(<6C||} zW_J-_sG^>vGs9To_sL zLA|y$cgrV82wkndU^d@KPpKdEQ3LDv7~E`@CRDFF8rZnDv*M0#@SA45G+dZe?l=Q! z;7MQQ%~Odd?CjfkT?p^D(N2vy_xI2?CMJN2E=ku^PDIDgqNLINPyy#)Q1mnZ@1O&i z=F0HCg5Vm0)C*A9le803234wQRB?0YD?7<=K6QT@UNO7b(qxoh6cN6(7sMvo%`~-J zV?}%&f@T}61klah^b$r)HKTO&8BDNGn|najw5lCsh93(mWD2bW((0+Cok8Mdwt*-Fi-I-40hCqjUU z;G7EeazjmWxact0~uWrKsp7(st_{YUp*HEv-}idr+X)zXgO zax?^b51Bt#907ndH<#7hh*=RkKhUX9>`TD=gf_9)I|8fx7*cs$!e(fIQ0RLM0Nn(J z0en%mefAJGS@jh{vKNk`83NfMhzoQcs>f~}I24uo>7ChfT4;5-yfXTz>6wvcgEamB zJi=4|N=#bymSqHVh^C#e5Qr^eJHMP%dO`Mgs^t z$Y>gkhxlsOzet@J1>~7bTL?%1w8a+jN@19C`0N9Vx`Vp`hC)hyP?lI5(Z-tVkRa#4 z_j(4;*0Bzj6xRZHd>8;~^%wxFG|xI2G{C^krVt?30&`yoWy#b3fe?@eRmRf)XnrkZ zV=v(~=v_m*BmN+zOXu+G! zZo7vzoWy{4STd7x>oXCaF5U~DH~y}`d-=6ZHd5I9fhZ^aW}=Q^R_6rPh#pm=zuXEv+E`e+H^p9f<^Z8 z4#v%wfR1)ht;6%@xu=(!LYF?O_cx&0X&<=o$pR)o0B6nqJ=*rG%_N1k=TqJhDIuBt z5LRJ_sQR)A=_61fJ`=Z=;)DayV1>!ErbM<^AI`_yyQl@xPrf)CCn6*s8mwyJPr!zl zXZ}m&*FArya2rk<Xc(6~LOW)Sc`{0&}g-1<#FKJ9a6`7%S z1b?*{<#H?g;`R)18gkE`13eY_ zt-?_Op2@PO)SJF35ro-6<#z8wMZf7!A%hoT#F%I9Zu4Y#&m3=(+Xzi!+U z!Er5;sxP+^L~zlzX%;|6$KuB_r?t|axQie|ko>7Jzh5u!E4U?gtS5pD&u>pBhsT`Z zn2!&8m9lD!T=`Pu*!Prii!3-_Of)eix-b`~(LQ+`Br?C=io7=9(|7Ix?KpKCbsY4` zpdBGcJ#Ci8AvW1eO8qSD=Eq@v?T$_79kDWd!^$CSw&g41AMIs-Xw@QUrTr#sGYWAG=bOF#<=kYo4RrG1R!zl57g=OA4`8MZUZ3)Gc?+?w~9g8Oh?e@RLXUBisac*>7 zJvYP^K9Zj#<_&Qyax}9>1i|O>6JZkkqj_Z8DE^PiNCIW3gNaxD! zrc%lPxtY{OA!V!YmxS=<%dgABSlAYYJP3malt3jf@c=0&(XLGPs50orl-)l=Wji7J zPGa=g`$qqbH2znR#{WTptU_nydmX!o9Ckbqb(4dPq{+3!ySp-!geqcz7K^S7DxR8{ z5y)no{y?dW&mYYY-1`I}5q^!?yb!7}TKxF***69xQv{YYacg08v37#(yi zKw4(P+Au!-`2x0}dszwiax0UzFFbuH3Suqoue78#=}ajw3wEoGs@Gcw*2uV3H36xx zNz50Iad1{-=GQz=FUNfRY!oBc}`b>>HYHb4}*Kq+-r2hCv|3)e0R~}gS=xLbd zUZz-MN8m6BNe5GrTezR?c$m*+yO1cRaJrD$wjq{8Fy6tsuz$Yc}3 zj8x00b%6%U=Ef88zG+S@S&#w{dy;{AawJyPUYn?c7Fi;3i_6$!BL2eSn{asE} z5gJ_o^f{q%8EhQUJe*sp4~^Pv6%;9>`DMwZ9Wk8_oD+3gY=syrcj}jT_f}RQ;jL?A z(Ay0`UyjvTi}}oMw1)l>Z4sMh4^(iRn8(x4>G?yWFkGf{&Wz!jSz%pPchYUG|7Rt# z{yNJG@$Q@bCcau#@-dCUyCVejwNz*BS~ZplO_UrVw+Ps7{5 zo}9x?0kI-ivIi?`qp^!4N<)u6&c@H8HP9F9E!aRcVx1LAB-wy$v+rM< z3%w;~kgL@cy)$ko#9*|-ZWF1Ou^p>NhK1s=0MLLP*ZB1+#&&!ce<>8NpPmm{XoMUl zmwgXNy+3RV@W*L9KeO!r(x8+UE0~cW?iuv*4gJ@Sv;V&Re{5h_--IeDIcjucXDl3z z#8`XHc#>N%Osi|5cl6d(X$7F@n?OI!W#-ch{ZrAIi}pAk6?*II-5Vl)HG@Pwob@fi z-+a_W+6Z^2Oh$rQuhrD^@a9EWwO!CaWZ$W&2chcGysDTc+(Zg3yNW-4Lr$_R!!C;a zv1t@m%_nCY(RaFy!a#pdlHB@*vXEo$$wooE2{va*xFi#{Cy6%}FIrC!*LWBxpN9gM{oa>apr&`F74?hQ|AL}u- zksa*_HH@_JJ~|{2@g?c36zp~*n<3@O{rNb)dGLb_1#oJN#1VB8F$Q6ZD-bbe86+*X6LCb zt=er&YxMHwpYU<;yN{>c=MA&%YP!*&gZkoH0q@G=(^lc;q&XejkvqLyNJdg_JCnhI zUlq)@RTDAmYwp}4gIwRd)ioJ)Fwnbq{bD8_n;#pMgm-jFJtLsgQsM4_aGUjWj@AIK zzLmFC^WFvFd*-E1>WwTGrG1Ka*3K;o`WbSPqs-M2?m{%o3lz71BR%fIm%ox5`H#`$ zu88__FG6xa5L-F`GgweW&Cg4f}ou{$qBZ@vtXncli2?>Z$Upg zh!Saq7EW(b2WHFu9zh5c_}o;yf}nP!o!>fobvR~tYeJkbu=@lrrM|;mVdEXs)HOw4 zK5m=#AZK$oVPdBlpVv>?CpT(Q`rvfiG^~A?X5UI7;%auInDwlg@^27 zNB@^!mjDHoNtM=~1HOUriE@P~+JF9Y?lrA!`>>{-6M?rB?f>!iwStQui?rYdic^^_ zAUAR-vqvpob4O`j0H9;WZI=12KPmciPLQ3iw{>W|XWmxUWxpsGkLhzj#*RtIk0twN zMYm|UrFLOnaw_IOV1n{rZeM#sEHT9)?x0%qRKL$q;{BQUCI1qWbZ&ZHS;yUlK{i9V zWLQh}ng6T^y)`znZ}lN@rp=d(nh)P4Q*#R@gn{`T~O zjmJYNN^oUU2&r{5z=3EbOXQ1J=o$ z!dKdbA{-?)I6Ipf>{8VvraC8MZ`0D1$lNG>Ro|34Io~HnR`yvjuprT&rwkgvn|5n!kal= zl}9aY{b-lHSevbpSsE}FukEDG!`KA$O%4qhPt$FqB{eIq%3fq}j3l1t%pyYay44^E zV|xY7*)+gYz0=9Jf+_{{-K(T5LYM8-)+a_^8*iEU$<|dYCk&}k*XE`0PIvOk`o{I9 zo(-Hx32jLgoLbzl2oB4R;aondI~D5qyXiuK813H4&6sqe*aI!lmda@Q*AeU zMvM{PNsdZs@D-%RUt?J@ENQL8SPnO+eQZrRivFNsv7&0a3EE50fX%+NyLO(`)@&WW z9Cov~^&?;Y3#Tx*Wv}=8R2q8&80(iy_^Sb9SiHhG+YCOHm}OpwAaQD$^{xG^^Qc=x zsu8kB3ZevrZVTWcbSoAQH!6Nyl7eWf&Y#&knQN{j?GplnJP$U6Ht9>?6ux$_e_c^$ za2Tge;|@H(`?Mikg3j}jl4CS~9QYMWujAfORv25a9Voj zBQzCnhzzaI=E&W(!K7{thTuK?01x*77hB1VeWEVx0N`(BT+L&#Fz7#>;aB3JAXL^! z;g@_#s8%99EJ1b`if!6sTn!b5@w2TJLls0NDy8?v&VuU?A;}!$eYI!@pUjgE-<(9$ zHInO<)jc+bx{{6wuQWN!G}}zBe~NRK+7S4=OZxrKJl>|^Xw2y$F#PiT9iSA>bd^mf zIaleDS@3{SUI_l>M&VU6yZ>voPk9lfOgpu5NF!}URcFjuKD}1cL|geIGeXn+U{Yu! zuKZqRvCJuAw%drrF1@ZXt^iW)8ycknqtV$=EIpY z!7yvOr`HqXSQ+>YJi=Y3&N;fmOSZJ4&3FZ`Gs78I8azU~ID056-QASq0r(ammI*=^ z{Z&6egT z^&l{gDCva=D@RM7W29e>W*WjpXVucq2047w6H%40p~Y#x5SJgCFw{QvcH8UNp7<*e zd9hyDcyIOnY2~VC{On_8{H3aJct3|96(Af@goiJ3f~El*WPZ@?c@}Y+aqytlp1&V^ zso26QJ=_vLbF1=ltj>P@k`nJ;iIm<)tHeTg5@jSL!wgjQRG-v zlz#aDQu}q^B@^vFG^eZwjWmW#lIb0TkKPdwgZt@*%0O6FQicM`qgWsJnk^r_^L@rghbqLeU8RvkR-J)Bm4>rwn7} zIEGGHGGk~tcV(WY-kyV;dq zvk*16#f_WhBl@P+;Lo%=`n??%IM)R(zf?Auxva8^eCe};vp-xuNEkE{bdjfj(k=JE z=Kz1RWF0>WP?|yree?A#Y8h_MwT-CskvC{m4QEukE^+P+@M!#5^vL9En`#K=`vh-L zFqoR05haLgFB}oRY^zNA3y+3RwO<|JQj=N2-S497IVj|Eo=!`oj>T$GEf*2vSpu@}$TmYf9aQ7&fwdY#cT5WYp8 zUTNj+q#oZ`V^DJUyFK03`NP{pd0oeD@N?mT)1XKUHd&SfR(0k+Zz zf8&yV*11{_k6l;-S!9O#`@}5%&CjxBhO6>^ z?r66FmwO!2nDAVUl~b#4F4m1sxgNGzMUQjEJt!FQanCS>yBI{yG>JYe{cOb*!5owo zuX>+o_Fm&e#{bqbA7C}8@8H})_cQL94B942D0i#ouP`J}=gY62i5UV;8E9u$c=WY* z?tC{hiDFUH<*}7Ovo9OWr&Xp0o#Bd&JO+v#|y{DZ%?Z_qG+ze@~G8Ud((DhT>1F z=-pRjJu*F#*<*Ge2FoZryVCK=2=G3J{4Xz)#k={}t*R#YG!So1J)DLF6x6rY!F=iGzB%57HxON8Wb z4-?z65Ek!7wB{)+2OH|}ebQlZKcQ}#m_X#DUkhIN*A0-T5qa4_B8H^$Zy4WNURKuU z6g>{2R%k$nTI(v^fi7J6!^D#)A(a{c4LxkwJWL53-?K&y4SZ?ws=Cr8?3@SG zaznQ-a=Sxi=p|FG2By9n^{aKH7`JLYE*GDEX~-ScEGB)8;+;M}Fimjfl`64I?e-kE zK=Mi)&YhA+p|o2`a>p$e|M#2^BfMR4@q~Zt!yzt)so(9>CSYB3(w8&-Ua9`m(VfgP zTeD!hjXVqG*rb@G_wvs+`iFT*qs)SKq}GBBGHHg9V=bbZ5id7f9>?2#q(0B;MzSAS zM=MvNd$+uTfwv40mKF}t{{$E3|H_n01v#>Rs1ajAaqit8Zz4_3amKk(Gh^keS^F{> z;FP7wG=G>^cX{@Ly(_i`EX_x;o1!-T`E?JleV0FwM`dZ3d3-4Z6=2Ocd%hoSzrRbM zm1U7dN53rNiO{-KR+^-;@~<(4)Nfp-By&~(vN>=274vy6 zy#G_E=!S#q$Y3l>OY4fa+S<2mpUE(bDe!!a+smg&0b-MPV=5e2FkV&M@!$Jtr@!|M z+8&%vDO5M8-JS~i?iY0IZQ@(#NUr_1hL+L_GH_;XfZNNYI?6adl^`383aQKV$>bi91yP$MIQTms$ z6Ro)1estcgZ%-M4XE>YMVf#cbtO`^wLb|W|rvm&>?qD9NNBu3Zu6wkCt?VkqppiOS zEDyC{_S02+uuglCb++>gG%n^)$*SPJL|d?^jHvuAfHvPE7+zc$Y+>g@lPOd>^_0@0 zSM?ct{JuvG9NnU`9crPNdJEsNsEdR7oET_RrZes-bJvJ@CY4Tvh+T(Owuxf6Gsp;= zEb=$eW*TkNOTcmL1a#Wi60!A`D@qFijB3lm*_CWre-wF&LM1xDbB$Q1MncGpZ_}nV z_6^>5X+E)f!7nW=R_+Y#MR-k~=pP8%5p?VqW_~A0uoX3t!P6uCIgVov^Vl^K%eq41 zKZsWLzNc>30_GnUuPl~#yrmS`^Gj4tA&jOj&pIvK-r^oxE;f+&rhgSPz-wD22S9LfohNp9KY+CAQ4o6`bjlaSFp4;^?c!!q&Iyc^ZM_ zsob6sTCs!X@_*fXw65KN&^&f#< z%Lt{^Thu(A<;sZ}zq0I9E-YZ^Q-YpL=2{=3kLMbkP2@I+G4*6{YXThq@H2c}v+AkE z>aG5V*#-)~0-ERPB6e(u_iy)gAii8pqZI47_w0vTT%RKCRLX}+Vv0J12}hzRU5BX-+7nG z@~z~&%HW-B+|eAO-chnCa%86wS6SQj+IXjH_%ym+@$M5!mvamy4+PaeWAUj<#-#dVFvB=fXj1Zp?6Vz8TK=PBK zCrzR4Xc3x`!^r`H&Q{z5QYJ!xIg|~TruL5d+S8aS8jmV{F}?3z#eF}S0m@6OF?7nI z-vPY0G1#08Zc$%)yFHPjfb3Dxp?+u_AchX%j2h#Nrb>hU3;_G{pW4{YBPF8 zztuLm$F1uHamQ_K16noEg!jKiemXxYhYu3@xXq30Z5AGZ*4?s8%IBMZNHd<%kCkNl zq90uIg*ZyNwU}a{H`VQ=BJhK}7w9MMu%p`MGA?`r11_nRRjkfVDNwDmFGWu64wNF5 zKY=OM{vIMG)4gA2_RVCgTNwoV<=tHvFX+Q{u}=SA(v#1KBMxx&x(yN zcNX=^@g5ZnY}Y`zRnO+YDDYm(EvBn-T)kZrs@>llJvET{oz3!~;2Xxe`P~6lf+kVtJ2StWoQ0W8H5Yx~t#G7z z;q8#Ef`=ZX{}y+3(|v(-FG*?yQ*c*S4H0^;yh&tR#?TzY-gI>W|L=66Zx$E1)=mA zMRWSHKY6?zx>kkxTCzftBhHP>@0?qXy~;|xMjpMRcEZFLGkx9;aakiz&vxv6CgqKY zUq`C%`dPVa4ICc-*1du6PINP`;crRITl=kr++Lt^Z2n$Uf&mO(5Ok6q0h;nCw&r!_ z^N|NL$=B9eu9uE7{*OQ7daRr}?tmSnR{;2K$)RX(ueilYt<%vB)e*|LQIzm+f2RQe zcz^=9`H5L~ms&VWn);J`uFMBKR1YD+vsr0DhHcO57)ddJiMherpKb788wQ$K>DiHw zF^4vJ)tnx+r&DV$R^~E~jk(-%Tc;{)7sk=P^%iHNSm{W#e(dOaz2_0zBBXMgDZCZy z>8*={>H?AA6Od5-g_df;8WuA=d$ZN>iSqdUc+-p~_^*!@S;&WPk1c+hbhr)Wd~=zk z2I(v}TLPEp&Auc8R=l8XRgeb?NZ7e=oucdQl8QxOji+6JVfpfeHx^6l#BJXR+ zBi}1ArMY1?ALc%bh*<7 z-`R{x!ojQ@lZsVO@G?L7i@k*q3>jJaxhKR~Gw-OJHgZU?owEqVT(;2{93)G>e{W(} zFJkor-Gy%sjQD7W)>cAeQu^eDaVq>z!b;x2E`e3X|EBjjAYCaWti1cB52NDAIFz&d z)EejuIkCLpz11lM6EC@5aBxybG#3-oDc`*Zb=WOq+Z-!o307e42P*T%gc!;emh;wN z0^G(9cWy)?Z5pP98s$~Ed><|hGg&={1Zcn*8`jS z!I9hZLhC|>v#(i@Ta+MurY8+LRj0Wd%4#(wlOHV`9$)`X2)OaPVt7l)c`S-MgCcy) zH|22#-EJ+Y^0xI>#aHfn{_iM7dIywO#G(5IRj(SARqmpDR!((AiDOR3o%<#J27xVP ztZS;zfYwE>36Od!$^#qub*Ejt#uE@gs}^r%Z2reLz3OxGa6>1wj&U^ZGH71cKqoBV zJ{iO9E~#yy&A8||CS}(*3Av9MtoJMkA&;+?we-QA*$h1ry4Na~(yg?pMuhO|y%;GngL3C6_war|)jG|rL zV&|bUtYzn(3fFy#r|8Rs^#`@T2Ij=AEg#VqJsKCZoE<&3Ko@J9xAg9dtZOExYC2xc zDYtqiY=N5Cg6q595_H)_j%63%mIo)_T4WSiXrHkY^R%C0a6<6wE$`wy%+_^l1%shv zOF-ceq3ytOnE9(41;sY1lG+QY;G6WD>b;D|(6lGtB$9j_pGJxhvi~UQt=uf3_`ZF< zy~Xm)*Sv!?)f~zgJF4QR=ChnD;OALvkDi*KL@g|(OBabZ&ha;-S6s4=+8>OiA4PNs zVq~A5_rm8Uu9Ar76uL`xWNe|kFZWz(yjB>5e8|uwn1KcE3#{mUBz6>ptC%O|i_^EA zq6If`!X*8uUV8S}@O($yU1H%=+wB*|0}0y!$ayr9EKt>_ZA9N$jqAJkxfdR?^Wd=C zj5CkU)~;LLr*ePNcfX_1L!G?9yVmgG;+LoJzB14-X7A4k9St3SS# z&)p4;J=>n91|XK{yAf$wnGCsf&HRe}n@UF*@DqJzQ1ae63ND`K`mJ}UNbuAa7S;;G z1&T;x)jQ=?iT&2Z`I!vcfSWu2wc|;m!4@W(li|ZX24f!Kj>(zB-x)Q-4z!zCzyzOC z^XjFxMiZ`wG3Dh9T@nw`1j2Qy@7%W1PGLeV`jmV}5oSzZRO^YD)21D5fNa&Co6lM# zROdvPrlK~tUJqsSR}@{j6uCyRR|uV0h!MX3$oSFLX6L_zTzu+ zb0gFRtTIr|L$MEqB^;__1KwsVYHe_hzonBtT$yRAr4mj`ISTe;aAhDB*Ygm;fwA2T zK@MC;X-mWyW?XAq9eqbt=+~tHULYTj)JYtdFl&Kpm@SKt$Pa&&o&$WNvC68+r2K%Du<63YP16iiqS!%X`0e6jo)|t0z%SK<8xC8pDU6IIV4sFA^t>w=2 z3%c=;oaGj$_*2d}!H+0*)P9p8sX06dEng={%aIZzp(P|om-gmY(Id~^^Kj))r9ay} zLMU^bwS8a~Tz54sAxbC1)ivWG!Jfi~l2Vi6F4$n(-t8=9Z#)Wx6S3Gz6EC~g&MPRmq|5uu8V)R2i z$ZQobd~qnZtDYx{=>)M7wYpb~{?x_~s(iU~YA>oP5lLgROz5ND|MnM{|o^rXT8z$mY3zUmRPy}i1Vl>JrUl)tp#KuGaQiOktW6kO@1 zI6S~jgc)O_}LaR7gC=sC0r1_K#3F`|f_4Po+R`WC8YxN(4kdQZ=2B z2A8v9^N;ZLY28s*)37QCm{!Jrc|F(})|6v=DdF>Y)c$}HlR4Jp_|0P@C3IQ@MdxhB zr}d|NIGnd?@Y~n+y{eHzA%a;MKVT$gMXr4740=Ss^JpK{Gyxv2YzAnU?1x7kU3H4> z1@ATxn&v@#QMN!;!W9Ow!(cn-$kC~a41Wy&@!XCwDEI!z(T0B|)Ih(Pt^5Upw}v5W zm;P(}lk=113p)#P#>t4at$>WJ3gLn3jYsLHZ<~)4`$S`#ba!Nf{En<8NtHf-eYnKO z<`v0|*+tfF@(W#34);VtyswHF*||=RT3$E|m_#UEGmerGajyB$?e<*O@~gi3gK*xY z5v+BRTVLuRdAq6L>3yHN5vjT1ySZAkiZDZxi70&&E(X838*1@^d`EeR@6(QSQJd1` z+}0H}Qd*Da^TAzupgoE==q*wKYw@I7ow!>cN=Yn>q6;~&rwo?>kb1`8+~yqRf%(u-u`7Kv6NSoPtJHuW=*e6`rz(Q*$*$=;^1 z6GS9|M0+udm}+WtQQtg9iV87h^lL^s73qd|_v(44xaF-2TqLcWydB?j^c$KtT9^i= zY*D|~C-{+Ee9Xy^#jawSAOFT(Voz(TFK7MdZ^2r&Ybt8cU-i7VC@RVG@i<4{?>%a? zyplVOux>4i4E*F)&_SY3sLITcz7^L=%otydiZxD7o06OYhGiw#^yKJPI*Iwt;;L6{ z5bM*mPF~57I^iJwVi6fM6t6OXj({v%FVKB5(#_?W1T#ox()gr(V~*pagfIYd<7MPA zD-;G*pFY$4Q_zJpl~sdcX+L?6h-BeB#}bDh=bGYe?+uCb4xL@r-LKmgUjcgbX6*Uo zJ@;QK;VLmt68`YI(|)|!fT&?lMO(-yNl3+nkNiWf?`9}@3z7!?6@4LhXSG91(R}CF zS+r=djdJd|h|$sabDLa{Bt15zu832Lc-m0nTA}* zlW|)gpn<}jUl+GAu6DaVU&HpkaI%+8xj%^JbbTGz^Xu61>=n~=)!`P%yJ~*JoymW( zs+Y|X3-_rJ%HEwx+fAGC`f^?yNe}gV8`(86ZvK9^V#>CT6V^>NX@^Vvlw8BGAEquc zNtDdnQMOpGSu3hKLPC&k##k>1#9+o_5Pr;=7FyW7c#4lG?Zczkx$czr4dwcn37r7p z_NAUKwO#p)zSHNC*&9xeX6q{4B0^oRZ^hGC3?@JAMrei<3z9puIly}^ji&zz1u8Gn za~0Eb&G;^@LC-Ex$z!&@eE(TVX|Kz4EJ3?`78%)(ksSE#9EWgHpZ(-vUnwCp*;B;R zZm!k{TzfdjR9s1oQAwl+!fBctPx1egdR*(nkAc;4o)MZscWOdxn6p&>0Th3Z=deXb zY@GZ1oRo@}?S9m%y`P<`M_D(ZJXi-5*oHNe*djmQOg9cwlpGJ`|JzLwR>48OaM(BE zdpm@GbuNG_5=%a}QoL9dyU|#%QB|Ajo%^gKgW3a49rI zWg6zmJ}njLnW>;eiDZb8Trn1>ylFEjC6W*_SqiivMV_msRFT+zWSF;B?9RE!3N>=_ z4w;JiP9Ag|lz)S|oCl5yDz^4YfKix`#|=J*7|MlF%-A0dWd z_fN0aTLVVAUT(8_iZzOI`xZ5AeGV-}(BTmV&;ATWa6Z3d^F(>3b|;@h=q|u05(I-( zzEx>(<8RXP`N$qPGH=1#-#V#4wR_E1``{?;t}{A`y@nINHCc9}Ty%#@EK_;%f*`|h zQmbC$VazmjZ6v$0(PFi~YOzK6p{k&#HQ53=lb2*m`XTeK--{CVIOQ|XPn`R_Ek&P} z#uKyuiES4+a_pitIKX>7s8|0{{vwRhgRjz+PE-&l+4%F74#MBoB1CVK9%p9Eg?o%L zlmfj!t)F^EWinDAz6X^RC1c8<;pR}0><8ai8oU$fqK4YOkyIgeaI&B%dhPB6Y{sw} zn233OM!Cd#GrGpbqM?kkxa%+B{sLoYouD_gD1yrbsOJHdBk}aATws+yipe;YD-)}q z7JE%8irO*FuuoId0ke}yxkINM7pid;NOaAr3?ji)zuZ}Mc(z=x*Al++{d6gs`x1xm z-N&AfAltYi-!?drNGQfBjOO>e(KtsJL3w8fcroYvtUkBaM1TK>kZ?AC!0ge}EP6lRH~e=--L( zz#&0$hP~zbfp+0`h;CHoD3Itb``Z}BQw`X2HOd3Cc~d%?*9VjFtzk4$Zkqz>9>DUx z@!gUzpGhWjHe|}=PWn8)4U56K`!?QTpQC=LWNOW!tNn8X6Q~0vW|lDvZmVK{w~y;m zf0-|N-CX2Vbe^$ST$dj{b;v!&2Nt0?zFaIWcptrHQ7R%TYWPBBTWGbZeedEQWpsYo=D@YaG4X<(@B6=~sWXExNS zzBMW>xr#pPBbj@04i6-=ju2xGl>uPQd28U3g*#j zZ2p;_K?Ew_KjUKVNOO+Wjn?C=Rgv6Q;UT+bK8e$AmrQJ(gjd0s6I@fF-229)3PL~; zCYhlF`%8H#ma}yGrcPr2HM_`g@P^~v5Xc;DXTeoJ6P&Ky8tL z|Ml@yzew-?o9x&hrNuKPE-Iso0`%M8|Ik21m^vN$&zD;e6Gqdq}8AM(szMT1cOqv?1O$c`#W61 zJ7Zw^zi$S7`myG<(Aw`F?@BH+Nh#F-4J?f_e>>oBlGY*5qGJ@X%|!#^s_^WTHKGDX?TF zY=2$>3!!!rChOg$38{|LxIc< zooOeSCu*e%t(|VJy`0ZOwbM*k`lu3XtK1R^Ki@D_dI_g2ZJePsc<9q{35}iZnzPG4 z^i<6K2~Old*vvUcm2OOe&f85+Gzs}qsGi{Vr&Q*rd4}{bx+TZ(cvbl&hi|3t9U-V7 z?O~LAdQgtvn8eNe8pfd)_oenF|6nDol^w^ya0+nFEvjQ`2{!hwlw4+d=Z-YZopfou z(7)uQJbsBIQQz+GMMnB(pI3t!7V=Vx6LIh%1Ff65CZ4^{o48y>z*Udw3tA63XeoDk z!9m2B!yILf-38$M<+B=y2$D6)oxY&qV|$|0j~8r zU(XrV+ii;k!;e}Q+BPv1h3PmtjPiIFm>l@^LyL8lTj4q>i zj+zIvpI8{nWDB)P-hV_X?PV8SZXlfMxiKzE{*pnvUNKd&5EM6_tYJ=A(t%vj(o$T) zm+)b|)kqASBa^n(EMq2Vx7K;8^zkQ+r4#Bzv%+@ztV1d6rg5v)KN(X7(Bd)9@^-=I zfI4D^;Zt6jz3nx0ZHV*NXZk&VbQ$>?E1r`jL5({;+8pN`G zi)D={I5!AjB@G(AA;kDfx%{<64mKB^Zx?-fDNh|@W54W5#eU|p?OQ4_P}H7e_Uh{q zs!O6o3CsMqBh;D>y2Bx}Vjj~wpLQqo_gYNWaN$R&G*sNrc~zwHt*z^6>Rnt`DWlgI z#d=+nMQw&`xf2~4?yoEXp^o&PmBHT%A1-_@of((-cr~%IScMwP3s8oUYO7|3-rfWRlpm<=eC{?Y zrmoiGdDy-9jm6}27HJHC{w*^87R{n#RK5nxU3w;V*{Ex-um4tyoCc2Iz-G{Z3urzX z?&Qbqjr?Stk@X^qx9mUh%plMFU+HZj0*ASbg6TADqo@8{4#)hAcE5Hw*TXH@B+QU+sBhBSAO*QE z&ZCr&Yuu8t-(Jh-z6MK=Qk3w7JM(p)`FMN{XK}!K7-32fM6FumxyowjY&$`}GG;Rr z{4s;4!5$&CelJP-f+9mIX@G5E8mhCC*liHORQmg}>A)c(!t5rp_t3#@u4s`I#GXIu zfeSEa>}?IeGQEi`P$HoY38+)m7sIm_$DCeYN^lI&jj%!000nxnQZ9$dd(9Zjh%z9E zwo@*`!IZ;QB7$Z(2woAM2_Z#Z^S&hyp=`3;?1p>;8o`n_O_kZh zp~*kG`7d{z>_|gdk^j;1ujjMs1|tt5sLU$IKvXC)C!E)zE~G+;{O-$Dn1Zu1!O{c~ zcp#&AHB+l#3Bf$x#q)O>r6b*TDLBL99lY|BtI!9E4>G@u-+#t|3jdGkYcXHbXgmGk z#+N^DLhiTyeiQOA;ATdD%r^FumU=UJuAH-~O{<(_hHgF#p1o&#P`J z%Q>8#5_GKl+X?ikN8=V;$Jcki)++2W&bE7zsF_qa2eh5B-Ysqa3YGrfS- zzTbGae;>D=p>XQK|2_f}wVdTdW0kf$xc~psKl@fe=YO}jM{Ac>^cugX`{{ytn^h%o+YY{YEx73*Uw%Bgx6Hkt z!Cxgz^s$v?{;|i6ukwoD+}ddEQ0f0g#%6(p%av!QI}WXQ5wepNc;JW4@l{TLpRd)} zWjX6^%^T_b`kJOp%l_5dCkAh=SBVn}56e5%$-Yc(TJwjtikxp>97=yzpF8_1Q|oQ# zyv-7GU08mcw{d;gEz#;6A@=J)&zfoe=`wk1+WsG%e(7Pk+#+|DyE*)I0-0{%ztakr z{AzcF5uU z&9#fq{?=-HxbsVU)T408X>5TJ(Jw#ty}h1b@GkR|shh*OB%7wdoBGTSKtoyhJ+AjW zZG4^QE9&VU>wd~lOLX>Lxp%Ks7Dcr&yRCj?wO+h=;%vK}sdcfz*TbUL)f&4``?XFW zXu7d?U99}{&C9dhXBo{_U9{~)$+z>%eyrjJF5UEKWXXWqShO$r^n@f>%Y~E-%6bwK8wnj zEtD3;PhN4Cp$~XGQwwlk&5{Nz#Do9Lw+%XZ237_Jzf{wNP&DM`r(~v8!ZjEgh8UVz8H4mdG+Y%~ Ry%DH^!PC{xWt~$(69CqAm=XX0 literal 0 HcmV?d00001 diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.json b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.json new file mode 100644 index 000000000..4b0fe86cb --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.json @@ -0,0 +1,690 @@ +{ + "OS/TopographicArea_1/Reeds/3": { + "x": 0, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/2": { + "x": 67, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/1": { + "x": 134, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/0": { + "x": 201, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Marsh/0": { + "x": 268, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Saltmarsh/0": { + "x": 0, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Heath/0": { + "x": 67, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Rough Grassland/0": { + "x": 134, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scree/0": { + "x": 201, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Rock/0": { + "x": 268, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Boulders/0": { + "x": 0, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/3": { + "x": 67, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/2": { + "x": 134, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/1": { + "x": 201, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/0": { + "x": 268, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Coppice Or Osiers/0": { + "x": 0, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Coniferous Tree/0": { + "x": 67, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Nonconiferous Tree/0": { + "x": 134, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Mixed Woodland/0": { + "x": 201, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Orchard/0": { + "x": 268, + "y": 201, + "width": 27, + "height": 27, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Site Of Heritage": { + "x": 295, + "y": 201, + "width": 26, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Cliff": { + "x": 0, + "y": 268, + "width": 24, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Slope": { + "x": 24, + "y": 268, + "width": 24, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "OS/Airports": { + "x": 48, + "y": 268, + "width": 22, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Positioned Nonconiferous Tree": { + "x": 70, + "y": 268, + "width": 18, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Positioned Coniferous Tree": { + "x": 70, + "y": 268, + "width": 18, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station": { + "x": 88, + "y": 268, + "width": 40, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station": { + "x": 128, + "y": 268, + "width": 34, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station": { + "x": 162, + "y": 268, + "width": 26, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/London Underground Station": { + "x": 188, + "y": 268, + "width": 20, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station": { + "x": 208, + "y": 268, + "width": 18, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And Railway Station": { + "x": 226, + "y": 268, + "width": 40, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Rail": { + "x": 266, + "y": 268, + "width": 16, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Bench Mark Symbol": { + "x": 282, + "y": 268, + "width": 26, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Triangulation Point Or Pillar": { + "x": 308, + "y": 268, + "width": 18, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Road Related Flow Symbol": { + "x": 0, + "y": 292, + "width": 18, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station_1": { + "x": 18, + "y": 292, + "width": 18, + "height": 12, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Direction Of Flow Symbol": { + "x": 36, + "y": 292, + "width": 30, + "height": 12, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1": { + "x": 66, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Motorway Junctions": { + "x": 76, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Greenspace:1": { + "x": 86, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Structure": { + "x": 96, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Tidal Water": { + "x": 106, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Landform": { + "x": 114, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Country": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/City:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Capital:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/National Park:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Town:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Water:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Sites": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Landform:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/City:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Capital:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Landcover:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Woodland:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Hamlet (Local)": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Small Settlement": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Suburban Area:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Village:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Town:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/City:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Capital:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/National Park:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Landform:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Landcover:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Water:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Woodland:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Hamlet:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Suburban Area:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Village:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Town:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/City:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Capital:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/National Park:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Hamlet:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Landcover:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Suburban Area:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Village:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Town:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Culvert Symbol": { + "x": 130, + "y": 292, + "width": 14, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Historic Interest": { + "x": 144, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Inland Water": { + "x": 150, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Overhead Construction": { + "x": 156, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Roadside": { + "x": 162, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Spot Height": { + "x": 168, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + } +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.png b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/greyscale.png new file mode 100644 index 0000000000000000000000000000000000000000..83aa6176496b11286726797613e8f107d3026240 GIT binary patch literal 8145 zcmb7pWl&tr*7X?(u1U}Y4IbPXT!K9~Bsdue?(Q}~2tfh?LU7mM?iOtD!QCb3KyVx2 z<=$KMRek^N{n6d0SFd$W@7mS-?CKq^t}2g*{R$fZ06ay7cbWhIQhREAn9rUNbXsrU zr{S5Ul!_DpRK?&RP0*g^D4&$%-vN(dF~c2CGb|?sJy!t0@A+2)C9vYZegZMv6jfv~ zwoyrN3EyxCUQYr5)nCPTQt!PM5X-)PFF&kE{Dmjew@L4z#iI92lYo8?312j9cvub92pd}rWjYt;Ii8Ks;6r97uL z3q_W>wl?|f&Xm!5f-#@L9(DWf4?#hEeDZPH&1f>1H=Z0yD2++``G4uQL}AFgW_RNQ zU@7O3kcmh2nFB3z#KWu5HFzRx1!&HTYT`E4;$wh+R&j97ZimKoY=&c$_7@R1Q8Hsx zJ?1YuQCROjs1x0TBODHwAh=lY^J^P=+byX>r4^`DV|4l-)NAf5_-oce!3$)U77?iy zQ2>SSPx;e}ij+=GVtSFXwstWx)aU zoEKy}*f%EmPMu1Fm_YaO^;jD)SAaUx$i5!*>)Vy|XC7o%IqvXMQ0U8i7Iusq!7g{4 zNfPnh<0<4n@IhNZAS0~yp&&UCLj85H^1huX>9Gq2N&}Jcmsy|D9Qgb5U!5|StO#_! zVlpfj#WY5NIziQdx$Z&Y1f2zoR#WDf-Njen=V95`7#$mxZ}dLQSQSKeRBlVO&8cGqHzUG#3L>kq;aK z;neadBB8XvQVU(8uxi!olc5uOf0xx6?1+<>UEFD$0W~p#xCxc!D-48r!q!D@9TRNn zr;awa<)r@H^rDld@91CMv>ht({gsj?QDxO>k5!IoSoYpX+;?BY94LZ)TQrM_@#Igc> zPsOYE{`gcuoP0!-3UG?Zy~#i9YcIuJcV(#A4*X0DG=M5mBPiGKL^@h7P2{~D;mcKO z5;!j;(l7Hb-usyLPC}2K(`Kp7 zmWjU7(5NnE)s z6UplgDhB7BE7~uiRAw_vvNJmKws3lBo;fB^GX_qOo?SK_&aygp>5zr>b3#gYHSN8d zvnJykS*Zy{jW9ptRN-mix>BgU_5BPg%*=G*8FRh~nW)K}_p3W~^)fx9zh6CeII_7@ z{T~Cte|f0(+GpudDM7O11{#%;oDqSg&W9$*Fvv{xemi096W&rc91 z_I*>}2W%PcsO!?bUdtG?BAyhX5~_)m?%BO)VVA13oLxta>q(zK*_zFe8}S~F1O`-8DEfQOwnlZ zs^;n*$r7;=-IaNcEDXS=;pgM_2n%4SU?y9fO`v5tOf4RloVNO0c)WMeq(#(59ZHS& zw<~O(2-)Sf1ogUP==%HX{nG68?_>lElDs4t%@||y(t&D9SorK^L{7&$=O73_N-+i> zw+Ruji(lyPXcWZWC~V3uJ1&vaxHdUyG;I~YAX17uaQ*tagNmz)pV$@zD)8QL72xne%q_-?!+S`1|D8b$X$@GwK} z$q6+7r7!;-b-@xBE%MOVGkDrq&_LHmYx%2=`3kBmg;Du9uFC$CUoIn)f}W2pKQi(f z@ODIg`spA^J$$b^igDZy^E&Q!P8KH}92@UF?JNZAIf%8a6FV&(}s{m7xc^O37m(6x*=+>G7eL3G<@QY#tIRr zJniO8A942M=h1w;2SQDiyh_f{xMG_L(@s99MtBTEoh%U5n=29!uS6FyaR~CN1|F+A z6wgr|ZP`#&T-yd1-xK>19v1|zwV6qc4_IRCQN-+ibc#M9ql#oDX=~>Sq1LTM*q!Cg z#Jf%RocE6Yj&js68wrUy?+H&R3<@5i&@wW8vGhfLgIMyq_`*irCyvUswghcH5e?_s zxxVR|awjSHyX-+)cib8?TjMzQI|#`x+MD~Y?yBBIl?+SGS$;I?;$sT~2jkRu0eo}! z$H6dBiNrU}0%|s5ilpQ-HS%_?3}1WqAB z;N>}I8F?+@2Q7Nz;S3W8BrBoegRy-dSk*kQQm1_4J~GO(>X7V!*-$Oq|KlB&E^;Vq z>!LjqVo8x&_j@?E|F4@65%QeNwRs>e`H?;W$+OgIT)R z)$6>JG|4{f`%fl&KmSJ7aQMg&f5$N%F_FmaO(9Nd!dMR1sa{r1%FF0EDD(W7 z=05%!sSIad2R4AkACk`?Vx6}{;@#TY>>h`P<F5PjFX46(#Jae~z@yIV+bh}*L?q0noX+?Sq`%g&I!HsPq2BTYdKKr(oDj)!8 zsTy0~RDM-*%5pUQYB*Cl_9~RI=e>W@2J#1&3vaiw8CT3Q9S(ji^qu|^UAR?;z`ifl z9-#m63q}|CvY^cidYtL7ifp_7kM7VG$XpM+S!dblbv*V6=oRl{K-RTq*5uXV5qPQJ zDEWBzX|KmzZ}#evioxJ#8GG6^o6C}%pP$@v#B)YItuSsefLPwHK=|MEvSL5bTx(K{@0svL^?uZOin3ie+@s6b85wU5a> z&LYrhW_*;0&t8aizNNrr>2M*SJaaO64M zZrO~Y6us-aKma%I4ddrY1=f@Tt|2zk+&nwq;H@A5uDIo5oOtmo8Y9mK@O5d#>lkqDX10R?O zX7;h7rgfV2^i^Y!kWA*gW=W4R|9 zgE>v?lHpQb{U;0YOd#WL<=%LUsSVgb1f6tZwY~QfPy7Bsey1Gw{0)j^4i?MT(66sP z?)cU*kQ<|0JANx)JOlz*nterzd}$W@Ufoo&-c7}zC0ENnW$Iy zH)6ue5;vP47Dojr(E-MgBPoV<^8qC$KoKH=w>hjtHBo}sNrWw4V>uP%jDz% z-?q}-S`2RNich#lNbnVE=5)MOFjmfS0ze;8SrQ%>{JW^{Ie>^~9UwDpXKO-mABLUO znMcYihkLO9HlL!=Q(|lq$gU}NR}#q_2Q?I6P6LD?soZ3*({f*m4ykc5BrQrXK5&`o z1V;<*cPM1AIFm{85x#e{ z^bVjxg)SwFjwYvtRp0Dp^}_E_fP&w;7RlKTXiYCtzWh`y1JniLVc>XP(bR7adZNdq z05kdU&u!anC3?Qz1Tgig;NV&1pUs_f&@TVzX7L{TWf;croX+2t2&0cW~el`y{4 zlX?TCIIH0KHcDlprtsvo8SEIrSH*2J70*Xup0nL`CiQv3xvw4h-pjONH_)K%FA^Z; zpmdV{Ws91sgq*A5qeDH56V|QcPL(*`s98TjihU*+Fz@?wv6~7?fu`UFciue576Esl zUw5F}9-Lm6z9%y$Z0qBLUS6BvAMU(NIisEkv$_|3=g1}4I&p%F#?@>~%t=+ex}%wWGF5pB*Gf`R*uFewfv zJXtV_2IZH6^EbucAGknO;hJT(3(pyk2l((Mtd&kQj6Q{l5t8af901+9DsEpBuQ5;K zYS?@A%uBa4=pI{Yww_(T$R?}Qn=IjllpVU&OvuCEmm7M%0O;FT!LcI5bk|=ljsYl3 zsWbPTzLLO<=t~{(UkRQJOoIid&%3@bt$?6$m79^-34!s;2y8b;RX@Bb0Xeh9O>_Iu zf+Jhcv|g$$R)Lleg%=pZDi9nUmXEN7W9Y&HGvcMYr9j^0Zb~x43^+)H=SqR!*^+RWE~SnC4(A`nwA>a1CJ~_9J1pKHvVSTucU8I~@oC zYZ}q1BuMNvro^-h+BI_48!yr7$A#f~jmKZ2E9J^4mI)$&q?f)oI)R6PnAoRj63Geb zK@UbIvX0n5)A2Yh-9Ar>dum|KZpKt}LQh@C37@K=i-74re6LuOYb+mkN?` z8aupV?w?>URm#ha#Tq=7RRF?wt9$dW4wjtghNu?yGH?2%xja zSJeyG+5x09O)-ji){iTY*$DN!!i$xKujMwsuEYb@z#Zqk2*aS5sl(`oeZNd;kAnDF zQ@E~0FiX|_1pZx-Y878nYe&q1g1^D6)rrJk0)W}eAaSU$QS8oVkDgpbapomn)-P7VXnO&B_{_0 zPJNn7$eH#*k_vb#_yVZxvP_~AcHb2(QB?BKk&KsrJ-d4UID$VXi~SW6kzqpN#!lWbwysv+{oT-? z=jBhzyN8!kHGCq%PG_q9@g{q@uaN5Mi2ar3oOANkhCB|^Y&qk^H=oDeWm;!N+}m+T&ktYkIHcoYQ0U)C$X2(>xADz8zd2+h;fcul$n<=(=bp;I&Pl5#(ZPJK zZf=jl!I{$c)u%e%$cv@&x^2YNU^q_?k70hgHp-=yKU?pI2QhH#pN@sHht2DWjTw&Z z&ZxO}zDm)}E-z*CB%d|rBT{fZ4XVoVpR0F^v=NQ#n{k26b@xdi{J<1%!`_~Y2laWt zr(f*pOVQ0wAMD1_D3Zg=i{3F@O^}XvBoTw_Q1q?5ah&~jeYQKJr*=@d*I`+)!fT== zbEj7QMVOI}-?nH+7Y6z4N93JJl1iN4YNt9q)5SVxJR|(hPso?iZ((o};BqakTo6@c zuVIU56V+jb-2P+Wn2rbIWuN?$i4L8p^1E149M$Uyho%JY4|w-8FIZx1?CY`t-jEhv zduye+oh}k_Z5Fd8KdROI)j1wz-A_q+NA5VT=^^LNSQUsOHniMI;ss|f75l{|3VL!3 z2U62T?HT98GHt!RtBr@|+b zyX6ySJH%G=_THpi9=oYeD7xvb?c^d#kNx+8;rK3-Tf6!}QpVgh_CrBE&d?L;izXAZZ z7{45;1MC6iKXUXkGx^0j(HmM*UxJwq9d+ET!`a9sj0LIt9OTeCaA5i)mvreL!dw}A zTRzWuEcXu>yji9F#vCQdmEtV-(5ytt5BCsTzAx6Wq@=ezA7 zPYTF$9@D2gx+LOW!CvB>KwQ9lymiVu)Jj&Uqubf($P)N_D71_%E~7GPuF+M1Yzgwh z8a!= zEwH_JZV>kqYq)FvM`Fc_i*Cj{Y2)D4{WI=i3cPf(sLXxJO9 zfdoU`J1aX#de0^5y30TxH&vDB88AmQvynkT0w)$LH>YPppvRI;nV+7U^@xj(rLbyL zN#xFn=;#)B=NfS$y0T*(T06@GS&kn{-o4_Fb>&`}yF9jIfQ#4Bn`)B&bHNG@98BI< z9$ngTDO6mj`z;YQauZggTrLJnu*(m8oBFggu`_76tpxkoJeatU*dVe^(jk@sYiK#* z8YF{nHpDc~y-jnA1w@Iu>VGv1k6`tFYTxWH*&oWZjCL=@9>+JYF{Lp7qwntJjk#E` z!efbL9$7`FzzPv2DQVOWP{bX~D7r`^zN)re)CzmQQ^ib6nS=|reY%GqG5Q&wnvV*M zTF7p7Cug4&3p`~=B`F4nZKa(A>+PW&B}Bgd4S#cWU50C9 zB1&89mUNDwBLKv&tBa>hwM5a=dOnQjo7Uk+2GDWpL2v-Q=G~o8&Qk$EGJM^#;ne&r zBvDwc>+G9!c(VZ{*EWC(;x+1!NwkZ`NcsZwl=N|7bdB)QLwgtSUK1>a*-F^mOFt-~Ahnr= z>3`xjFNWgr@AU?_mFEk5MduFiWpUS0L1A{11p02sS~GVf z_;~H`)crEs7yloJq1{^$X+w*HQi!n*HV8TZ)Se*1lG7W$F$Fm1Tl%0|d@is*z0oSv zpEZGcgyl!2kSN`y)}p^(o4sya`=$CvC>*vKf`X-WvY3N98v89nYC1R7iwvL{w*PV1 zysF9WJOjbs7OsRZUdy^jp}gylG|N)pP+ofzA8FS4){@>Sc3{S%TWQ-H%g~Gmv2b6Q zZ>i7dVxZNwEWMw%g2*L9dl{!EWpRFAfl*Jbidu{u!VUWp^)eY%BB9GwdV zpOcD4PDVyx_ZgQRJ=6!BKXd*8HhgF;;LMDdCBo%}}lm}D^s*Syz`0cMjew?>TxXX-rvYwGO zW&Bw9pE~nbok!|=lPPdy#Lv#BayWyVtgf4xiJQ5wsf+p30Pt|}aIpjuE8A=+}+(>g1fsz<363=|31va zU9;9a-FcX^*6Ch-c5SJ%tM;z?zTKh9ic+XZpO63m0IH0%xGDeulL@^oKfH%NF|VZ~ zf_}ZX5LFNb0IH&qpN-+5zhO+|q{IPl!O^1~&|ioS(mKun0CDiY`(5hBIOc47mVy>nRZ>17LAj+tKj7`jA7Bs1{PrY5(SlPrng;cG*xHPqL z1aW^hnyCt{ zrpcdVq98(u5-e-3zSlc-9 z9(x5lhKPfhj-IwLIDoZe3s-4;&Ve~pxwIRmbXXvc}4f~N($(1gy?t+ z{N~o7`Mv(l)%s>mCL36~5Ufl8)tpLCD1UD$fAhtvLD5UkL+MP;+vRAg$iBIptHqFp zc7n%l5Qy6O%k|WsM>35#;((!4_$U4Fq}<)cgEH6`JL5bol(cD2!y)Afv~HNNj(4BU zhVKjT3v*lTd1nOH+iU~fu|Lk~E8lQ8!xZ*LUz&sNXqNQ!^^P6ncFpEr%HJCK6+Mt1 zoJ@DK@>eN?j8?E{Q zN~ML%(RnY~!U1B)tG&&u%bdQ7A`K=4+a|v-XK&b5p$P0!SoOW>7>t}7xw>V`Jp|(e*}CrTuBppej!5X%nXnYj z(yS_;$=To8BSu}>mY)Q$lXbM%Xh;FgLr>10|SHW*0K(2_=^Nw}S1#Zo{)D?ZZrfU-TS9DgdXiA9l z_IySA!ilg%oOMBCMTXtoic9tJ(7hhp^h$fm|MRMaDtpCnQk5?RFrpp5Oc*q5OJxfb z)OjEP#7|3vR^YmLu+w~Js);???Y%VLTM{$5L0Hv1z zvRcXscXfbYND|aScy+}VVcaJWdZPgwuEd!_&xMQUrA1|YN-HI=^tW639(f0}>hW9R zIw3!s98(5H&vdVx^#hJ5U%q**1nrl|k&3%H0xUMm>DuCL2ZS>pfQAoop|Z~r=Q+zg zAlb~8Hj9_ixg^0FstbOyKW6XNXwUBJI&+xS;7DRSm;Flji-zqdQB|Bj8gAe+!ZEIU zDwQ!W`eVIVV=s6MoccMXKBECvEJBO_FbTWBG-{>?MgrOswO|0kJ+ti}q(7|hSAljO ziZ6(_zvVned3>#c132)zqSL?YO@UnO17QM%c4ib=w%ig0*Q-4YRir*U7XG5^W*(qx zkQFG!4;~L?X}!{ZTi^62isUYAXO-hqX5%l|yMJRSrvz+N7q2=*Rl+bc*u@ik#=}$6 z$#>U#i!?w;qw^3h-x|BHUcVG#z5g&Ler}tl@X(M72ly$wGP}PpD>g|2U^LX+h4s5I zQFPfA_eKS5$$HzkcBK8dhi`!O^ENbt@zdKEcyK=Hn8Ra20Eh_FxV{sSym<}Aw|k%k zglMS3_^r?xzyZ`Zz)48Id3*>Omrw3yXJ*1HwIX_{D~CuEPGJog*20$iz(wKn;}W1g zgh8Gb-?6b9(&vHSwVwAI#oavj@D6n`CB1}OI`ZA1=ZHfk&^UdhCb~j%xcM#^ zEqaEfVnz1Q%dBJ4jSxI`I^X@kqjk9;vjG}C>Gh-zx*Wxy z<`XO6?l=x&9fKFoORR9Bza+H2D+r;Va1nAH-txaI8^V0qrLRJ$*bsQO^iX|GcIrGa z=>Jh<|H^&upkaWMd;FeHYi#6|^J|5TCd8)XJKAk>oglb^uPrP;8*A!T>Neu}JrThX zSIfErWUWH}$xW?(Usy(aI){5LBxvh+*P%6%WD9rE0K3S7LR6c)HwnW1jGSQu%kV}< z8b93GGJ009s8_HlULkSaHID#1;M4+bP+z7qd|Ui^r-ap)UU#l7x$?+Sd27d~^Wid4 z5NowcOTO>Y>5m@!UpRoZVOKcp>%>WB>PSM=S+TlnBN7cUsf83__?K0#7yC(17aFDP zOH4jYJu95ql$r%*L;Rn;z4S<&RE!9lG?RXI9qzJ2Kcm z!=`5l`*iN%5VsKdV1#E^{xx6M<$1t;^K~T5 zl-f#QE^0ue>UN>}T1dnvt)5s-w=3lx#s7c(Z{NVTvVcWm%TpvQb6-a;vh|nhzj>*v zg#8qn&@hk`nMO$shsLCB6z{DQksZ#0{^#^<+A3u~1uiQzgq$tu+xcB_kCwf794Y~g805$)^Uni)MrOERrwdEPydq-#SS4=*KE*t4_-;SOj&F* zVI1w(u1(jz;8%((wKBZ%kep8~dsbs2)rp-kJ$miJ0o_GFV`!5vr2{`GmEyh^mOgEM zCAH9@@@62FGw!B*<8C1;_03FKV&+W!EM}?E?UkDVBaFSazo0^mu? z8DhmyG_=xI+5V}7!A6X%7F*y{zmQNk%9_ovjciQU$XHo=!2Hb0 zOXH(KfZX5h4b66(qdZ>e1?Fw#3Eu$*ofHBc^0t_?5*9^6Q}KGuP|BA_fg0o8Hz2pL zDpq3CNeUC=;lY~WpHVtV)^hsA$Dk%jAI_#UsCZ&+0&k98GgHGXgdb#f!rG!05xDrD zC8@>kM-bmDr=0ovw_ESb?5Y71?YHzDJ0a_(2B2VS{(#=BO4fDNwk8pqp+T+|rHH_X z|EcG?T=PoiI*3v3JE)&6MuH=?tKz{Fd%=~NxE?mX^=$-G&&1Uzn{qp@`>rh77;VGn zgT?Ti>+nAV`0BtY-z4NbEM(HiOE&T`+BLh)2KphiG<4fd5xw;x>i14VyhU^>aq7Wf zgZ7#xN%!H=@)ogsX%?Wh0lH6QYzWz${x%>|zIS;f zA$wClrisAqC`L}GvU=lg$@))F8Cm6CZxa@v%scxMvIu4){Lh$8L5#d?(xb6rx2N$4 z00>R*-)gOYNh-r=BwU=uD7_#;$E^^2qtsSQ1k30dDzpGUTsst6bOJ#lRGz_^AfIh3 zE41DwwCVb1RC^{}I|MamMS}WBP58{|en~qbHBUX-z3@<%|E~yMYlHAELBon*0;K*Y zc*V-q7e9QVQ@d9d>T9OS?h=BW*JK;*L|RK>WB;qSg%D_OC{HF$ycLyFK2py(ck^SQ z1%5W%2#M0ZA9zCpwLi{=F`MwfmxyEr(!SFtuTUfPuL=p&X7%WAOc>}Rrj3U6<6cG} zVsGJr*7=vm{%_Z+|FaJtGd_ac{6Y%p1=>4~CQ9ZgpuWzLgfl?x4<%)RX|cxpY)$P4%ui@=b2jpe2kW3hrYXyHCqc zVML!I=glBg*@+by)eU<}x^QNk2C>j~zY3ls@tK75-8JwV*oE|4Ljo``UeM%Ia&9$n zKWBNV{jzJK{z1~fl;5`_BR*!Pfj6Ssq=XxC=jbtu5cp=v!JM~pBFsfhqeSry z*Lq2-jWTP@9S3k>EJ~87B^XKvx+^}sNQO2SUd*VQ?^ISg`dh2?x9Zs2i1zh2tek+L(Ms+tj0^*t2| zEH3KROP8Lsv}a|_(7Wx@wm4Gz!I~_7j$@(o=>0cdkKLV`w7pX{4@{Lf-PIv5Y19Cd ze;x!Wg1I%%m`PEGES5>jEUV!5Be;en^myr>RlHvQ#`$?EIcZE`=XjXs4!-_SI?c3C{(%A!lO8D6=M+zTy zn+?X1gmM;dU&VHjp)?=;?RDCUE2?Z7a}V)S`8TqKoSzI3DQ)2J+sI$am|8kt)uX5^ zr0ZC>uN{BqRap|SnA|=Ib$rV_61m}sCvjp42{DQEnm*zXn{gk?z_lvTIhQBcda{Oq zb~_% zFOv6We1Uyer-HTw@T{Gu7vrZlb3(foE*^QlJnz zE)t9TXAR1sSB?qpa2XCmeaoxo8+hqIOZr|8?bB9!@;m?OW^?dv<)r<+kWmk?%&jC8 z5_G+cJdV*eiIIjDP2e+g^2&w!&x+v*3}^JT4h2^D?ghN(L-tHQMtfjlZ~>$;#b-)q z=!rO5(8v5Kp@NzOKy7%5{RGC)t=v$=Nl(Lc`~awXXYy<4MA+TqCLzyX=Yj5mLJB3^ zTh-zvxgn%iTOCPT8OD<*pm!r3SkuzV4ZwG7~kvW@TjisprGohxo{%$^SO-zTpegi3m zhm!VF#Xke?KxQtvbDG>-*h^PdW5fCfz1DqRu`R$?b*J+jl-<3m9RuA3e8#3x3d4}F zD5=uZO!1NHzX{WSR(fUV$XNtaWGC;p z=U!;mJQ+E?7j^)WR=#*|V%9vF3Hvac5bR$?pbG6sxKE!bCR4t-ADcF6WSS`4uq4P` zq&$81Hpvk92SISEFudyZ3ZK;v1a1GFJ7G@l0SDe#FG`Fjf??x!HduB8x40aw5-e^A zKzEbkWw*|gm=^&mD1+yg4=A*{udJ2@i$bA~0>HIuxCRUFkF7yoxbVXyKN&{PiU_`* z?`NBD3{HQyE7^4+>Q=ND^%1Cf!n94Sa<6EgK_ueAu}#1L-A$vEJvdLY_liUGoMks< zq1q&RBPSZ8XZEf4Ivp=@osOL;#ou5P9##CkOV%cj8#@DC*Fh#E!argSsVQ{ofbP18 z>`Gkt=-cjKL>`@;+T6g#*^A(?Vyp|@LV72b+{M+1dd;^cOAHeVkGapyQyJE-q}fBO zq$Evz;2Gr#djU$Rc19pQzL{%Bw$$_I3N)P}mNl-HtjWF!i4h|w$akg7^;rEr4Cg1T z*}FAD^bjw0(1#93jebmXKYUFG;~rgGon9wLtrw~5u;wk?%c#Yd2pS*euSjtfSJ=MY z-#f;RcZ2tCX;aySC0E%s9J$^wtJjG zV|_~Ak4~_7eAQm=g23nJ#-|Z~Sg3;^jTHuSY2Z97-q(T#SUwP4292*TB$V`p;Tht`bOJn!3E7f#wG4Ub>+ zYOz7I6IyIg>`wfLI~h1}v5WP~=BjqcyM<_^k&mPFM7FNJ*~KVp4#lBSTfY|dBkMI^ znk>oX6*CEd8(&rsjN~4lK*1D`bG0nqio%vn%%%tcl%*m)YI|oE{neopABi!%YAx-X z$4!QsmQM<0ug;TV$wH6-$a|8wq~uj(jz$D^4~M_E1ESPi)K*U&t%!#1K!)$lx_vfU z!`>@~4xm-n$=Sd|z{WUZ>!0%43qd|{a2Is&=s-NCz{4R9TcG4fALx#vd2XPIwgre+ zRPFn?)2U|0%(bmEa&r(`vAWptCXhN^PpSKmd(p*J04O;a2+rKU9$qjCuQ0+8{^+_NMao!rXF7X1)w{QulG%s zGVAQ@3fQI6e_C@) z`9DX^iQfdz@e$}p&b>5+xX?ri>KA*d?bclgsOA`vQ}hk304W~LBRJrj&B$}lPcZV zr$|ikyjAoJsIil4lPKj8AOfje&AQwOdS~3pm9n)&Pb$}SIR!1G-*#+pAz|%){N5`- z@MiHpFH9SBG&l_@J27aWj@=EeXmDJ&bCn)tZ8SOXH;QgTAS2)_5lCAdu*CO#k8Y%T zF@QYYo3sU*#5u>S4_rlH`xO0lTBR#7b zJ(J@!W0ZUIy3h`ZuB3X|yN;0sHvPU>oNJw4S`x;q8eB2W#7y8ydMUR;XS)VS>b`x0 zHX*ZViK1H3eFyQ_Rl#mlVs8P0oPbdSmos=u??je55`?RD6P8b)L`xR(kEgV3EWn-4 znJ;eowvWAj>yto@7q)ILV6LyF!wGoy)WYR#?|g^4P~YrpRW=QK<&1$m+TLTS_drgz zjW9xXf?30(5f(g(CT)W;Wm`5l5a`}5lv`&Is$3!lFQ4XJ3dDfX7#H;e__{vtc zA;u~18z%GHx?BMZ`IvbGpb4opBpdPszh82xmI zATVdJf$Q1wF=s9_5jE1f22Mcd%%Lc?dKSW7(}DwrHXo+xIa+8gy{!2nl~?%Q&%b5t zEXHHz#^k7&+3>W%}?HDeaVYYhe$uOEp>tn@sPIzNe~%OcN)eb=}P(T827QXZ5YW8Vz)X3zD=cdrg}k z=R6>y&o`CjFML96*2XV!qEC&w9-ATM&{#oa&azc{Z$cwaqs`!zt@3)ZUJ6vw^6QtI zysqyFbJM!lnA|!-;@Wywi-=FP?=^iz{p(7W3cY9Kd~Mczy-oc}U_fZ|?fzNpljGQX zg{K;U&&WHp^^?9+bxLOCYp&qM0cwSLA7INoIhI86=a^%&A^7OU^9J*fZo4Pgwqjf@ z)Tw+$3ju1WHHPTve8v4f?mVX^_Km)Cm=P)J-m!tomw`jI{d5D9D*Rl94CmtI`TTJ{ zJYAe~Nbx%*%cZO&vVGI!Q{MdXg_&iNq(YX}1(Wu@mlFdi(<#+hEavx;oj+S6Jt9xF zs=qkOA`o$>!w}Ld2eAXRgIm$V#-emet#5Y@PpIb(q%zzZ?4b!^|L6*l?aOF}ay%9I zsCFEyr#CJf@7urW`6n|`t7Tzao6aXX|C*j5Rz)LJESGU4$R;n$r!wy&m$2gp>zdp7 zF8cZdy5JsF>Y8i#7nuNJy2=p~m9VX#+a5A7rwWYKxB;!e#z&~2@fSFNPBHd~s?N$U zPEXrncAThA_LRGc(V&hAGg>_hn#?Hog=g6jk8i;dn@_uzgcS!5!l_y!WF8p@>PWNqW&>Wo~tS>ZQ8~UrJ{9;945S#IJT&e^)Dbd zyrn|WlV)@8bhZ)capjLA8l26K?x*>+ckBXe;n(0-k`z=F6Xbta*lDM3gg)%&LYm91 zac*WXTRXU&a`LfUkxt)H_SXQ9F*@sS>IfjIRy}{%YeiLAt`Nl|Hd@FI!59!C$YyVE zH1tB;%CSQ-I(u4q_pwAdr9{pq2Xo752ki-&S;2&GSxTR-K2yLlJO5>oIG(^HnqMo8 zH|y|Ed29mK_tObEW#`K6kn)!%aHXmZv9B%oocR<}9+$3~X}D5V(U5o(fp>_Si?S%l z8rXk3x;9lxChAyBY9 z`#J&~G7gpqWnTKd^cHV1&oF3Pe68deevWIjiwmAHc~d{{i=V3IeY$hI0Bsw1{NQ#0 z-S*0=4@R`w!~W+0y&=8hk27>yMlI$S*;%k77H*YhBVN0R&88Vbeg6bQQ*ZaFjq-^c z757oVM|%FJjz38!YtLCuMcJg7aTpRX&mY|J@l1^-J1E10e5hs{sXlI%7``BFMoh)I3y($MNIle@TeaUsmf{zB4tQRqJNu`RU*35&Q^R7_z)RiJ_7jPZF zO^J6F5d=zIOhXyLi1=`^x#CXG!OYEb7kLs!gQ{x>Tl)jAuyhuet)_0NPxFe80wG`6 z^0$6;PdQ{^?e6Gg@H<05aEZ}P-PK~6+ChwulDdW&p)twr?mk8j3&IetlaLnMKYOMp zav2mBt@$raT1Ig6@#N7~ONJ|(f93g9FDYC!t%$u(rTfBuS#fK#tEz+b|*WKq#= z2w^v&q~l8filplC#y4q9Y5F;z8-W~-`XdHU?%UD|;&rrDi8`z4bvqkL^N<_HK_o6=ya=pUMp(%t!T!62V5Ws&k5`Q^*Zhm*+TNURcgomBb#^V0O4+X$YcJOt`) z_L(~^b7uJ7WN)ZZ(k>E2UsNb`^?xt-oipe`#-Xd2b?$0_Rimm;n)_w=JAo(I3Dwug z+XZ@(&(B)-RV6uuG7=8Vd=4w$(It<*JtHgK+rtwJ-O#mv-i`QJQIF`A58gm}WIme8 z5&d**8$D7cr`C^v;kmpmM&fg^&B|N<6>0kp&rJS&{rIdALCczCJ-F$<(Y2)g3+c{+UW z7l9wDDM40y2gtm@v~1Ah(x5U~a@7LYo!PD1qE>usn`F zrA#uhICEKgoT$AU=j2!5EJ&)B*OdQT2Q0`)_Fsh%tR~l>Cz|ZP*MD-E%Is>>{?K4s z(}k~w(oB?M@?H|B>@Tp!4L^r5{L2ukG+bV__73qhQSc&5%fS5+M!}r0d@-Rf zJb}=SV}@Ye8rTzX1OD^eaoeRPuR3Od!YaSrcIwz7Hc(7H^N#dWdhX@93w=L=$61N? z*9MI1fdYFwDGT?OUSUbfmOc5*my#`Q;??%LWq!UCzYa)N1bm@ z-ZfsAVmGT};L@#hJy8y@Y)3wkW!rc7gY667>5LA38A*je&zhV*4MT4Ei;k@XcmIJB z!8_aoX-p7j!loiL84k!>^!jAb;_-1_!k|*aiFZ9_+|iyqFQpT zooQzvv&?vN)ryd)D(znaCCaw?RjL9X^|X@%&boHu+fUrQl|}fHhw~awNwoI|HaQGK zD$AzZuGuB^^Q%Ae6^*Fc%Lu{nhc4A$_**2er-Z83Qql{a$dT@911E1#ZiE}?^PB^^ z_z(ruo?rD%MO==a2c4{qDb;9y3x*rE)=8PKEKg_k<<^=@0E2w;UvEb{eZ>*x;FW&w z^NSzU!~sZby*QAR_<9#6y$*+V^W3ds!g*K*Y`f>+@9SJqKCH8a+5>{bP0Wb%6UKD z-hbG}LJx3zq?h$BQu8@!Yr0T2T^?>!$sgW)&Cwb`Id@RbHl$sAVU_uIek@ZqHACO=o6k6uvHCaF{AaE2p(hxcl%r3L);7j2csO+vLq5c8%XR$S(tO zOKI==XlMaB5Gw|SJerL)qQ>}@&bl2RiEoR|KWF{6_BDvA9e&}p`*FKq8S5@_LSVRF ziR$+WAsx4WRlJ*Fn~V%ru8jnvUrU^q)2dAUNRl_(bKnF<08p!NtqIH_6f>k-LFJma zzL6I?dDmX_qIzAUi`7Hu1|w47r{9l!@{L0ItdOr$d6SQ&*K$|dWGqQrL1+RNp!==k zo-~Q<+FuJ$ms8Oxj@y4f0`wU;;ff2_$6@zbRTg;gzxv_g=lcu*(9s4GcYP`_wGh9F zBbo~BJhv!fM7w)5vI6pLkz_`!(n%h^gvM2hyMAEAqJ$B?4bIfgnl2ofud846_X5<$ zP0SjyY$Lf1Zug&_CE>- zRD2s#XF;=fdCJ7v$VB~{N2grcSjE<_b1PsW?P8@eNn|f@n+mT^Xo*TmjY#Ilo8|o!#W$ex0uHpwu?fM?emIBRrtd8C{mo2z5 z*bQLFL*5z>pE3De^4$`d8&}_Egvc&gh3i2kDlZf0{L~p;XDt&mK?oF^~cHiwIU7Yrf+f@>lQRxE038kICP6S?Cr75e)_*A&A{BZ=}uzc}ohm5dUG8 zn5GX#ft;T#p>=Qobmn0o9b;bg;Cj!iRoi6~vY`4VtKH51TB`h^+hpyU1lRnjS$&~6 z`^|zw-Bt1B5XT?+&n zFn3pW?jU|hL-FAEY$*GJ!~8*GB&!Q2Q$;Zy0G%(PPc#ZL>Y~gMJme;i?wki`h`l+2 zWU(@6_~3%;F9ZVVGKv9|b$hHq7wY2fj|DI|A$felZ<<^Vh2~s#!u7ZH@q>G!5T1K6 zms0JGa$!Ef3*O5VLE$kC&anpDlpTeN^f0L-Yw}*RL8yMOV!4WB_BtE4$qezk)q;1i zovKMU`zd+o;pxo8`j5oVyKB{YW5ByX_hqpay8ctbxDq~QwmT$7tr1$wB{$uUw1?Fm ziUQ{Wm1bh^Dk5_%&VPFlUa{M-oLECea^Mig6VAbzRd4I3d@xg)s2JlUO~T-`wk923@?;H}#@4E!@ls z&a;gab~6s8=7-t`!r)O*&VRTH-RKY%rmECXEB0LasiyI0zN8Doa(o6OF*{?^QxXrVRX8UrFx0B&+W0>jsZHG^& zN-SPZ|7m@!H%ojRkuRsV!PdZkxBEBv0p_gN^wPs$jdDGYXgp@Iq(e&Dx*jz(0uB~w z4t^(zD%gj}-obMacEE)^3Lhz&Mdvd~3c}}G?%BhgPXWT;9#qEqxIa(8!bnDEN(%?$ zd}b*lj2?8k0Gz6p%?cHbGN4}uhSxNdt(}&Cb<4$nr$u{PKR^&&po&tC@wtzGAx>}e z=4*|vA)_on_f)jd0Yp_oAm=VLfU@?7aWw<~Q1Pj9kLvn*?_MG_x6o$d)L%)$H!tZA%x;bfIb`y{1 z&k(9qP28>rTA#7G>Bx~n!}mMBnFQWKl(w?_k13T!ac<>3Qj1);=vedfd$@uQ`g zCAeC_tixkPiAGGyLges)w}q|5)*}P0H|-m#kP)UzINyp_xle2Fe`9L}G!UNdHx$wo zpl0q&WnfUm z%Cal!va$utE!jRMm%G9EPkN)Dv%FwfUfT=%#=W52zA4{UatJP+kQ2UBr5fHvrY$owK|y`hEoWoUu@*KuW-Sm1HnAq8pX=L; zA7nsZ_mMMaV_$mRy=~b@6m} zM30p==j>V&g6&&wv@wEgOFBQlI z&nt+-Bjn2Dk|t{J2wuX}d51S9=g6+N^$q4+x0+o^3+POKra^NG7IiDVGHIoYQv5rc zl|(r}F6B$P_l!K#plqe=`=?b){@c}$OLhmVjEkJcoQpCCibS6*BDERH%F>2alaF6k zn>q6wipbAwG-YA1qTa+m72T|u@9@+~Sgk&2`EHIkUSSNQBw2n)o}%Dbup)Z5A7as+s9_6#i;Pdbu}| z@m4T+)kc;e^yvHYPX>k{*FtZEhKg51+lSC2Gx;fD;Glc9wlh2*MiWIh-z1Q^$yH=* zEUIteM**rLk!_dio1@yVqD5h81!g{>9kArGGOn4HT@J0)*HgB^m0b0lNsG>0m*a?7 zC;}}Lgg08^I_CXbn8YO&6SQ^l>6OuTRIYfH+|{IYQ|i%B`)eBiW)YI7g9jKyI>0T} z*m5RNHDHPe{>@+6Kw?J0;qa=t8R1ML!5->*w5NbWj>Z~q%t247C&95)gr%((Dlm;( zm=&xGJe7X{v>p{-Ulcba74!=E(?*gYS??^)`lf0}b4S{tFZM6!L;QT$HlYzvib)5* zl&_5Uo+42^EQIqeSztNz0g?vm%dOo2#zWIauq?PrCaoBce`14*J-22+eiN~(OhdT< zllJ@kv8-cVZ{BUr8~rM&*P;VtqYW98+~j~;{I9j#LK3*972c})Rky6YomA!+uGpw3 zzEa&6+2H`MCbhdU^9*M4w}!2%gPPWG$KFBLoB?TAO>AZO2bOlC-_y62TA~Rp4^Kz^@*;orZ$Gv7bw#+XjZ`x2@JqrAthN`0 zV$}g#Z)pE~jQQ40&0DOCf6RXHb%AkfmALhx4M}}{g?rrki@~{0kS)e}budn7 zr9J+^cJ~a2Lo>~!)`pgil#X_ZMjePe&O+lxAYPU z;rp;)*F|%?jGz4;P3(!`f@Zi?{&>2IT5hFlFuABbx!H2l^_?2m{Jovw@imue*QLVv z1_F{1nvy8z0e+iHqMpXoJMB%x8F+{7>Md0S?9N{X;{uFtsIp0e$SPv3e~A!!7pQb% zkBJ7}RZQ||@wd#j=(b{|kwfCG6sn+G&lli&ekz{g_qdV?&^@knd1q#7g6frzujzO` zE`(`A{Zi{2fYs%JGQqv5Hc9WG@(4Iq-AnUcCER>KNiW))9| zrCneL`*32MA^IOX9d{^lK4T$+RoQUR2>HoLxKBj+hUEgKn!AZ30}fU)iwSI zZz1{o*8}7Lip{mVEKh*Dj4n6lt8B&Ej_YAXmK42z)`W>EyeD9L$tK>+`{{`(0^9HT za-u=keb!P*H&vnjH#5F_Hoid(UU#U?SW5I~G>}qh2#Uy0^W=w1(cbr;;Vk^DrXh5W z^(c0&~nIDF?H(rgt@z z_M6&%GGY9DlnN+vsL z@NxZ9E>l+<D@ryb zjZPB3tS7UHxa08LxI!l5QU7)nvkJ$Jd5*|DJ;^V{DPWWTWVz4&(QCn4wV;dH3$ebw z>1vZT+60t-5cN1~D{jV|cQ!$sN$hHQ7MGB>>;tF0=aJ6P%8}3Ff5!za8}CrDsanCYJ9?kYANrMa zbbsnJN*J?oF_cPqB37!g!5_mf>3dgFC&I7-tn1l z8k9#JEQ2>4Jg&rk`sZw`U69&hpaRw2HJ)7W++_@tje>YtR5sIsfeqiR@3V(No80fO z@PkXst58y`J6;8G&ZAKcdeAd&CU1e^Y;LZjrOk~yi14KRE=jKPX5q8#iwEM7;EIQM z68}DxG2QLg@29|NgA}GnaOwpl{U>p8e{Aq%V(e*=i<+6nYzy;KBBn~qG4l^a zkfU#Kkq>K zJO4;1Fx=$Sm>m1Z+HfzFDN$v+NBbf(t6n$+U#slSqvgBM{q6GmnW{zhu8ZhFs~rt(%JiVmncAO-8k}Pc=}@OR1Sdr?oWk zXx?~2??d>rq#Jt6;7PQg%~+eLuCJnidCYTfVo@6{*r)oDUH0alWjJZ!vk?(y!*Bh_(oXhA;!SF)XG@KE$`dHVJoPBnQ9C zvK9@QF?36F>TaZ{KTiyj*H13Z@HIp~vb!ScKk;#Uu;iBgtba{^J;JP#n5+Y`7<*Hm zsX|XJvQXcD;liVEK{ah3_xviONisJPK$T>YL{w$zWpwxj3Q7)B$aBU2-8Eu z+mup48&<3-)stAte(R-)DjmEKndHI>mPGv1$_cs7lE^4lj2GtF7CWy7!Nd1vu!%f3 zR|j;>hi4p5CI#$b0y3*#>cjT?F4~B%6;^z6nr{{g^`LZS(ChFig3IZ|VR*(I#?pgO z(xNLcdeatVDa$u!B}@g%j3)i@#p+EC@d*|iE3QS%TPEa!%zRpwdMUYQzH9EBin+XG z8EokdU=DY|qrK^2w;57EVFd04X1Jvp?uKY@RQS^pWXA&hw~m#4mucU@ju57>a&XhXu7i=FzB;I#jNHi;Sq0uf zvbjR@lBsE5gMumV1nYtG8?{qNHW+S}_Ps<2AGPQuUFaOFG?`MD5f~~_|IvS0q!lEc zruBL+R@9{*b+^vkwcVmy8F6x;`y(wyF~;pwkAf(aEAL-TEFl>Ahd*I%-|iBmYkIC) z?&Yc=I*vrB()uMV(A!Oq2XI1hr`YYSD-=bBwx}}v+e$kSO%sZIhPZmgXBs7o>VmC@*L?>1I{4{MrIpR=!(O*J8haG~=Renb;oXQioptWn9UsMeZfd-U9cmT$zS7Ii2r{RC zL`zytqd2MN)x|24x#gytD#uoujz_Q5RSO{QJ7XOoZ3xF+kZ?qM;~F$mk*{(&Zo!@pycDQzrLdX6@A4e1|1#&kSFV`;UjCsZijfZ0MDu->^{7mT8 zcb%m>_Gmq9g7SVo&gAi+Woxf*+QOZ7sGnI-R9+kP-^T;>&-H4=$KD$*=koostVfNfl0x`#Vz~d` zh>^!dfy1O|1i<$mmcEcFcMI_q|NA=8{qJGU-M*>c2C(<9{i<4z#KZ7e+wlFYWsCLF zc1P_xwcpfKEZKZ^Z1^;RZDIP~>cMYGsUfpA2qmPYdUzgDfvw5`SX#Dr<~U zY2g$?U!{-&IL1@3d11ldDk-y-GK@Ub3<9NU46W{$!4R|KWr)+I@+~_cdF^3g-2tv& zVLlh9qKD+W_d{?m>^SO}&!DmRN|yy%R8_r%%@hp(UhoLqaJsaeMA7E6y!WFE9atL(q_BRhX%3506kQIf zAVlEG`Ki?D_IVS&3UmIGrenYot`CC>qEgRPl)K_9&miS){Y0(#VrHpohp)oK_oVY^ zt5nFzky8V$(C-!EY{3Bzy5G-MTBauQGrXd)7E5_1Lbv^S*qX_!qFHpI_ad3mi_;dI zt&v3*g@g`hAP^805T}$t`dh#$;;T&>rl7~tUv9W^kZ%t`ov%K}{R~Ww#4kB6Apa6h zu56wm&>ZPUIjct2;rV7;NanAwts@_g-r8mpYK=0cV8bTq1XO0N0{=nrpdpS^)hd$U z9aMWx6Cp^X==kzcOwI&Ap5!oR9=q zS9cAC$6%kZ3u<8(-|gC=pByS0Bdi!F?7JIf?F0~S6vmB$er-)bCq^YIxBHyJzT5}u z-`zSKCP*xfFd}nWjUPMhEk|GWE-T-CF7a9BCWvk|!n?R0JKe5@v&x4d-6^yGzxIv0 z-sqpo{MGMX&VHxxdU{&!r`w_5Q@)$j)Xe>GLd2p+PJPj_3%%gjcNP7$YqmwHn&pzs zd23WYyWF!sy#L5g<(Lkwj|+2rKH11lXZRt*&gc-=V%!`a`nj%jp3swx@ru_M-YkvX zu~zn&5@Yt`W2~zu-!1M6wrY+C?kqGu&AEI|*QE#c!Y)?=W=#Y~Y>0|@-PIdylbOo3 zg8!c9J8dIqQYaN`^ZwO?zXH=A{e06deQ&;w^e01ynxM+dms3sC?`~B19r*ax_B^gK z+vm^c&1c_py(!O7bgPeBr!nZtFf?i&tK`aPg6OZo5DEmu>vRe0O4U zO^=by&BCdt4P9!23Ln2|KCr~E@aPV|Gqe6p3A~%){@wR3&naN(*1+H8=(2X+eOb56 z<(*$&^awx5tk$_wKdo!a>_s=vM%qVD`e-`uMAfQ?xhb;Nr4s*?)@N-tJI!VjtM==$ z@6RVwPP&zvS8PkmyF4}T@U~1~Rl$<6F2cWF^zcUcZs++k1VbO)Y})iIi{)O8rVQhC z#j2DGcfUPQpSY}iU6lIzN&ROk);-Ms9=tKna8AU$T5$%Oysf&E%M)V0ZFVc2EPGu1 zzoOt(;pR8T7|-i1^HW+Sw&Awjg``SZ=M5V^EPPg>dG?9|?~LfowB4UXB^s)wi~9v9 zY-Qk2uJ{(u_#k-WJ60QoIhUtPTz@-ROZc{>uvfk2#Me4=Q+~uJdV+CA zxW&TCxOE$gwR;11oe@yoXWb&Dmp$vpO1)UWnQP>7&SXsMh*G{=I*&Q0aP?E)8Icw{ z70 zTKU9|6{&(R%XuEe+{Jc0$+I8zn>*G{zfjk)7kF}zYKdz^NlIc#s#S7PDv)9@GB7gK zH89pSG72#?vNEu=GBVXRFt9Q(_@$aAgrXrgKP5A*60X6}FvQTz${3^vqT#B@>Wx4R N44$rjF6*2UngIE#{>lIV literal 0 HcmV?d00001 diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.json b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.json new file mode 100644 index 000000000..4b0fe86cb --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.json @@ -0,0 +1,690 @@ +{ + "OS/TopographicArea_1/Reeds/3": { + "x": 0, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/2": { + "x": 67, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/1": { + "x": 134, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/0": { + "x": 201, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Marsh/0": { + "x": 268, + "y": 0, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Saltmarsh/0": { + "x": 0, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Heath/0": { + "x": 67, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Rough Grassland/0": { + "x": 134, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scree/0": { + "x": 201, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Rock/0": { + "x": 268, + "y": 67, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Boulders/0": { + "x": 0, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/3": { + "x": 67, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/2": { + "x": 134, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/1": { + "x": 201, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/0": { + "x": 268, + "y": 134, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Coppice Or Osiers/0": { + "x": 0, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Coniferous Tree/0": { + "x": 67, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Nonconiferous Tree/0": { + "x": 134, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Mixed Woodland/0": { + "x": 201, + "y": 201, + "width": 67, + "height": 67, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Orchard/0": { + "x": 268, + "y": 201, + "width": 27, + "height": 27, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Site Of Heritage": { + "x": 295, + "y": 201, + "width": 26, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Cliff": { + "x": 0, + "y": 268, + "width": 24, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicArea_1/Slope": { + "x": 24, + "y": 268, + "width": 24, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "OS/Airports": { + "x": 48, + "y": 268, + "width": 22, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Positioned Nonconiferous Tree": { + "x": 70, + "y": 268, + "width": 18, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Positioned Coniferous Tree": { + "x": 70, + "y": 268, + "width": 18, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station": { + "x": 88, + "y": 268, + "width": 40, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station": { + "x": 128, + "y": 268, + "width": 34, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station": { + "x": 162, + "y": 268, + "width": 26, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/London Underground Station": { + "x": 188, + "y": 268, + "width": 20, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station": { + "x": 208, + "y": 268, + "width": 18, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And Railway Station": { + "x": 226, + "y": 268, + "width": 40, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Rail": { + "x": 266, + "y": 268, + "width": 16, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Bench Mark Symbol": { + "x": 282, + "y": 268, + "width": 26, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Triangulation Point Or Pillar": { + "x": 308, + "y": 268, + "width": 18, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Road Related Flow Symbol": { + "x": 0, + "y": 292, + "width": 18, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station_1": { + "x": 18, + "y": 292, + "width": 18, + "height": 12, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Direction Of Flow Symbol": { + "x": 36, + "y": 292, + "width": 30, + "height": 12, + "pixelRatio": 1, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1": { + "x": 66, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Motorway Junctions": { + "x": 76, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Greenspace:1": { + "x": 86, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Structure": { + "x": 96, + "y": 292, + "width": 10, + "height": 10, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Tidal Water": { + "x": 106, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Landform": { + "x": 114, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Country": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/City:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Capital:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/National Park:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Town:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Water:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Sites": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Landform:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/City:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/National/Capital:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Landcover:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Woodland:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Hamlet (Local)": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Small Settlement": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Suburban Area:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Village:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Town:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/City:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Local/Capital:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/National Park:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Landform:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Landcover:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Water:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Woodland:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Hamlet:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Suburban Area:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Village:3": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Town:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/City:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/District/Capital:4": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/National Park:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Hamlet:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Landcover:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Suburban Area:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Village:1": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/Names/Regional/Town:2": { + "x": 122, + "y": 292, + "width": 8, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/CartographicSymbol/Culvert Symbol": { + "x": 130, + "y": 292, + "width": 14, + "height": 8, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Historic Interest": { + "x": 144, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Inland Water": { + "x": 150, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Overhead Construction": { + "x": 156, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Roadside": { + "x": 162, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "OS/TopographicPoint/Spot Height": { + "x": 168, + "y": 292, + "width": 6, + "height": 6, + "pixelRatio": 1, + "sdf": false + } +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.png b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..1352d2dee30922861a3a4d163158b08d5e76ba05 GIT binary patch literal 14900 zcmd6ObyQSe+x8))Q$j)nq*F;jLPB7WP9;U@?k=T43 zj=$%5zO}x!zV-h3zV9Cc>&)5voW1Yb*L~gh#A<7*kP@i@{(i8M`N$Xn;2xl+^hDn;1GVgLsXvn| zw~uZSQR9r@V8!D62#bq-W3~LoAUhZ>)&MPxh+|l2)pq)R|EEJ_TpgaEBlZhQy4Rfd z;)jszL<$r&`jgo+w9_#Qyu3Yy5LyB?W9;XfS%(*|Y#t`bw0wHjjoxDUEbTj%@u=l6 zGZ6gu@Z;E+XO@0c zlwZ2{@3TD&|8E?KEA}|mS$cL5_0$#1yS|_InrwBNy^G$B_p>({~ecR=IgkchmkWlhay(%K$4AT#m=7 zo%*sP+8%Blbs@~0%P)zjbaS-06Wq9wtJWq%jw~%=o0h_e+2uLf5GP`}rbr7d=XgOv zt>9(4rVp|mF0LqltUH8}2ureyh5jCxV@{>$&KC#z7)U9JHJ36nYzoZ@o zMooJuFOQ4;XSKeaP0Fx{;^I7^hV#qWq3;yWLy2=7NF#CO-(u&4iD=8)H3qp1ybkm> znyzdESNqQbx(*u!-gwMaX(g0l*T~YNm#1p}b0=$omZ?nXf1m392d(D6di76#%Zn4# zO;Se2WfX-1UYp?Wp8flXHK;C|oZQV?rnGMgaLPY-%t{_*OTIn=3oPV9+P*P+pJjQt zIhvxD#CfNuN~Okmu?gj&F%{xKKQR7>nN-UR<_gsvz>#cqTkDnSsUoNNy>HrtGG=LJ z?7*8Ir7b^|4%2&oY1Lh7Im<(z*w2iY?v?CUd-dGQP0M>4w^Rn3S*Jd-CR($shT) z`nTFTmkV=px_uDSrGr4mZ3R=R-E*&I|HI8IrKyJP^YimiyEIOI+Tl@fA4t+1bZ;cF z1a7^{6XNjZ$<20;oK;8=&^mY$wyl)Gi6$37Kcb_lz(ZFB;jU5q3(b(z%5io)0P5-1F+Z zj|k;cs8q4{GXOR~{>gnT<8u1}8Sf9F0WK;hUjq1^vK8G#E#z~okta-P;UD*Tov4uHP3>IMh!GV4-?9hjy8*`YH z#uS^EnHIO8;PsG8^NmCpy~fmab``R4*n~tWbBo`_Kd>u_5Xr|T%R&Gc@-zWq5n?Prg-bFyp!=h2GI+p< zZrQSh>zjc1t?JpWsF&Z_DA^vW_acts9Tdij60@#;wi7 zCS)6sd;^G?s%6Mv{K^kF6`76)2aYK8Ygu$T|!6$auzk? z&BoKFIE^^@YC| z85r|t2JXTyPm73i54lDB_dbHp8`nAvIw7ADz6HqM3cCoocH;p=Q4|L9|G3=Ch(B&(8P#|kn0h0~0Hd9tolB!zEOWaP53iHY=PvXOc1 zvd6H%#Ujt%n?mHdnC=jftJ_m-$)r!8tbPm+BU30Dn96S7&qO`wqV z;Na*eM?g%hPNNW^&T~Vu$_&)9va$*>Mt#)Q)AM{^WZ!{AAk2w<%-*WOjxkuLQmJx# zdl*|ks$=0KP7NtiOAes@V2IC1m1mfpjm>9vcJ_MOp-~o^kzqRgpr&UK4Aea?EgLD_ zGG)%4H^P!{-~Ts4k^kyY`CkE-WV%}`1Afa;AD3Ce^0_Sk19gNSzy03g>EB*-2lF-g zytjq#LQcWaA$!}NQPub5zXo}jfP<8HI83WImOhHx%$fpjdp~xJT#4JLyUXqwRWAMu zhRAdX&}TjQ72v${KJvEf>D@MD!#>66m4-0#Hvhjdk}GkP?FTyuqx)~vg53FC6EV#F zjVcrB5h*<4e?zs!H*0t9>&hcq1+gqg$95e#rfGT^PU7EH%d`d`Y~Pvbsj~33`q#1o z{=zhGGc=whYnUW}o|&Gm82$01l;o+|8|AkpI*?egY9VHBq=8hy3jxK(xcVq*oNksy zfmQ6@e~{ksQ4_&z)|Mh*KIt6{Z}&e8v9F&$@HV@V4*Sw+kw%>P;owTFEd`!4V1kb5FkI*00Y`>=%2RhB6Q7Q!(JV>B+A28*suk21_BM)>SG<4E{Z33HuKy z1hw&oDob~WoAuk*v%{?$Rf3l~kVrrk*#Ah8m)dXDLfVbToCU1XUwyyX+#CCHwlr4g zxTHHm9meNtbn>1wenWL&{I2ZprKBlxZx7@1aa%OGk69bTzx0%}$i}_a0>T+@U>0w^ zBan(UBA`eB5KfD$Tk1rlRj@=HDFy=YF{=}i)iM@Zh)Z%H2^*5Jm1c6hi zt+h4BYinyW(tDK46d3@R{0RaE1_s0D$4E@VjDuMj@_cLgPZpR8BB&rdAKRq2Xz`9& z(x|LGEN=vM*e8)~zdEu45Ty$h6&0c0MsC=DN3vDH>THc8<{o;F>{gEN4Ry|WR2)zO z@o&wlJtM)@nkl@s$&|9Op#)whW*!$h`i_;3rXNqJB^|X|!ceB*;(k7A29H2?hXNBk zL28I{%1IQdd~u&1?D#tBP-JD(5(j`Jk?lkmVbWrw@F`I3%vY0 zzcBzdnLbu_expl^R1Y6s?v8S!6c_NtOm^76vbm`gv1W++b1_w{wRMDqjZ-l&1XNcc z%U>9C>BEj!1o&C1ponI_KfiWC_`IBwoa}v-ryResbIIkH@K@SUd=yvW1CjL1#StcH zq&h%sDxE5eo1?czxH=t2!#9R454v+GeU!TqF*3o<`m7Kz2LO#JvexB2J^)l}NwE&i zR;v>0HQ9I0gsy4G=PGJ0}wREjHlNQMwxQ7bgePiW42o9M6h zb?w(}P$&fEvxMu4G4OV4EK|C?we_6PVm!#m3RI212B=1t=8I4L@pN*cjLmt-*?OaS|RgG z-3!M|6A~@NgN!zhko&k)g`Zq)6Ed&fTf(AC1W3m3{*$>up|^P=v{BW;FFjC0Ux-<| z>WEtUEBSx?&22u2`=s#A9TRc7(8)0N)!!=F_S_zH^bwN5U+uGm6}HK=@m*LEPkRwC z`6PU~YWMxa3#%%eGHa{%M34?sW3DdOCUXoQs&)=9_Me5V&EwcX+VIl2dwh4*>s-q3 zJ|`cM3?4d}I8vKpJpLdxFcxz81-rvnRbx(%(IW83H%Vo@gv?Op?M7RxS%y%6l3%Nj zwU$>xW~12LF#-NoRfZRq0a+m;v#m~Va&T;j*eA19J@_liR`&;88h-J3u-dsjtSUop zMiny-1Qj>EM<4jOcM>@Gxdfqp#{5kU6-)g9H`Lgd-}EA$p2Em!vn-y8Kodu&E^6&+ zzVHy?*DW=652`ZNSv(TbgL}+wEm7g=J2K=gnyP&dr&{o}8IK3|#a^=JZ`dLNTv7rV zX8}U0Bt$mBtx1hqPR`S{B`RDRX|KQf*uwEy5zMb_uE5YD*afXDrl8Wbf1#hwr#5%* zb+t>G?u2`rWGG1Kh{dFNL}%xfjfSfu&EVJh7EobE*r%E#X1{#gufc5+^>y@_y=pTfph3~jW{mut z8b2eMmYEl+7Hn=4d(|4|<^cIBR7Pk9o^we_vJN)IE-v0HRLpIZpCjtLybS_Ap)Y;h zv%m*wUY#vfXSAhUE4;0FotWh=`q_I&v)t#kN~H00CFJ|cM=r-L!(-A5SDtqs>K)#t zZ!R+(jeLIW=)Jswy-*p#Q;ePZdr+&h$Xq0G`O4n0Q9MQ^y4Ra~?G33_8+6Rd3Gan3 zG`6LXCMy`?wUsT0gHq+NTiaRcxIfF*&jH`94wO21y2$d@;Jsx{M9GsE@2ou$LU$kG z0aeRcv5g(?>$68Kf^?MhmjU30%u1{+gMp&)8I!c^c#ESww5ZGxDu0x=JbzKxdn~SR zv9pvMY{;8`8dItH_f*Gejz3hN=oJYb$@sLi{0Ot%dYuBgG5dIX>ypdNYlZW(|G0Ac?#dWz+&dbU3rDnN1Ri{2i8bEFiOW?s=lE z;qV0rfsf80d}b%=L(8iP1E(JZoP>Lg*t=&gWvaUx$?N~#iP+)<&C1J@rj4dKK1<*$ z^HZYS&Kvbye6`YnnXG;r0A9N9gknko4-mK9>1vJ%cq3n6+^gM+<7LxE7jLak=K08T zZ!4!m#}*d&rJrB6Y~v$HOtUDDoGh3yzu4O2sGl4h;URqbk9fcr7||03ZJw#L7vJj@ zpjyCLA44(kjoJ2JIFJo2-);rT!4jR08;QB&9kP|hZ{kyJt|(U$#X#Bht@rK3z?jUV z8>%RA;_eZbN=x#6vn9cRyqu`wS0fdv;d?EEKhA8-!d=SC35Rb}%~1Hkq7b_?)q;z^ ziQl6c3Mt55X4uzNps-Hp?tw8#<^9*D%(Qq(ALU@P)4{Qt2?8CyW#6KAU%nvEhwD0f zs*EW5Z4%P2{(2L63vh+LAUK#r!0_4zbkNau{n=*=7Z>SGg1vMOH#>gKE25fjPyAs{r0Gx=1m?pF6*FuGAkP$*6f zj0K3!c@v4d(Dn517aW43-9`0O;ZXj=0{=b9|6A$e8fO42 z;UeBbe0_a={_)}A^1}{p5fKpxPjb2aLY+amVaK}3o|~jX1VxvZRHhJar`piwZT0Ec zlKJE--qcNvgOsjE{Z!r$9m+mf$t%C^KWJCO+Nd5%cv$hY>dlK3`1`vHBdi8Wbn<_l?9RVx?Yyvh#heC>4If63yy|Io zep^sbpv0==fi@Rg55$x`ng3IwP^cfGwui^@@bIK0BqVSp>qeUj!f@dS(&+YjSM*9peIy0C!o1@g)49=FWumUGj!xxz zeLGCK%FFdkQzeG8f#*fX$*-~t!?R&{hSiVnqkg)C-rtk&YF{V$o}iqOnF5G@>2hYQ z4Z7{wU*mCT-@-OSujj}N+mrqQsR-R4fECt#>^W8_ulS)gqnLw!#v&?FfSa3JROh{t ztIR+kQimJL3r*W>tt}|f+jy?10FEar%;>bfK=}|9nr^Wv1+65+#uC@QU|x~Jk6hc@Q%660uBN6It8+Cbna8fh`GVhq%lsx<@^&zdiLUw2>Itjb0$l82#%*7pN&{!xfM0W^2pODu4r zIsR(pOu11Pfjm|gASfV^$yvB-GGFZx(wEzsMMXr+$v7Ef5e!E>?V0b&yLrt4PW?Wx zfvG!wfgj#%Sd0e+4e@rU;bT&UbMY(rKY#wj8kRTyp3;&-)met7qLMnx8Gd?c1ShztmvxL2$@^z*fQ9u=Do_l6&MZDiZ~eUUQ~FkNA}#VlVz z)w@Rg(RIp4KEF%FDyevYkF^HwqLl(EgzFp5?rmv7ARZ(g1>gMF8?!}Ugv@{VWelui znCX4K(LeI&0U_UU;_Udv{8QXZ?omwe^_5RxE)`oxe)i3tbk$hbW}NSUib|HliRsr$ zT6WiSitJ#@X0y_Qqc?A`jZ}u7sj1cC-fi@u8Fa?E>(&vp%j4&nQ?ILQS^A*t`je02 z(b1B?Al&|j#<~7nwgIFb|KQsy1P5PH!HNDFGX%1S?^Zax@q+I3*Yx!CHE@mal9K4V z2=_807XY<`B_AIjKV_C=nstzwNMS7eTrJtsIALHTo4dut;b6#A#bx~fR&WA?o*3D_ zkUs-+mtRA_?o8zLb9~zgM-C1SauKn5^$8DH1nd+FYE02K(B!QgXDY<>Dn^reZxhS# zi=9gl(U(O8CgCGDQbU>7AAi=(3V-b7w@!HaP%=W7j3YvkduB%ndt$$TJlfWk8W7&E zYNN1fUf(_(&+n`lY4*Ebe2d@TL~EM=^j%y%xg>%~>UZ|~t-%zDfW11_{#ZElo74N< zz_*UWd>1Cp#h`RM56~@GSrdy`H+Q+A6p7$Bzeo!U*`?0!1poDh9_l>Oml)>-GT{1w zopznJLmS%td(M*>1~DR5AL+!$C!by2D>%QM1lQKGFYwCo@cj6bbaPo;Z+{_nP67*g z({plg)~zZ^I`KDXDF~#TRdyPSUp{SvQgpJEDCJJKU7$`Ba`o$5@vb{S5|K$U`m(-% zmBb75HGTbKZ)~+l=0^wg;!bnfAf;~sJDxn56&rRB93kR1AW!Nc1av&QgCVOtSg&{F z1}e`j)?983Djm0-VWQ4)(1)F!ogqIw$7Otp>?Dt}NGy%*?6%)@(@8NU(gVX8np^s~ zK{=C?lkpQh`5{Qp4Xo!4gdF!Hf1LG34V9V`7et!!egzv4Q7Iwrv5Y-NM1E|*ix7bpFt0XG;7 z4b=2m)!uhdkfhvK{s0jWCdr?VT09aSZRXm%m?Zyt;i6>fO#`gv$z5X2u!O{nb80;e zetrkkBd8C7y+YC^y78N}8Rc~xvULVI7L&y761~JBYPCoK)W_ZUciyKbL6N!|82n>! zcx)P!44o?L-nCpMu}pn(SISi-P`__e8~f&cR5c0$h+gzm__lG0I=B5*r6}trj{G+R zBh~|3xx>qS5(eDvsSp(lKP;8Ifh5P)*8A70ji=4eAP@*sfSOu*&yI*>6H_WFPgeD( zPY3Bydh*;phIv$ZJ6R&D%T+4x7-;BjI;y4h<+`a4`mL`r0jUFaI=t@LwKShk>nERS zAgpYdjRVb0SwiRo_X&B$?<`xLUc0jmi}(z1rNL)7Lo8R~#|Pf@8Z)A({%*zNqobo~ zP_ww{qfNW9Tv;Utg0y7O?4|^3pL9Dvr>8GcI87C45X%LgRJb%RZsA51HTT(-8CG}D z`<2Lw`8qf}h@(bS9uLpL>sKr~rzoo;Ja|gzJi$}THH+5V%%F0RW>Ab*?t`z8$lj#7 z5b0wtCZP!W><=HbOP~2aVz5 z!R;rfNFxo@O)1r{@Ry|zYO^Z@Tz%~5tQw_$`n|7^iA|$e6mzWq_?lzy@jU>zGy1m| zAd+D2^UVXh59oHbyr=Ja``?ShY1yh;iHtf=7|2XLNrCRR!P#x%2Oht_|2{30v`!5tZ}Wt1!mhjco1@ zOcbF6@Rx!m@K?Nz>b=3gbbnvM^6oAvP%98A3n(2+uiFKbtfZv$?x<{R^n5WpY9ryPba{Ejw)rjdvaW>$Rmy)2l2@7Xs$uU9cV60V>vS z3c&Z^v+d!;MXM&;0wvcMnZB1X^A9VpE-+e2y5>}KkA5$&J27N@|Ni|eaW@94i}djH zw7>}XN-}knm6y{Iv&uSBIpu{K+=$|Nt66S+s6x(K-R7Epj>LXTeWxm+EoWb*u+)33 zR5KLx;A%t}qMxYD{fr1Z&;RXRDKBmrR@Rrd!n!*?gRDy%At7O;-6dY8w!Z%KW($9M z!}U|5lIgDCX;Lxo4@M?_!e=TSXz@f9ST-OUxD{GvJs?fFu8-*Rw@`(L1qu!?2x~n4a6Tl?XV&6`KuYgbb=KMJ$%C-x)csDhtvx3CMcwmrZ)D5qR1w^M= zyIvC{aiva8BY_Ti%AKBzkeDbIE4cYJ81tQ7EFh(G`}hs4k4JP}aA_^xYf1sRnCEDTa@i zclIKMuTaUxX7eqiOf_a;gC$n_Vat!Z#l=A-$mAkfUkz_DB25DRB!$k@oYLQ8;;~TRtvUbgy&dtqG4XfEx-C*j9}u1G+2U zMTZ?`5umd+?E#5q3Ap@Vtdxi%`(j;PU9zBb&4NHZ z{5fP{D|NR!hcJ2FMy4iD!#kjfLPnW>U#7S(7)Mw&wkEBhx<_ z7#LcQN{h3~@E&*Atc>Np)OZV~NuD0g&L}1x>tIVPg%}!OrJ|%{?zbbq8LV++WF)!( z8r+BIrIk4jYrY)iN%=(0;Y%C?PMoS8c+g@#J^t~<`T^-gvF%i!9}uQn_IrP=kNLcgr=(fbnwi+r+YxE{c*81Pw|JpKD<>*TuP}%i zmxFmZUJ~YjP*9hu4|xqokTKI{t5+s)Z=2fre3S`1xovS1ZRp!%G9#MNz7>>yvtMG< zL&-RyGrJi$-L_13Rnp#W4B3$~pC5c6*|Z**U8r)A+A#gH0iV*~ch{a&eq76tOwuB<&Co9(1f;2A$tD(4Sp+_UoQ%p>&^_shmY`6OZRRjNb*iQ$CbW-ISV5?-z0l#_#OcRMm^UERnjiMs5J#NCC z{NkQycM%6 zn8|yV-EBujErXjUL>oh+LbB^7O`99*o;a{ls=>^U4>{o3Vm$4!Ag#beg9r7;wHnEH4JZmH~d`u;2U_P zd@JhvjBWq&rx@bdOqdUxB&zj+N1YccjYJf^(LfxhUs-ql*PH9+6(IFwwes^IPMa<0!*DC22*Xsts zH8)qoW_Wnj5{^O~O0Af~Z+p#)hsfo0WUJF6~2;% zGEWnb>j`fjWVRUj96l`W;#7N;c)nPzCC5T5thYu>GU4%6{vEgk;%Op0+J{2 zFn_;Jw@852PdfTweSJMXI8(J(q_b|O)=625W`-=CAvoxC8moD+;nkwUbl941*%@uF zHT}?Myuz#c)Z@7Ugw%y{nwu7Jb3}odKz_3NcHCNr!#9cRpT0Aywt_N$GoRD3B>(6s z%T+VqT-c0JK4Lu7MN%KL@N?m;2a&e2BYl&0>N5H6CeC>$-n+eweC6i!6LWRfbwGTk zg+vPU>j?;@a^=<)D`wd{|CFUsBo=M)njn=N^F0NYeRZ%dxp|zf!F@}q1!hCPJ9I*)u-o_z|>+{(-9OB7(Fmpe!f~S^h=6KQ+5TT zN!C6|(CwEyeVS-~zb1GPuA-lP6?+)vNG2u7IO%sNWj=E&`!=cI<4g3M=8Q8~8m;!) z^!&WGpnJUn<)MQ&gj}VHF+Ycs-UoiM^L#La?Hz|=E0ny-tV}ZCX*7hK4R%L@iPV5} z;^8qT()G4Nj=kH8FFd%9w9iiga<ycp&+065s7|oQD~p0$g=_F$Uv9^t5U8mFIkqwwnBXWL)Lu=JNm08T)4;w zBP;jZGiYq16zBRPA>lb&n5$@R)^1d%=+8LFk ze3z^1Cm1CcZUN>snXW~*<9JS`{3mGCOum4C*~3QEDWqZs>WUl^F`hy1?sH^SH z>vQCeE@#ULGkwZZo6)FWdZoA^|FoH3foQ8XPqKw}jYP?ol*!c3Rb0SmrB(u~eLiv~ z+<>6=v4n(gwre=%)3Egl);?)_rXnL$R|Wg62s`^aq!^*oS&PR;SMV_CbNLPq z4(6f}wQd><454R^x)+L8Uwnb~uFH46Dlt;EPwpU8E!~P_(*rod26I0kAiihA7Rh(4 zrx}H?>9?3+&#}ja-18261$Vi5c_B}!m6esx!0d>)9f`B@gKxp1A+LIB;>LZCwgk8z*a+?vHc)K(92{8UrW?wlP zanM&+cLcHyg79Rml~yQ-$lr;d1WD)rXk3xPCVK?}1P+DLOHFe*bbtt_O*F;|-y$=d zjD*qA0Sr~G5Xg{_AQH`VTaPeanIme^!M&g&GwEFSSVQ;~{A5MV*(q%+H4`TO%8v=`C2`2(@@gGIszK6NrX4-D9lX)EOxR!)mbCsa=<1rB?!z zbvh0nEska7xtAa`kdc*@Wx-mP!jTqFYfP7V>ZMpN&ek5ku7w!g{grB7ww!Et9cl^R>kK(Db zr>h4mO)K*hetd49$l-urVW|WPE-ENDnk>%Ly&ev-X@>U80O@e19%Cx`>7X~~{rm02 zTHHF44pbFT<$04+usTIR+)+w)(^6?m;_i^hBMO^`6Y393MV5eQ08|}c8arUx$fV8 zR%6T`Y4#|RnbOR!V#UOkAEWttNqFdbcfP)r;#YlKT-4uS!0g?z&Pkp6Xfq6F%)?orAmKp6c#0{}e zomU@?{m{}%BqJxb*m~w@8lq0dB5UfmQ<&Nc)lED(;gQK2~pas zZUxhzF;z~sK2eaRrO)6=*W>@l#g;v$F+A$D^Y%>Y<5v~1Ri+1IrWrZ!os0o;IPw~n zH9M_U)~{cWRF#x`zbhN$m+vTFX^4DUIDOEq=xyQVkap5jZ$ExM>?@@Z#}{wH5C4e# zY)11uS>|$mV8f)qnq8Ei{IR~)e1_GI#mtR8z|wHM21@T}Ocb9|M@7tw-rrU)4PU-~ z5j7k%+)>Xib3dZyZ=o&Rh|Jo?=Ba<+OgdgM#jifl)tc4}saFEYG!DlAc**5a;|@8Y zqVXZ;zs6P#C45SAntt?~ShH|Cy2{H)@k~i+xs>(sKZPXSlXoD$j&nk!{FedH9qLR@ ze#f=ux8HM%-4P6DBut680BK-G*6PtXaP$1n)x?B^AgiY9XDst41t1X+5!I=|b@sW= z1yZ2n+D z`rAy2N@h3LkHCs{#pUdnI~ApOu?@ywGPT{P{To&o728eFoj||A>MGA5p%c4;1Po)bNwb&_iWlzvoEposG-Tvo=w=wTozmJz>AYn73%opqqoQ3GmiSey*nXr{kn+?7j9_VF$Pa z3z>e^#>k8f4SD2cO1~BNMkQ67vXVS%E8K!oWHb4>{rc5yy&^N#t(?_@UGNMads8Pl zYa>m;BfoL+xnQB4S7|X6HLff_J@bNOytG*bPE@!j8D3}M(7SMF?n59*)%g=E41RhnPL*5YJ}M9}IDkV9$6mMNP!L+uaF8NL<|F@kd>K zFW+?RP4&Seb_8VYOPzh{1<*{`;q@(nZ#1SrQXsTt^SL12L8L--s$<$vs;($MOcb9B z&!Qewi}R{8k%vQY_6qgkEDQRGGy_CB&f?aANr66e*mF8)pJvHBE;$n+vyTCoLTNBe zw$s|i7Ksg(AuexY6KbC>dh?mj(zvB+r#y)4>NYhl$!UQ4G0&%+J zAKvc!7I(t!0=NZbsE*(c-)gFnTK%FHY~ke8N7qp}b|24x_Z}}0WM3o*+>1DW@uW?k z@K_AGjT3GdN+HX`Pyu&4&b6s8%?1J6B8%xJcIN|=cVs^cIEE=Ei*TU^_5$Pn&yA#e z0!y+8aOxqh)nGLt947?|K`n` z-UzgX`CsQJl>=-Yd$ofaLSGtXqjAG#OokKlGA~pErK4YxOLf=>c?B`rjV`4O>)g#84IaC`q^xC z47POn|L%UVy)7|d##pB=GCf!&uu+}H zQxo}8^(-7?`ZHo~K@M^6jc>r~G_oZ#dC zkXgt5?Gga17t)X2t``&k;D+_ya-E0o-@vsTW?w2PP3w#XEN0IKApAC&7bJbnzN;si zyy7)A8G=ivy3Va=G{nS=-4aMV4Dy+Z9fICYXw252kY8-p;b1!#bT}r;Z+|@PZB@cT s`O_DYYQCtcNueuzd4>0FK5XfB*mh literal 0 HcmV?d00001 diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.json b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.json new file mode 100644 index 000000000..ea0858a49 --- /dev/null +++ b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.json @@ -0,0 +1,690 @@ +{ + "OS/TopographicArea_1/Reeds/3": { + "x": 0, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/2": { + "x": 134, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/1": { + "x": 268, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Reeds/0": { + "x": 402, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Marsh/0": { + "x": 536, + "y": 0, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Saltmarsh/0": { + "x": 0, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Heath/0": { + "x": 134, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Rough Grassland/0": { + "x": 268, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scree/0": { + "x": 402, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Rock/0": { + "x": 536, + "y": 134, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Boulders/0": { + "x": 0, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/3": { + "x": 134, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/2": { + "x": 268, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/1": { + "x": 402, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Scrub/0": { + "x": 536, + "y": 268, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Coppice Or Osiers/0": { + "x": 0, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Coniferous Tree/0": { + "x": 134, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Nonconiferous Tree/0": { + "x": 268, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Mixed Woodland/0": { + "x": 402, + "y": 402, + "width": 134, + "height": 134, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Orchard/0": { + "x": 536, + "y": 402, + "width": 54, + "height": 54, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Site Of Heritage": { + "x": 590, + "y": 402, + "width": 52, + "height": 52, + "pixelRatio": 2, + "sdf": false + }, + "OS/Airports": { + "x": 0, + "y": 536, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Cliff": { + "x": 48, + "y": 536, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicArea_1/Slope": { + "x": 96, + "y": 536, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Positioned Nonconiferous Tree": { + "x": 144, + "y": 536, + "width": 36, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Positioned Coniferous Tree": { + "x": 144, + "y": 536, + "width": 36, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station": { + "x": 180, + "y": 536, + "width": 80, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station": { + "x": 260, + "y": 536, + "width": 68, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Railway Station": { + "x": 328, + "y": 536, + "width": 52, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/London Underground Station": { + "x": 380, + "y": 536, + "width": 40, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station": { + "x": 420, + "y": 536, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And Railway Station": { + "x": 456, + "y": 536, + "width": 80, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Rail": { + "x": 536, + "y": 536, + "width": 32, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Bench Mark Symbol": { + "x": 568, + "y": 536, + "width": 60, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Triangulation Point Or Pillar": { + "x": 628, + "y": 536, + "width": 36, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Road Related Flow Symbol": { + "x": 0, + "y": 584, + "width": 40, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Railway Station And London Underground Station_1": { + "x": 40, + "y": 584, + "width": 36, + "height": 24, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Direction Of Flow Symbol": { + "x": 76, + "y": 584, + "width": 60, + "height": 24, + "pixelRatio": 2, + "sdf": false + }, + "OS/Railway_stations/Light Rapid Transit Station And London Underground Station_1": { + "x": 136, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Motorway Junctions": { + "x": 156, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Greenspace:1": { + "x": 176, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Structure": { + "x": 196, + "y": 584, + "width": 20, + "height": 20, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Tidal Water": { + "x": 216, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Landform": { + "x": 232, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/Country": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/City:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Capital:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/National Park:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/Town:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Water:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Sites": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Landform:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/City:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/National/Capital:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Landcover:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Woodland:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Hamlet (Local)": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Small Settlement": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Suburban Area:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Village:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Town:4": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/City:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Local/Capital:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/National Park:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Landform:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Landcover:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Water:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Woodland:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Hamlet:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Suburban Area:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Village:3": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Town:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/City:4": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/District/Capital:4": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/National Park:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Hamlet:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Landcover:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Suburban Area:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Village:1": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/Names/Regional/Town:2": { + "x": 248, + "y": 584, + "width": 16, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/CartographicSymbol/Culvert Symbol": { + "x": 264, + "y": 584, + "width": 28, + "height": 16, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Historic Interest": { + "x": 292, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Inland Water": { + "x": 304, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Overhead Construction": { + "x": 316, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Roadside": { + "x": 328, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "OS/TopographicPoint/Spot Height": { + "x": 340, + "y": 584, + "width": 12, + "height": 12, + "pixelRatio": 2, + "sdf": false + } +} diff --git a/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.png b/src/server/plugins/map/routes/vts/OS_VTS_3857/resources/sprites/sprite@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..70a6de21a108206554bda1a1c0997f4fb1365c95 GIT binary patch literal 32094 zcmeFZXH=8j_AiP8q5^_al`2wHsvy0Kh><4JlwO1M5_%U9lq#VHNKm9m@4YDqNDC5r zZ$b#Y1VRhB5AWXo&mQ;F`EbS^_nia ziaOpI8#6xsItR^!T^z12jD!S7S!7&fjIC)dHYoQiHc+B2W;#4~s@8oTV&Isg3;i_z zAWTi6FnQ9BJ9x6+M2C+ZRCd3%xLCD1s@S+lZ&R0Ai^RHH80{Yzq#!hI9@UK_Svl~R z@gJ6i2p|9K%8Ov=?&IVKw)8#J9YqZM{wzcd?44*QWQT-^D3~FP2YA!OE^~>9Xr6T8 z8t_K&swVK$ThaS6Fp0d426$ug-zonGDOUex1({^CP3ZYS&dY18kE%4AHxv9s<@e5i zocvF_i9_+{b`i)}PXcicK@77&j1Wg7ja_%rPC1Kh>(+BzMQzw*creGGC=M?lmofZ` zXjYKh=%}G{_wFH$_`@gn8l_ny#RtEe|C!u%n#O4ZkX>r)S~I<&7Ds3s?|<$H`5<-2A(e1;iJnTzau0Ue@0dzJ{k~1E zN10G1gS34*u)pZ;{z1e~5o*M&DKw!8=6fy5xAw}XUy{r?<=4)t_wjdlWE zv)g-b~g2^$sa=t6a2$8(%9J&A9z7u!ep4-yHt0@x$7 z3_xU{6E##N5iuR$@V*;XIZRYw8$8w#;*|q@ugm6XY%*LsOA`>+7(ZON!r81b6Tjk7 zN&N@iQc_aqsaTokdW_*+KV8oTOG-+lMPPlrpaGFj)CdJC@Ja?`G@!BGx^rsryPWYG zgM$P|I5AOrwd!PJcD9wLq2Ux)PEJl?0_)Xt9esT^9V5U(!2&w_&iODY9UUFD`Z_w% zNN}YwXh8fWH6q=5%gE>Oyp*}AtO8ZeOuE*YLrM0yR#Z$?s_-T zSf4Y=!`(fRQ-)sVTKf*8NTEAY843nsnF$66wgX-mxJUA^181|GTb9?_MS{J1HoBNVO~ZqA77 zD%#;`^gfALe$~#~Q(({-w>%k@X=^aO^S)>W#KkptCKa7?7CYmkv2R z((AJD+WZiABkew>JCOBGzPDGdLf(*ho)+pfzE6pitwUW_48i zl=nB{Y;VFA)7J7xW_-RRMSJ~B&~4ZZN}}_RUQ&v>?>9mV#}OF34Rw#srbN~cf)8au zY~y9-?O&h>4Noa-oJa#5uJ5Ru8Xm>w^{WWd)0v6HLE;LOYZm#a?x;w@>a+2Y} z{-6%<%dKlw?&<2i$+b$VoS6=&D6VuVgM1gl6(9-Q6q-f+lL>*bUkmQ^|KPS8J`(GL&H z*v@F|?|YUuf$Qg6&Ny{^m~=AO4FTiSD@A)D+e;cCb{16T}QP*`%(-v<*h-IkN{ zSQ}n(3{dm)JMCFqTwDm`W=_2>AR}#j^3G!Yq$XQs@p-SY!RcXBtLyAqfJKTSFNktq zzj@4p_l4Cd3bvqa?KsAtz$fi5Qv5`#AZ-51f_?3z^d!hNEaw{2AbA92`=t$KUFSbr6 z1_H&-$xV;iGH zMt9q6iPxH+t18(5fs`6*Pa^N8>_F7e;N6*lIf$#w4=Z_Cx!FkBH`QfPG_$)gNBdXJ z$JOfc;4&sGZcD*EHwZQqQ7hH$pw3K3IWxPIS|18gKD5AXwo7S8q(gfB5Rm=F+g;5^ zQ!%Yel9|MD5T_(qz_axBAxXR{eG@K*#sRJ-Z)mX!p-~Bx8zZMC5eep?2r%z(=A4b!bEXfWqx<0iKNR2De_>i z@smahc%_ut3hE|lPmzJ|&X9I5gm6f6-k81#JLcs{t%tye60`(bULrR$VXbaYoaG#8 z$>K&4kl$aM({2awc-nZ87;D-Nd2#>Aw&^FetdZ+(rmZ^)fY#tyuIK$o%F}W5Sx`vi zm6Ex-0Yl`G2%LBCSRR;z!j#)8iepTpE%`Hr8rD*vR=GCDJDqVTb>9~iUhZ?AZi1j( z9jU-2-EO3Z-RZ&`4pJ89jFMa0ae0;`gN;@i7PX6|$k4~mSNXci>8BAnAG_aDpYQ z`vj`1_wTS@eX+K_UVE}{r3r-G=t#QA$Q$m01!MB(HBus=iYYj!$O8>h4=Am&tB3bt zpnaQiFB>oBx>J-TnzPYi=-4hnZM4_RiQ;neXk*+{)9Zg&#q-tD+eMy}1w~~Yl_Ag) z7+dn`cT>L6Z}=-Ca}ER@4<0>e?(aCU!EL4+h-@cnmsId^N|6z1pLMglY$sw>L2i)* z4oFw4Yiru-dhZZocYuDB8NO?#Jd6lQF{*dmIdest{W?4$jy;} zshlPGH!1030e%PbBZKBls$eJlcd_a0R)^!qNEX3~Q2Z{J*%+z7QDI+8-E#26E5{Q` z5oq?fyC!=;%juz<{Tx1`+E3nNs8g|CzcH?Uyd~Z(pI?x*kWshtKvO=W@pIv?!0P4P zjT@EoF|7q@=Q#?shjpz=DAZP-1<8wmKC43S^1<&6UAttQ%^Mk~k=azBhhmlJ5O(i1 z?2sm5FiSZKk%(1BPj^^$M%Vi+w7nmDUa+ycT4#!C+LU?hNo>w|u7TS2+?%F!Zh$9X z$NCBGtpjKlWIe$ZXDJCV4mrBqB1}X4M$wis@87KO_E1Q zH)L^%-1_Ij6HD$R?LfO3k%`f0d*7=3Z+ms>@`u+Kr}a)>N;cRPvXwjEc=vv$R=jom z51H)1?W%H14fJm)f4n(Zg$!KW_WctCXV~MEG2=ONzNE@iQo<;EOtnz4^KGk9kX097 zls(kw>>S8jtm-TG)aT6se(IE#E=Sjpv?JYANJp|@?GlKp$u;o6c%j0j*VLtdV+NYM zg&HH>25kG|!9F+e3MZW70dCwfE?_OyGWJ-XxhsnELF|$?9MT%QROby4hrop?oWwE= zmGYT19RcoOt7=HY&qF%%3MmIgJF>8}MXK3zbFy)))HJgfT!~h#5Td||S605tAD*hl z*fRMghFl+j)>*#MxBImuEeEmB&$jnfI5f~0h-9DH*r0=+Y5}Le z3^IMO#rs2nI(%V@lZ8=vFwwj{Jir5pR)XpmBYC&xY%&8%CeAEz6ZtxJasF)MAq~IP znf;EQfd+VF$)H0bawolYBHWHRN74DYBNQl(Q?~ukNJme*thK|+%N#tCud~+sRV6M^ z3)S?VoI%bUTn*Kr3i;g8H+vV;3^hr{ilCd6@d&Q>vb zndeg^t<0R;-j2Qt@uZ47?u_A4g#`tNQCX|pAP7L-a#!Xc9ofM64n)>xAYTri6{?(Y zW!5w;GyBmO8ylOK0YN{1_%Ul$en4iwPn4XVPXaKdQ+*DqF`JUJLa|dLaRI zVD$rNM$ZQP+>Tv3`jwTHWqjVvbjWAUhz!~<@9gZcJ94 z&))+&@dbgprTZO{vgdM!FiH#pMiQX(*}{E8XiND;!ZKNHFTbAQ7Y7R%>YK&I$N6U~ zqdrT-3f|}CT_2xCUp}Wa*A29%unWi#?d9n%uI`TA zW$zIrRqDGzkCAiPcr zb9;g9FNnJ#)kZ^VtJhm(VY9yNPH&{6C5HLJ>NPVmoP3+j5DkaQr40K&zw&oD_Qt}; z5S`uktoE;=Y8qfTP5Bj|q}q z59Vh05aNYoZA$HzPZEDOy($ZA!RBQiQrHHk6MIekPvcylQBC!(EHA4Qp>X>@j(0Kg zeOJApMBaL>hu1!|GvRVxgtxNAyZ-@!P43BPxu~6dezjFQ)i4M0Kw>>IMeh3ig-{3m z0QyA2>Q`zyp^@4JqbrTA`Ng{g*aYvg^++pDmI>Pa7pQcm1Wvlw?pMmfF=2na)o81Q zH%AuzKy3}FI}Sy7{cP7WHSzR`*!~Y%HeFD^r<3?_Yq(%!tG_Fq)$yTQp&mg8xw+)# znMvz#-*sKZ%8-d+T=CS{$j8W9|JHsR)n77r+g}%!X%{*x%Z>x0voZFofpp>K0vOo5 z%Cc*cF+gHp5eQOpU2e<7B%m@|$=Y+UrL@&=;Ub?05q z3CcWj*p}m$dDJIbD|UvWP2>{eJ^No&=1tw9Xcywo@0YC2Ei7FBfEmgom@b>=)M@2obsa`apM*wlY5ILAYC@bDiOR;L8Dryz+oIwQpU)+c+i}4Ywvp-dBW&Cd zO7IVxW{vmRe~TT;g0yPhD{l2&fGeN%@bF-Ri8)Ss&JBwKT20X|EMmxxiJzRD6dV~F zBeV~F+cERE9nnmmx>Ner3Fi95XCgboca}kbd?^2Lc#~V-^o{4p5UBqu;V&Ma<#nA~ zW_^7u?!&Kl{k9(60$xn?^Qk+#P;H_P{H(}U^@0? z4Syweq&f2>JR1g0bhK?!18;kqyL7>>#YKeuwIv-T00#lVa0YL?AZHxG_FPG+6M@M3 zTG)gMG+Y9G2(4=Cn_bChR6{)znPSI~f(lFO79)R*nFirIIa_aFivvvkaDPPG5l;37 zs4}6KYc5esOn<7Zes(Tqf(?ZY;p-XrY=52pv#qJhDKImep?@{Z5C#qKl4(uxiu<3! zNn@^A8)R)bzxH_p7e-R3ESg1HEDZ?GeVDSaCuYAJbUVtWLEMDsUprIu470lr-~cV97EAIh^4NN&xfl?PHUD|awSPv3nKRljh@W|Vx}Fwg+}#Up zRu?!osHtACUkTaPOV;E6&yD|UhHi9;&t7t4yU3(!Bu>3!w`HaaqBMyc*S}}c^_SGs z0I9vnFVdKMw(2N|nc2VDd)@K>wrcg#m5$86y#W6QYs&v07w&^ES@a}6_}cFfl8xuY zizU6VZWHolyir+iZ5hKeDcfB<5-c@+$vp^+yq>^NC9z0$5ZJUV*Cm3iz%TIwJFfcF<23eR6ZOnMlzbfjX=xZ=wi zm-V&;vW4TgsAc|E2`5q9!KPEuGcb5P)v^Ln46|L-Yl6d+wXg~7S4(7pdVq8DQmk~= z))J8P4D}^*NgA5|GxwGlfO)9^AlTmT(^*{0#Va=@YLcMntkuUNysCLa)}Vng{eM=w zWCj=|{gKg81h=glt+L9Cv>I@Knx;Rlac=XuZ%xaSi#`bo>Vty=oEk#rxP$#_o9$3; z{|jG4%d`L0La~vYHg!jiE?v4Cv@Hs0y?#Y`zgH8{B#fyqbG*pY#*6)(cl(scNC)}B zzRF;)H1cFA%)L>%>AC6AohWx#^iOh4im3zy4I%b|DvdF0eD&bcLy6j-+3UQ|bmu0Q zO31*~eLczJCv0dj`myI}(BB`%Z(I<1Lrf~G#EpE~lvlMjQUioqwodVycJq>GDa=0l z$dn@Hk1pgHYl43NpW%J=gY={$Qw@YRk#&esLng_uu%(r7wt95a2oa{XU3lDpQJ1#Az*285c$ zKN;X-u;G9Q?#+ORYSA|9>FaxahV>VfmS!$2K{Np(vM5sb#b&Lh;#vuKCVP8(wof|7 zrly4GxPexY3#JIoi{hJH**q`=m_zILA~h7vl+;*uT<7&pAgtQZmMh5Z7>fqNnff1n zvxpZta(BWP_S2Qh>VbNlFVbBiinro(()+Rk4E%}HZLfEePMc;A3OC`~d`F2Pt3Su5JtjuOhj^cj zsI6|_ZWr?RqgBq!d6oaQU1%dQ8wlX!8NwGZTC^9T;j|Ei>3Zov=8K$yzKu>mN@hlv zcH-98)*=@rN}$8r1WL~<7y5Ih=nenEtRgMG4<^7bSlAF`BbVFcfZB%!N)%d;Hr=XS zP?@Od3yVaprJq8O60vc@l`4&2D-9XLH-Ug*;F%T{-O$iLDShn11-(&JSa>=m5WRzR zmkKybr%Ib>N7lPG?nvMxF9eBL@8gRWCuE?(qXOT&tjfIJUV-hm2DE__bV+9owpvG_ zJ&zWU;d25amFQ4*Mg&@b$2J>=_mYAK`rEMb#x4;aR~7-#Lt*=#v%us>YesXdvlugECXJ%7dhe)O^K-g@unRO(oH>iCDz_NaV)$ zz=c%d9%$zpu_+H)0<`mb0d@4fIf?_qyXNNab}Ih}n~S9EW2@2NVuV z>D$?zJ9qRDep~fya%(1jwqy$BhkBH_xRiwS@tqw$YUru~Ff{$zWV966qf%?0KQ zItC6MDyI{61t{8ixMX2J(X+SzwFGyfUahsE$lR|QE2pwhTx-Q%T~Eo@DOj*1NQL&N ze3JVUh~d&7239*~iguS?F9!5%f@Bu&@5?r6qx%xj3&1J(55zo8gNpW6dT;a;_Uc zV?YCO;ukQ1S?x=mB$kkZ<2* zW5IsWulC((eNk&07NC%(9@?q~oo64&xH;J&J;$^*KK(STdxR-fd#8gkmd(Q|Tg@*b+A zt6OcVr8O8(U0q%3&Nel3^P+$58q?#qzkz<886di!x|JFe6H_`mI;!E0H0Jquv1f%$ zZy+B$S_!ouD+zF!3&6?peSCL9d_l5LO|4Ss*uecC_`|8~CGg?PTf_%s|9bZNXmO+U z>hCXc8Zcq&i3?>&$QGiAc&3&3s8VQQ_k`k~`DN>+t$~(|;pk^tk6UYMYT6}nxciZE zcHjwM!?G)0{WKRlBvxPy4+4@BVlCQ$pOWHLKthR9=hr5F`e7T9nFOL0NX&-94T_GW>U(RCv?i8L8 z{?pavNlnf|idMm@Dnq94vMOlcDp4aZa2m13`kaNgQ8NUoiHw*#2EIO+Wfma#-E6>H zj=8Eo+&bwmO5REB?QI)_BIt-bRl<16-ayu|R2>2y-qyAwi`h1c!j~DQ?{~=av*~Kj z>>pi3@LVyyHDY~tHX>X3^JQSy9=&vFCi0EgArTWH?II};P`DNJiT2a>T*5@@{bJ|T z>9;VJSGQZxkj^F^MKDIp}#9Yz^7@D&;$hWxs{;^ zn+NKNNbPGB1p{eNli6^MQiYrQNM=P8Q>>?=OH&4NmJ!Wrf8w)*=GDwUN$DzoMD*`v zIQ#9c;bP&9eIPP%z(rlTTaG?GmxbXu`I9kGbk@4K?TxOBfcF(D0UDU-*#G#xO>w0G zm<8f9k&6zs80b2<{10v;Xhff@IvM4hQl;^#v3CNl9@RFW2Y@)7vP>tMQaRU<8|Yd|kap%* zGi5gPXP7|UBSZqeU&aL~HdrlCB^yDm49rbIVAHPj-wujpo?U<={f@BA)QOKAGB|G| z!Qk51o$0>i5OWP*8x-VwCIF5ERxe@LBq2<=0Q}6-7=_=7Kd9h-@rg!_s7UsV8%`7` zFIQH$??q1 zAH=gz75XV3=y_@^S)T7Hqn3V`TZ+JOXyrUFR9ISytؼMibPi=LAGxZ)1yba5 z<`-qdYDW*(d0e-&mkkaz1+M^cB(Js9+u5d_f^y4tWVX!{LN@@bm`lQEU^VwzrR-4a z%>fyJ+YZl7hFQX+&c~;PE#F+A8YgZV6lwq?XL(n5+))tM(|NDwCw{o{ZGQ5I8*3lV zyDZdwAfGG-l8jN_`3bSm1Va&rm+0V$WfHKv)?UI1P zY%b0FUc#CHqyXWRBcItrywhx-YWeM2x^2}&Rur)D$gs))tc!(CbU;VCryKuZk5`hz z<&#rJreRozRW|N`zV4RU2&($wKP6l3UF}322bTfVPD;iSGnzQP=<-HFl?4iMO0{B0 zO3~w2_Z2&eceIz7>wEHMZ6B$e>4y3s!IDuZU^qEFS*CgXElmvxGZ=Him^~nYDLu2a~KAH=Bgbmh)D9pw7ZDlssogeOgwa@h1$4_v@ zuz9)qzXgtZ41kN1uQ3_2@NL0dh=EO$V8xMQ4urb`P zGe*fLAjt4vF@w1rwQD0FD11FzB}76>)YJt_8*a{rImyiwpUwF-asf2-1JD8Cb%{v( zw)Jdtj9_u#!zq+df5@`yl@dRp4@X<}vRgPPJVH_hj1f*=h&{-G~` zY}hv}VsQd20V7dBdrZLV)6WAck*(+qV}roS>{jkG>o0K^3Z$tRZgb&NgjMzR67}>! zs4%UB?cN$ujg*a6D1s9I3j9YI7Do|C(@tIAuz>Wm1Gl@LkU$0PB}% zH`2kdpF0jaB7qh&9{j=QIKXJ0C@Y4e$*Gsfl( zh@}q_UF6Es1zIU$TVPj-6@6?+E`!L^=#Bk8U-4j-c>5AvIWrapP>!u3TT`O`o>h%Q z+iHOd7hJ56YuZnclC@d(;?!8s&5MHC<8S0C& z;#MJOAoNoBI_Ym-QYM73EWLE$FE4%l3;}X0+%fC5Zo9Y$q-xjtHfBa;DlbtL4?=~= zv0U%Q*qP?K?@lda(NP-3_|{pOrx)cBVXqSHvRW(EhtG5gfJ8hM286I#yKLchc4%vd z*4b>6mz4CQiaMX!CYRr7=3F+q(FG^@=-p4j{R3lD%jgYjLne(B_pI(4t**B1!~whZ zjPXtXn6lAuRbt3gfarcrpNSCxXi#_rYE5#;0qKLMgcBaVD0JRh(uyYn)NY&B!P~^W zN0&FvkV)lF;{fd0GcA|hv@ad{sc(Lqi?_vE8wxXk(l{`;VXQ2}%Ym-i_A6CUD!TIN zJ8xHslfK$Ht@n3bjOozOh8NZQ>!??A_B*BT;>QKG}3L-1k*mz_G&)!txD)J4j%K2>fh;%5q*fZC8Zq==z1O!7Mu#Z^<@5=#qH<5z!)_arL zT?!RFn(5dv2i27>WkoFZ1I-I5YkG-p+D21}j?CyQ_1BO|RlOSn^}o2eWCd@v9b6`j z-XS?rSbm^;cK0&qmGYZ|vC1f>mTlA>y$w{5eVkiR{16EFiYHyUkYB*SSaKyDfQ5N3 z4)GqC7%Zpvs9~jhD`=ob?ChDF^=Z-6QR77@vKhckw1ELq=2aEfhqB79?o5N%h=9xj zTi7qicieSDlO*^uu<`%iD*E5NRCQRlQ}pc{BPOFU|LfN!NbRiedfF!3Z^Al-&db9? zUA*!YdU`nBxy5HTmbJB_Vow639!f?fhY4qL8sAz1TFEKm-Qn4BlIWI+;bH7P3vy29 z5vqG;_|Z3DF_XH`V;f_==|^>z4Qe^u>61o-O-sjU9afuoQOXB*+)$JZTW06Ek$2r1 zkXCHui}UH~G@df@0P|`#v=)3YIVrJy%WmYH#p7D;FJ9^Ek5z;91Tbq#RI={pvB)`Q zI5`|r=t&EQ(vtkZ^>0kGUv2UHbvI(V_Uk@x+QVl(w(lej%fGHBX2(Kf?X4erx#`Ef zmb2*EpEL5wP_B82DqvAY=L#y!rC^L0>Pjh1<@_V|f$M7y1FSTNq@*N4puR^}Z{+j` zD1{=XX6yBhTs!6|nZ)`&EFF=8+AAg;#$s86+QP00rcSH@x$z^v!ws7nuPv?=BjLx9 zSxkK!Uq%Y`;~Fo}VHVjy<(frh5N{Uy9Z8$B8!MS!9rGUcqy3+NVpn_G!*oxHAYcHg zh#^bk5lv;UmkSjKWA7EKoXubmySe6Mn>Lc5_jr* zeuu|)jz!r@ziA3s$vP*o;&$n$H^c+-XpagoArl3f}W?zqG4P_hcj^~b% zNWqQ!QUGnki%c8kmi~zKo7RUOr$3ZiMG2JsGU->Y7g^Cm&YYh?#QL}Y08_WuUS!dX z`%p1^&wp^&8r*?P;=<^7kJ_8!4nFW~mt(tAOij*z?<~+E`4X%8S-g*aE3t{7D|m`t z#~+9r2l61i7t0l?by6qFwP;zS>#~(1sDhM3Ri&!Rn_rhUNfj+7iMC_w2Ld#pTk(m_ zg!5AdE*UXTNMnGv9&pRyLU=q^q~YkypmP&N>c^=Q5}*U=eYggCdJ#A-`_&N5IrkxT z!t`uCgR%Qy8Gv3EXA4T93%sPH;Pe}PUQz>uAIEf!M9gLL{P>L7Dh|%--w(XO?z3D5>{eX zrSmDZ_x9(U>vsCJ9HH;B4ni0NkR&1AruXVpe><+n&7TL>JQ)i{Ri`pW7Js@1{ZwY; zCOe15sUYV$`!XQhu&^l{-uK|3KxFP15s@GQkwe$tB9KIr<*dr=k8gSUUGn}oLCj7T z%%DK`NdKC0{^ge*a@W#uaE-Wr@IExF?jG`EL@ICU{hv?ih<)VTcjGO&<$^_2gI_PG zNslR{xLls+;-Cu7DD$?nRe$E`DV8dkeg6fiNJMIVR%^$%^ID3)Px0}E)cnuJaFskJ z7B@Cr>M#FfZd#dFG!2@hjVdbQqYDliwkDhY`i%Mee4;1C3)`rMnsQ0H81;Nfw(Z;T z32=CG2e|ThHUKvxf`ag3q{;WfsSLDQT60B02iEE*!_8(q#see78ga(L_zx_`8=AdR%`A@!4s&#u(oFzK9sa+#mF zefr!i1#k92lyv2A>hYAbLh7YXCDAW;Ag9E3dcPT_!8ORsSdW7&^7A_mQqbULB*YI!PbWMS(Hg@$dHi$3ucN;@Ur zNi8A;ReRxkhyF7Q&wHa(|Y@G9piuyJM8{3S$cFahFBejvnRH@Hr7TofG zGCPb_aS^))fUT{4KK{x?cs@o)x}FM6&zPOSuvK55Yf48B-dlTl{NpGCe;563V`C#9 zbqZrV3%pO}ndhe}E_#l`)a1NP+ea*Ai86g3K9}lzBPjEpTAU*R|SH=-0Ql$34AIp90&i^;jPbi+aGj(0AXP#q;zX zi@+EZbZ~I~bc&V|-=sMWs0iKN;WCA&P7F1>p2YEY8aBLdNo7SvQ(7)5YADt>CT!?) zqF6NRpvRq3##*YF{`_xeOGg<+MMY8^dz4{sQKj#Uz8^JMbBvhR76$eFx_Vvt+F=U% zHI7<8npF$kVlmy4%Bpd%qI4<-;Oawp##W!bKixmhk76TsPw^V9bIv8v0~P>NJQ|0_ zLRL!}_l#1C1WV=J8yvI<$Iy7S#W9L(T1_^+mkqlw-vlwEix?2}$~M;;+@u7>XyCrf zC+kE8FrS8rU5~+fitl`JT?tOg?!xL}UiE}L6uRgvR84|j6{`>jUb3pi~cM**U3NLZ??T8?SW9hk90AoY&H!1en5Wci}-}B6*0EG7nK%j6U(Wh5~75=BqqOf=FHd-Ne@ZCSk*GEgp4UL$vQ^EjsSe(O;G}D&bfA!*>5}S^IK#;95?jiXorlM9AF+;h(OEoYypyQP)RnkZQR*6H+9}?pe_imPZ1&ce51U5 zDtIe?YRglT`K`H)vOf`CP$9a^w}js$=$iBxP+z}cLhoxpPs zvHohHe2Z6C?N2De?xtl-N~$~s0blIo;2sMwWf(A6k^yvZ^D8-33zOF}7enEe4~bqE ztj3XX+#zSLuB?Pe1Vc2uJsIHMOQ>EZ28$(3W!~G#GQ&&f2qN{W9JUj-$5Oi7GQ{&W zPubQp=n%3%fTEpXtC5{`zm(`LsmtlwNFna^c+i8J%Oa3#BJ%b%t<;NL9Fv8%lhF$7 zW~-O3`bo8CRbqnc@g%)eN}`R(P%L( zhof7fNax6CbMYbut}uK%GiyqN!#9hIiZ+stME7ppg1o%{f_gP@3D17-p1xq%M__qmWj9Q?fYq-=mJF0L;2xMj%4_VISb`8?wXKxaBvZ+aX# z%;jtW+$Fn$^7F45QgUxm!cdCf13wH|$EB^`rmzdT-p4fRXg5wu)G?IgN3=V&Xc&S2 zjO|~=t<74z@dkszCxb~t%TtYB&aG!hF}FoJwT+G8pFTzB+Nxfn4Oh1D@$qRKJOMfn zjlTLx*%TR6uL;uQ1lhB0-Tf&-|Kup)(peI0`*ow|X5bK>W%3nRfFcU%*7^}|k2bm& z_LhzhoJgOTHnsgbS-6fU?ABEo%e!InupdFBOR?1j^?2E1@Iu)(`OYnc#w*d9BIjSs zbK-@;{hopoQiMMegZ|z|Un;}tmTfYV1CP7Bn#3Ldvg%IZCbnO-cLB9_pdt_Q5>&9b!cot7cYAP&TAO1Bnf zwqZ_T>UEbWnGm?^i?M{S1Cq3aI^9wN!je4y&iHuOy@RM+wI3~~+ba8wc@&aS>qaVB zwa?d*XXCG)Oj&wye~B2U@jY*|GHq=%RoX(|iO))SR}9Zr%4?-|C_{b8CAd`KBNZ8F zR`nNBUWf-COM5g_hQKn@388(?a=6To5TZA?5DlwF6hu$4<^cP2IY?K(X??x?DNQ?;|V$2ZT|j~2aA!mb?%n%~XSW-G71q+rNS&FEaEXDa_%D>28{FBU6mKgzgO z8ZkCTeB{SYeH5FI7ew9>uJhOtZvM1tQMuD_=Os`46Q(d~M@7-MPC;XgeK|x=%(Bxr zOVREnHal~ncE5+u-$wJg%W-{ICNX&M0qsGdahi!cqYO94Ynpx|Fe`M{HD=I!m=C2+ zvLuI-W|r7{kMuk$7K6kp+o*KW6B#;)rR(3lKCh!iUGn^p2J-%8qM40Kgtp3(9FDKw`3?U~Q7dI?_M zUN^(^4>HqEKeb6qGI7%^0x4`K+pih9U)46w?EZOm$c27%vu>&U-TSL;SubNeN(5n& zG%2#@bva9t!oor)9SpAX-8`=IAGZ|KOfu|=f~hTBf#A?N>&egf3@X+}pliSz%FJ_% z-eMahQJo9Uv21)533hw_m3H4h6blOmxX&nI%!GPXocoyIDKEQ7W;_Zw8sP3ZvRwGBtQd z))PLwCB9jG?JhWNvs6>&q4|mhxQ4^7GS!DASddm3=4cnBz!EKXmiFU4b=|KjNq?Bs z$H$Z3`y9Z&RlSfUyUFcocZu`q1+p<=L19K zXT$w|qv9JR^Gw?F{>FEk4r1EO{mv`4ehXAmt%bNkoE>6myd>BL%*D^8HeKp#)Cx-D zCVIG%YcYWMSMo`GMPfA)=*OYFM&|0WheBk)2#Yw#8eAlga zQ9K-1TOf|8ya)mT?l8!PO<^eNGeJ+K#}*y>vTJBHYL&FCUi|W7KB;(isy5)R z<(2BHDn2S4rfQrykT_WH?$07Kp(C5G)yK!j4|p^(UPqP~DHNWT61xP$Y|;-d0k=Iv z6uaV>O>cbuq|jRw{o^T_Sn%)bokgDqex4s3Kj@N*<>%sHEAPNJK1E-$NOR1gdQ1C3 zfzUG_bZlj;lnHGw?7dSH!>bl_W8U=As)r~Z7R@@j-3i#TXOzwcKjP!xsctuJ(+(sA zGHWl~MqU$n$QhXezQaT*#OJ?(NQjI^nJh7x~^KIgz(7naqrSdzlRN4|QYTt^Q$4bdq!5 zaG%PV_1#tP`$f7B|G~&H{>98T;ye8M1mbDPR&#D!CD5>7@#j}O%_SXbt)jfjgv*Jr zP(R$3Xw#R}56FU9Z)wd8iCxA918)9m6m!eBZ>t7G#gSRl_2B+HN`qI3y1To3iTcb} ztb={_4*_p9eLw8##OC1{5ch418U_^|k6V&FwAy*a+rJR?BC3S+tM0u`Wc8YX_9+WX ztTjm*aa8|4x(EjO8hrJd@}E*(0~@=b$LFBtKkI4S)2naiQ0W7imv^W7dNRT`Jm>)r zy*d=bwz?-HN;t>KDs3e@QTJ^OI^Vx$T~~PNR0(O6`oT24-!l^alQ}wR$d>NMM${su zI4#RfY>LFe_Xb>V1!eaAWH-)@8!8$DojWOg8MkZmntATA2Aw7PTfU<0#p{zjd3@<2 zA%Cf_9~B7a$jKA=bNS`X#<(5OkBKpRW1c*5ywuX&GZ!iA9$HNqnwX2*<222_c-qwC zD|o_+{Mk;sc<1YVTj0Lfx@(&BXY7tU;^o!S1b8lkCKEl*ghY;ZdU(h4$wtG?L*gQt z{_hd?;-W3g_A_gHN?nmo>OsM&Vze_*MDt;BXHN_3)T`J$0TS7-&tk5-(3Yx^m~dRT z0)q?6Nxlh4eLd8$TA^-`iA;vc2L-yRsC3ah`9NGI<|msmG;!xDiN;5zLn~y4Wbemc z$i9g8)VZgp{w+*IiI4VEewgj}YM*ApGpCbLha`+-MA@*IA3!<^TK#@S$l$_*1Xk-9 zYfM|q2S2XN(3snAVS2qFthm@~R$h;PR;2_PS8xfyuf{*MVtDX0%}j!bI{4c?|F*Yj zde)T_x7=vVIRv9S44zZnP1_veH(Fs{lE=s%+x7-EQhE7LZZg{Hn?!_~9^${$ZT76Y z91YB5vasU(rE%rM+q#z&l&T4dOz#m4D;n9gB5EhfD(@IMdL=uz6>U<4j*X}MX0@{X z3>#SvZ|WlBX-@yV@hM(X!et}3zD(VFe1A;RZL2%ozkN1BvwmT{KC9UYL>I$~5WJ_D zOueno89z2>qayB;Au)@`rxWV8$L8q97KA7vYv&q^0 zyfnPA-s%vQz&{neoq5-y)q;=)M?GJmWiWRyY6V2S3B+|tlWtyUp1GimhAGd6E>O0!XhHIL_)oAa`N9q4NrCg zKdZW5{xHE7`@tXRg>uDztEsJ(zy6s~!A>SiTPyLKb!+?)KG5$zt-<{;qTny!(*d|N zPWs6QVWNl)PrsIlb0CBaorF#W2A~2fGkO*DHF&=D4%v2`OO+VjXIJ_(e}4m^X9afDK--vBCNFAThFKKjqWYe2c&pl_(oSEl&X72aAd$$$d=r{A5wp@Oi z-^3;A^6s*=;4#CGrGbHg zZUst8`IS4qFdN6H&k-BcFcUkG0xf>F6bovT3B`3y76ZgU$`^Df`8I|yXH;CP&3MtB z|4uyMb&He5qvfJYSB&DEt3FvJ=zGrYolHOOeEghBRiBSZSO{1fAvd_ubyD)MpRoTu z(lj$OZYH+rPMdM%@0U0ug0+FyA1Jvnhs72*!{tredKXMjtQm=X|Dl%MJ9z}?CxRMZ zY1Hu)RyN5T|4V!T5-dFrlg=crd2qrrx%0F&Di)5RI@%Ph`G+FK+^!4YLDkjlJ|iN5 zS?YRem%5RsNGtuW^AbrJ#L!N%BiXq;7@iTh7yLdgy5hV@Mr0JP&^~PW zci%)X9i0cIDkF*|i6Qx7l*rWZXe%~k@52}1f{pps9!QjGe z0U)T%BELt}!wFwb6}*gJ{P8`jCO+%^_O?l-Kq`Cik(^T)GmA&SdZ^%$7i-}X?IW)_ zBXgL5i}7>Y!$5jRr)Lknlg)R!NtZFQcAe^ZW*_s?CvetTa^c?6-VAD( zw*nY6KuK%ui=`ZiK=DdzIHIX3Z2DKo(fp&+N6(^by&lc&r%|n5m_H%DATpino+l4l z7g*e^5^Ge)9k^bv77pEM#9q$Hu~xhOqe}9eWnNu#UoL#XI^7=C4cXl+CGkr!qEy&nZ^O{ob(ciD4R`4YD=!C&tAUPt9yD`CD1 zTud~iN#n+td89x@M@JXk@3$IOPtgsK9)ja2@|^J!^@4!Zd6N_U*{X)2tzFz#^&EpP z@2*9m7g$?tJ^fv;pgVs49&J6%wrs7;?v(){V4u=FB#7qZBihU?`SjhWw$NQR2)YvDgR`oM9VaPD!OV zliD-TI;^o0aS8Kz5IZ5~glR0{uHChR)_U?J^N=Vs z=cOBzTC^-EiwWXc4IA<-ElU-z-^jo3^yba+>L*Cx+I(v?YM0l3e>&IE*CIU2YOAU! zFE5};6->4GNE~I^q zWp#;{3Uy%Is@V0yhkYwPdg(xIHOa{El{}=D9IoW(oGC#3`0sl{PUBarjvixcq^l^0 z*7?MN2lga(k^H7xSMNRLo)(|OXU#Vq`v$W4D^3>U zujlX@5N>sN#Uo;r#|`0jNdS9Wj<4Bs^ZAg(O9s)P%*)9Wk$9E8p$E2O2E4<1y4GG> zUtd2v#V^DE*8UCcFtv{1fo^%Kg0C}{o+QG(tn`DU+5@tZBZwBc{_sKepcSvv+TX7` zfOQ8C$RQ?$nkohJp%%#05BztKS|%S+ONNz@_fa{9d>K`!($0c`UJ+L24j~n(Y!4Ra zn7b01BHL$Eh7pB#jWZDc@azvbdpgQ*6kRa`$(KkVy;O?zvr!v%wzfVxFFs#@ss^mR z=93I-Zp>eWY3-%%RqLgE6=v6S!6WmlIPg|J-bsPh{^@dRGjZrNb& zQKe2hvf5)~BQI<#HY29~cozDV)!GA~?GdY>cd<)^$99a&;IbCq`YXVebE=R@{1YvvnAv0 zq+o-I6B%Z!^z;`)ytmG3_wF=GpmV+w@c%yd9Kr|3zN5rEAG?VKyEFC6q2#>s5r$ar0$=^D+uig{ ziP&|mH~Katd)>6j*d(s!drzn?SkSM=ru}NsI8?z~t>7D4F;8(hxjwYLuI#>%x!pA! z>?^H5nYc~`1&H`N$9TNP6_rIb31tHu;>lO#|r7P#U+|N=Ah} zTrq}c%2?i^UKqjdjHhroxfSP!bvOZ4#;w7{(lu{y0DNsC2Xk|*3X8lYZZ(r+-MisC z4R5&3)ocwb=3Bfp^0_Hg6oBJ#Ov|_4vr75RK#Z$;a&qR&4O~|=rJ`3>cJ?bPCUODN za=fvAj3)3Ag(-XG2}S+e-yO1Z?)TqLv(Zr&E_a>#uD0uo_uf7FqTFt|mW7*wBU5;@;R9g(5_GcywVVubE*q6 zMBzOIQoDDT2=csS?U!I|Op=exn-#ruv3caAL!Fob9c%lHqu3>!0Bz(!)K2fYM3AeR zOi?$11{<=H!FwsC2W~%ITXci_b6<;_3|=fUE>*R20X83lg-}O_y@kavAS>Ck>YeX# zHN6=0+e0J1FG<1ZUvR3n-=&6rz^m0q64r}}7A!4GvqH?CviM|%d9B1M{Y3kNm~(#q zdUj78%Kh`CZe{h=R%l0khTNIrXjpTz`)IZp)bDQT?14ZaQRL@2X~ieZ-zyJBmo^dW za-8>*wtSoIT!L3QIztGCA_SA(*4Pirj&koQs>j90e?g(#Lz8*y{UZDLLLfr6ItJ_n z%ytU70&r~%7*?A+{`2i0YJ|2Wfu;4Okw5sDn3#mQdE>DO=-yGbQzJ2^Xa~9|>v|8% z+w)nMqr$X!R=l_*EWr2~ z6=$e7YwJ`u<@4&ShXsI-b!eQnudkFMS{!*?rW5t62>Xbln3b=Tg8TT+2iwQlS#y61 zrX5c?#OB}kGX&gC9H`c@8v_)E_?t`8QdHh>b9x zluNlkn{n?BzDhsB*uQNQZT61$CV2n{yDyh2tf|EkqbPqdwR?i z7*KOwA3~u1b!uCH`YX)-36CJyl~_n5QWaoy6`(S<^-k&d^c~*OUgZ=uHcUw7(1{03 z=I6jvyVnZ_BPf=3e1S95gLogmUP@K#XT$bwMHIW4tP~DQ?cwj&4VW;Q|s-$K2MIh*u=iI%(Zr|{%rr&$|?cYLJ|Oj z>rRIN%s-9)?=St<9*;nrZ-gaWDH zI@@{O6Mo^8(-Bj?;z>s526*{Ay+?6T%*lK4&CQaMnJx7YV~Q+SE%PO3CYFk+!rMVX z#A;7HiLco%pGp-&S)_!7gt*Bcy8=f2TT1>nfx#2PM;Z%xemB|}Mpc_^e zltYaNN1*rT&R>woet^nPx{gSUtGFUkL~QW`dy~C%w6sP;brcHr&iF1K)*u-1#b$hBCCihVn1dLfVC<6XUl4R0$~Sk4YzS3eck4eM4(n}C8h3p)8rlrdj|v~;BD(V^ z%!mJb)?Z7)uKc&5oxdOsSdzvN8LWMwz;Y@L2h57wchq0yK;C&kM}p~}{waDJitvWe zU@Bw05}~&~r8#~~szQs#YatArU+7r?x(IM+0?!et9h0mL7{7I}+FLnyX)@;nWMx{f z{ehDW%6(5v+_FRnaPo+?`D+Fw9@&$l2cZOlFUsYA-Z*jKJE3(~2ZvFDreyWY1dZXH zZvh<41w;Ks;W9oa$8h3SNd0@+MczW;(3T1fB3LE($CpANx?c=6S zP>*FQeJTFnfv@G9GX!#X{^lJ40&gx)<0njy_5xx69c?bX1KA*~JX!Ujxa~ajA`NG;X?8UtQ$rv#T0fH-ohis@dIi4om9=v z7tvsB>CvSH2*sdPRVB#frR(&qrWML-zJ2D~ z5(yEtO+l3cTAucyhPK;&B$VSB; zgjlS|9FMYZ@qjMO4veM=DbpX1SiIo^G0-d{{=S1wDpiu(xXODHXz zvnuavH=~NwRUKafq^QzwLeF(Jm+RuC0xhWvT{;x)#(nFvzn58se3yuYo@)UTFVb)~etqcH@FmrMw>eoIgwO?*8uAOiDEYqN0nkN~WBwoMXp`SwiVD zg4TA;J<`Nt`QsN|;UJDWwzRO&9@{y>wn2F{L4Z0eu>C%gcGsp2098BX9yxjUB#eBi ze!0B*VE0*BWix(%OwqEMvEUxSTCe(OT!$=$V-!sdx$T*99)qG%5j2%1rNwEooM!@@lHAS?gLfWz>fN7OSVVrZ-}60ct1yPNB8AGg)pM{+AF`y z5~+JXxN)Mh$TERj=P)*-g>9S%?QNOP-ER87waqbfd&ANEOhDnU3Z8 zP$?d4$qQr4?a8%&Vo-aUBd&NOZCHEYBKP7mA#AQ=z-^=m0i4^{^>)FF9D+VjdENk! z(QgqW%ka9=FG**O@8sG94pdGQ_$=1Qg-q?%HpfysTbVC=9t6-hVAd{H&oM%h&XxlC&Flg;jmiT(gOho+dud9z zm1{iyBtAAPx2#@&9gt9YlO;?Ma+lxQ5Q5B$PR~c&(B-~H*+&qp7|gCM&pDEBvIKSc4jMx%O&cLi9 zY@_&UtpE&_>V`JzNpct~{{5^yE7EEdKmnLAH8E&9Xm75&4UPOr#OxsQ(Erh+M@6#^ z*CK(*e2M+m?2aaihr<`XR3jq;ic6sZO zuDC=>cu7=JaT4bnaW27k8)EwyG%mM5UyZh6{6z~E{uW7oK(?6WkVCay-CaX)&-bXw zbc!?Hy&J+J@sS;&x*AeEzMOLMx2J+?ca1*yRu|Hod1G*qoOQ6w^;}~BNe=@U2Sz&I zC_i8{!pIxXM)B0w6`D~Q!hEZqHPnidXUKS>fKG9ai6sUaxQkN9#=*h)CLfWf@L65q z9#ClrQrZ_4sr|AnXVj)#b%(F*zZ!X}0FSVWOx`#?^VNbh;b%2`{c8S%iM&v3CcyYn z5fG_i_TgoB@f2v06vjiEFgsrOvBXxQUyTq9V46qbsIOB}9J5fq^x#St3i7}qLDof? zH5HLZDKAb?RL<8w3#mhpZTQ`9Y*Er)x5YY+cwG_S1gs44Cf54N8${-pzgP!*AH;_^ z7$3;=_4Sd|1xOlCn1&?o<{ESdyc9bKt+*f{n!;w-~Hk}YK;j<`vwp;dg8kzGycZ35NG#*@gE0d||Wv3!?Oxb|@n z*TIolpmUmG_<6JaV_B8XUCAufo0QuI$AF#|Pk^Y6b>OljwD#$QZHl|Xi_e)Uk%$Pi zWtd_?a-9pPp%$}F(Lp+i!)`jv*Qf+aTPrKN);>wZss=5v&Uxd0DN0^C)G zCUZ&jh{^i<%?!l6fXj#8<)>oM5SMiX`Xl-4X7VK`klB*hZ%TZP*$PzvO4601GY4D^ zu8=|kY)t+98!c&#b?toMi)ElCts}p>`q=T)8xjsU)|o5qqcC@NHyOfr&D744KTewV zU^?GFV~=A;4I&ej*=~jv8EXA74+H~Ig62I&Mb-w87fqRi=ctgyz^8aoGwZ-ljExx}R2`t5h*r6T3h+z~5hmW+ z&W~Aw>t>E(mDylj<8m?vFFxgPCUEha zzc4g3j7?6i$2R>NnQD_K*}{>MFHN%G&f>j4sxIp{XNLxbDh_Yf_>t~DS4G;z#Ko-` za+%FC(aDTe!*^xwzAmqvMuryals=%crw1)&30xo2lKl>`89{f4h)F6SJ9MlJ*YFi85Bii*Zc1w1-serDI?9+WC+wDg{7q= zF=N$ZarY^-weh$?wQO=7qm1vQrD(pU_BaoV0Y?ZvPH_A7AnFD^!I(_)iV2( zTLX%Z-2%iBa`ePF#gWz*i`AVnaKSHIk|IQReiKA!R7}p?F!oQG=z>r5lA0N)(;mUf z2&nN?|Id&rpUtoeu`0aQb3*BRZe5^?0zd`9kbuh^Xbng-s8ApyXhk20<=!YgZ?|`L z1fa>fIvR|H{QP{t11qh#>P#b1@^CZ}A)#jW!hL~5(gJ!uVQBizc{yD1u^lgjWdIrA z?(a-jM?=K7%PD0U`zu1FkMtfKJ9T zasv?-7M88^K1s}RPE|hQ-zEZtps}k1#7XG>G4#a0t{y#f!7g;V=icatO2LF)%qM5g zpcJR!kX^fmiXU-k?@UCB+7^!hH`^~m8GDEm{7duywo{-9p?cQzM!$xm0pq=>8|kfe zx{#$>El}e^0!Xki=LHQ?GXaSk7k6j`-majc_+r-sfSw>g;%Sn>X~R_=EgC#`eS(ij zjVLq&BOi^7AVKn{$Cp;3D1xu=y!`*nq<5Kpz_beF#Ai$D8&D8Zw`As2RK3I2PW`*d z1LkRK_%5B^aw@G6IVY(KSy2H}o&TRLukd`G=zwk%Iq%t%4ZV{a+VoA1Ks`93hi%8l z$LoS027FCH)1HO1^-K_mftRUVN<;X;-tJsXvZxKn-2e!!Bk@c2QX4a6hqLpu*Ar?O(m#_yLqTXhFeit_ZXc)@%2Efo^`CYApMfL+HAK9@~x!^{PUepBUE zp}uT@Mn(TwO)kgH_dk%2n20Rw0UCA&d~9MIXMcbHXU@)tHY^5{fQhTtD?Gjvcw-#5 zZ;sH5@W(qkKswJ^(u7#JGnhYXqGQ$6%JABhq^DyoIwhEz=!*%K#^^U!1UNxow`Pp~ zF#F$;6nmWFqUpKSENN>eI$g@GTUH`wkeZk%#wj7;B@%cWbh+u)QCJ75Mk{y7=>QDA zii3&KiS8WVhB(y5jS@g?vikiSXZ>wAjq`d?vR}kF>sh@-f-QxO$6negx>AFb;(6AP z9jT$oei;A)Ots7B?{bprRsHW#+3u|8?i1q%PlFnipMMSy52+y@o7eCzfF@k^Z(V^$ zQ_8NpONfn`fFe6zst9;>iApTW`;Fwk{OPZ+%=XV_a{1HZJGB0rItAyow`%x9pu|eO zKxJ6 zIY0&8AQLw6JEYg-NJH}(DU+1O=csg#`PbiD%!)?8ihue_E)}FvS=+>%y^U_=*%!}R zg{-`wEc4tSAvtVhj#Wn3A_x|(J;Z0a(xM}7AHD)O5|G_Dic-eOo)WMCjq1aloSrrd z)8dnSQ&-AOYhx`TfYgmlelE%?>$8muzvU2acyGPTRbw1IlYVqEG%>Xs1W>lWo12p7aP+F8YOM}&;% zV?zc`X4TEyLaAe=C*sB3u01C%0`wO)Dbm5Oh6;ugH!x%9bIhV zKg1Oxh*vJ*S#j<7%fHomHB^^JvyJ2-jf&y;UawGvc?V7+Ka=LiT_dOG9*cu2x@D&) zrksS;=_fN)zpPS0b(|y5$W%Oc4-zY|dqAJ+*U=djl)-1P^WzF6FfAf+7F&~}WO8M; z#_W&6*C8eRs=JU!EPrx{G~B>z59Z?HC_0BSd96~YsmDj0_zkL+dGFts@Z#0de5RII zAas6StkabD#N;9hE9`n8-1pk9{`K?yhS1i_t4tyirC3#L#%fz{Z$z#p28zF@kMxfyrlYw z@V0z5wHEgEz&{}_?xibDdaS1pVQvOK^Gk??g7Dv1B?f|+=)X52!}@`y`U0kH-K5Q) zdwWw$XMGipcb5*Q9fa)9^44ANw9KQa7BTwFlt%2E<@agr$U=t;{>rIec)v!q09Trp zdi>1u+@XGjP^XKX(?F-9X>%`9^k)P;pRO-U>}{11M`e{<$sKpM@P4YOv$r`jo=1;c z&&KFzravz`3N0I8@=w;AdFvaAazq@&I5u?clDAr{5hw@;OavK0$qz*>|J zES1%ylG3StiBcddr)wJG3QSsmcH)4`s=xtR0F&@dui9#a8WNVN&ZaAk*6EHVI{4}- za+l;=hkH@P_ z5u_NDZs>CVqafLz+aTO>MnDtyLFR)q6PTNuwl4a+_HW`VOV*n~2Wb%W=s{wT4eJSc z1>GMl=T7ldzuH4u5N%a4)M`G$mvdC=&2PU!w1WihEUY%}Cc}R8WCt6%bc}>3~cg-mDaI3tI|q+g=^sv8U>}D=W1zR*ONa*d_!V z)U|H$1;fMGU$&227IAv+~s4LLD2S zEShhw-bsXyJE;{MyFO!!JEDKyAtdiwYg1v7Xm3-IHtOCmT>QrcqtI-3?G+&r0toX7 zifeVuuB8J(QEXcYu!KRCvAF{#Y)v_3TnO$V@Q9xS4pmj3<9_N`SSZ68-HWs|Wht@+ z2vXMP)3g~Nw<&zMA;pn$3f<_|;wm6;EC=^(ucvZ!rJmf+su!$83vY zG_}`X`5azvPiZBZbnSJ`=XnAL)X#5ISt_zt-D#Hn-M{4qQm->Ytwk?QR|*fCkRKMS zc-NBTVSf|iwReme5Dv%T3sUuB`*^r57+Fw-z4#YT9b`M&CLr%8u8+(y)p~l957Z%7 zm0}l!%t4^)dCSSew*y{zpK9Q)2*-h4r^{LP7qX$bPbg?i3^*}SvED^4j^sdP*p_QYnd@7`I&(cSKK z4`E4hNiOYa(9$Sl@Jx^h5{)so2z+Vl5Ejm(A8Y{h8H?iB*1(>Bk|V zZR>~C_L4lVu;%Dv5uU?C%#h-l%{sF}-7?SZE+rxdeKWUt!1`+Efe^vwdn0q%PgE;C z?Tri?5h;`5FN-~V${DDnN|T!9v+9i`7;O&x70(WWqd0g}(#?8P2)67=_f&-(SMNL`&18E>hn6HqM5xHY(_dIp%&9dx75Q;XHcb%jFXe^J}h`3Nqy=zL=-Bi6ZR z3$73|`SEwImYHM;>{(|H*=cQt;r`R>g9y2+i^RHdb+DDHhO?WAa`4IxDmPCNIHL(9 z)%4mjrb=^kjsu0#W{w!ki1w#{)&?x+&-{`6{*yX?+w7Ife6~KMPWPE0-Up=b9~<)O z6z?^%lUtlYum`%<0fDyw!kUDaIyxy-{r`a?66z6LQWFl6zFD4sD(W76hqk?X?QcSU zo(3-@cdKeX3U1kXG*Fpp3+?9m0}14M{qf-nUGbSOkNe>D+gTBAvDx8~NZtWG?^P{F z`U|T?-k~m^nHEj|Y5O}#N9DfWTHNo(h^l|PL136|ctno2^&_pw%$QseM~KT0ZFPIe z7MDd~?q;cxaeSHLt+w`PZgyk+W!ylg)I6XX^u6`0H@kM4(L;VV7ET$}fIBp*lWUAX9<8rY_ zL+Q&Y4x+$Tr@x7H+SK`3mSQ0D+T5Zw0#2Yo1YJO#ZToQ|WI;MWha<_->hEEl}@%-N^tG`~eOGtdI zH6Hfxv_k0ifGmH;t{v~}q|>$Boe9I^pe!>=jII9>bt;tA2I6CMMZWbM3n%KSPK&G0 zBR{u;x=HRGBLQRv0hpi;!aP@>ug{aNd^<)R#~(8}(6LITRP`zTmk8Vs>y~e4l3crH zLe?fQ4_>Rizlh2&s4JbFJpD9ciD2`_AMV3F{Qo@@ZmRj`9jug_!V!Bkje!{a0#Q9> zp`))qYDyVH6aGzbY?^73&NtbU%o_W%v&7jYad%%KL4R#2dp+CD{KuAGG$P5fOq#i_ z-Y{@NzmYZ?-zXQa2|%#@-+*dR%KT0HUfV%Ui?T9dwbzjE3h8Th1P(TyRjnVM3wt}P zca7SI|9A0^vxwD}w0|OubyLytx5txD*rl@7)E$W&?2M)|d!GI`AY}yok`4a#P1V`j z>S984$dMwhw4wOyS)Cgl-JAZq|M%7R->S24@hd$X7I>V#HZzbe&hdo#Kck6NKF^%{ z*tW8eAEpbn`M>K|((={e6aPaD*eHsX7w`W|v=mrwljrV#{%?E4660%n{@ Date: Mon, 19 Jan 2026 17:22:19 +0000 Subject: [PATCH 43/52] Refactor to shared centerMap function --- src/client/javascripts/location-map.js | 48 +++++++++++--------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 90e967da0..38e3f0731 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -608,15 +608,7 @@ function bindLatLongField(locationField, map, mapProvider) { /** @type {MapCenter} */ const center = [result.value.long, result.value.lat] - // Move the 'location' marker to the new point - map.addMarker('location', center) - - // Pan & zoom the map to the new valid location - mapProvider.flyTo({ - center, - zoom: 14, - essential: true - }) + centerMap(map, mapProvider, center) } } @@ -669,15 +661,7 @@ function bindEastingNorthingField(locationField, map, mapProvider) { /** @type {MapCenter} */ const center = [latlong.long, latlong.lat] - // Move the 'location' marker to the new point - map.addMarker('location', center) - - // Pan & zoom the map to the new valid location - mapProvider.flyTo({ - center, - zoom: 14, - essential: true - }) + centerMap(map, mapProvider, center) } } @@ -724,21 +708,31 @@ function bindOsGridRefField(locationField, map, mapProvider) { /** @type {MapCenter} */ const center = [latlong.long, latlong.lat] - // Move the 'location' marker to the new point - map.addMarker('location', center) - - // Pan & zoom the map to the new valid location - mapProvider.flyTo({ - center, - zoom: 14, - essential: true - }) + centerMap(map, mapProvider, center) } } osGridRefInput.addEventListener('change', onUpdateInput, false) } +/** + * Updates the marker position and moves the map view port the new location + * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) + * @param {MapCenter} center - the point + */ +function centerMap(map, mapProvider, center) { + // Move the 'location' marker to the new point + map.addMarker('location', center) + + // Pan & zoom the map to the new valid location + mapProvider.flyTo({ + center, + zoom: 14, + essential: true + }) +} + /** * @typedef {object} DefraMap - an instance of a DefraMap * @property {Function} on - register callback listeners to map events From 88f2216ce526155de69803d6ebf0face208b4b8e Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 19 Jan 2026 17:29:29 +0000 Subject: [PATCH 44/52] Refactor to shared init map config center function --- src/client/javascripts/location-map.js | 50 +++++++++++--------------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 38e3f0731..8d942b34d 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -482,6 +482,23 @@ function getOsGridRefInput(locationField) { return /** @type {HTMLInputElement} */ (input) } +/** + * Get the initial map config for a center point + * @param {MapCenter} center - the point + */ +function getInitMapCenterConfig(center) { + return { + zoom: '16', + center, + markers: [ + { + id: 'location', + coords: center + } + ] + } +} + /** * Gets initial map config for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element @@ -498,16 +515,7 @@ function getInitLatLongMapConfig(locationField) { /** @type {MapCenter} */ const center = [result.value.long, result.value.lat] - return { - zoom: '16', - center, - markers: [ - { - id: 'location', - coords: center - } - ] - } + return getInitMapCenterConfig(center) } /** @@ -532,16 +540,7 @@ function getInitEastingNorthingMapConfig(locationField) { /** @type {MapCenter} */ const center = [latlong.long, latlong.lat] - return { - zoom: '16', - center, - markers: [ - { - id: 'location', - coords: center - } - ] - } + return getInitMapCenterConfig(center) } /** @@ -562,16 +561,7 @@ function getInitOsGridRefMapConfig(locationField) { /** @type {MapCenter} */ const center = [latlong.long, latlong.lat] - return { - zoom: '16', - center, - markers: [ - { - id: 'location', - coords: center - } - ] - } + return getInitMapCenterConfig(center) } /** From 64edab4e3197fc1b64318065e666eda486c69841 Mon Sep 17 00:00:00 2001 From: David Stone Date: Tue, 20 Jan 2026 08:46:54 +0000 Subject: [PATCH 45/52] Fix OsGridRef initial values test --- test/client/javascripts/location-map.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index a82f3714b..64f76fa5b 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -452,7 +452,7 @@ describe('Location Maps Client JS', () => { const osGridRefInput = /** @type {HTMLInputElement} */ (input) // Set some initial values prior to initMaps - osGridRefInput.value = 'SJ 61831 7150' + osGridRefInput.value = 'SJ 61831 71500' expect(() => initMaps()).not.toThrow() expect(onMock).toHaveBeenLastCalledWith( From 5680dddfc1a6b06fc101d61bede438ac95c3c2c6 Mon Sep 17 00:00:00 2001 From: David Stone Date: Tue, 20 Jan 2026 09:00:57 +0000 Subject: [PATCH 46/52] Add transformer test for raw.githubusercontent.com --- test/client/javascripts/location-map.test.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 64f76fa5b..eb3b0219f 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -659,5 +659,17 @@ describe('Location Maps Client JS', () => { headers: {} }) }) + + test('tile request transformer works on raw.githubusercontent.com style and sprite requests', () => { + const url = + 'https://raw.githubusercontent.com/OrdnanceSurvey/OS-Vector-Tile-API-Stylesheets/main/OS_VTS_3857/resources/sprites/sprite@2x.json' + const transformer = makeTileRequestTransformer(apiPath) + const result = transformer(url, 'SpriteJSON') + + expect(result).toEqual({ + url: `${apiPath}/maps/vts/OS_VTS_3857/resources/sprites/sprite@2x.json`, + headers: {} + }) + }) }) }) From e7bca1944bceeffc589b71056db6060d4639929f Mon Sep 17 00:00:00 2001 From: David Stone Date: Tue, 20 Jan 2026 14:26:01 +0000 Subject: [PATCH 47/52] Add map dependency from new repo and stable branch --- package-lock.json | 154 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 78 insertions(+), 78 deletions(-) diff --git a/package-lock.json b/package-lock.json index d72173540..041899d8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@defra/defra-map": "github:DEFRA/defra-map#main-v1", + "@defra/defra-map": "github:DEFRA/interactive-map#forms-stable", "@defra/forms-model": "^3.0.597", "@defra/hapi-tracing": "^1.29.0", "@elastic/ecs-pino-format": "^1.5.0", @@ -2308,7 +2308,7 @@ }, "node_modules/@defra/defra-map": { "version": "1.0.0-alpha.1", - "resolved": "git+ssh://git@github.com/DEFRA/defra-map.git#f2a4d55d57ab917e48b29943bfc5330d36b8ff96", + "resolved": "git+ssh://git@github.com/DEFRA/interactive-map.git#9b9c208d2665675a0e43e6c6e372b9dcad5d9e0e", "dependencies": { "@arcgis/core": "^4.34.8", "@turf/area": "^7.2.0", @@ -6823,38 +6823,38 @@ ] }, "node_modules/@vaadin/a11y-base": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.9.9.tgz", - "integrity": "sha512-Rsys+PJJer0HH4TjWSQoIitp6byxPpPjTDsA9ZGjxAip1EhkSQnVAA8OX3bP/0xtiyykwP13SaJKfqdNOZn2QA==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.9.10.tgz", + "integrity": "sha512-76KNDhKn8zyqzWwNWx0BcYNQXtEdoq0FgMR7vYz8qSj4zGvu8wf0GuQavTI7Nnia8pk0jRqT2/NZrJR3YLCLJQ==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.9", + "@vaadin/component-base": "~24.9.10", "lit": "^3.0.0" } }, "node_modules/@vaadin/checkbox": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.9.9.tgz", - "integrity": "sha512-IrMpe0trEadfI590MruzW4rmX1XJKDoX68l/Sf0q2cToUOqOsVfsGA4wJPpjOZZtndY2oyk9slVrkA3GsTiqrg==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.9.10.tgz", + "integrity": "sha512-08CnG3T02iHTtXD2SVrW+RHFwTOgSq9JvV8edijAxdX27cRbVJGJX2M1zupPLUEtWJEZK5uvK/2HkJzDrTjBdA==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.9", - "@vaadin/component-base": "~24.9.9", - "@vaadin/field-base": "~24.9.9", - "@vaadin/vaadin-lumo-styles": "~24.9.9", - "@vaadin/vaadin-material-styles": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9", + "@vaadin/a11y-base": "~24.9.10", + "@vaadin/component-base": "~24.9.10", + "@vaadin/field-base": "~24.9.10", + "@vaadin/vaadin-lumo-styles": "~24.9.10", + "@vaadin/vaadin-material-styles": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10", "lit": "^3.0.0" } }, "node_modules/@vaadin/component-base": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.9.9.tgz", - "integrity": "sha512-FKLeEY2iZrRyl6iwTVDPjMe8bix5DnUKPHXbHml8GTuKC97bw1C/6ZVfwAtS6XP69G0i6NKDvncmTHVuMS1lOw==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.9.10.tgz", + "integrity": "sha512-CM9ZligxBd+PJKLEHiz8YVvPGm5XAuJ5YzKUTmslqTo8aPgXWJBchbNyf47xL7XwIWCVy3sfNZYDHGN7zuMJ8A==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -6865,89 +6865,89 @@ } }, "node_modules/@vaadin/field-base": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.9.9.tgz", - "integrity": "sha512-QJey0XDgwQ8aTtPD4mKbQsO1V+rSgpcfLMRfONR5kMD/x/6OMMu7suoGMzwQ8ZeEW329kabsBclI8vzbR3pbEg==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.9.10.tgz", + "integrity": "sha512-t4x1HCOESJ7mWxgS7aiwPJVkf00MXbEs43p24JYsEWr78Ivn+4k1+5SZ2mli0HgkmVn89aUbMqkU10YpHIN4Yw==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.9", - "@vaadin/component-base": "~24.9.9", + "@vaadin/a11y-base": "~24.9.10", + "@vaadin/component-base": "~24.9.10", "lit": "^3.0.0" } }, "node_modules/@vaadin/grid": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.9.9.tgz", - "integrity": "sha512-OAwwUpJqC1InGoO1LKHHRYjxtfQxLiCqCh+6v8PqnSTbq/wSa9Kq8mzyy27Db9NPulSoaYuNNqS2CJeHTGp4kg==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.9.10.tgz", + "integrity": "sha512-9VVnRw4bAwHVIpan8rqMfTJRQ3WbtRxoTrySczZlnQmWaQiBphaXsIdhd9DUy9OjRzteVTHnU6mtuH1aZJl8XA==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.9", - "@vaadin/checkbox": "~24.9.9", - "@vaadin/component-base": "~24.9.9", - "@vaadin/lit-renderer": "~24.9.9", - "@vaadin/text-field": "~24.9.9", - "@vaadin/vaadin-lumo-styles": "~24.9.9", - "@vaadin/vaadin-material-styles": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9", + "@vaadin/a11y-base": "~24.9.10", + "@vaadin/checkbox": "~24.9.10", + "@vaadin/component-base": "~24.9.10", + "@vaadin/lit-renderer": "~24.9.10", + "@vaadin/text-field": "~24.9.10", + "@vaadin/vaadin-lumo-styles": "~24.9.10", + "@vaadin/vaadin-material-styles": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10", "lit": "^3.0.0" } }, "node_modules/@vaadin/icon": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.9.9.tgz", - "integrity": "sha512-t4XckMczRyR+BxjOvHt1PPASxlf1OGTWkpyHs62kV6YQuYocDCmaapjPbZ6DpAwk4pfeYaZvLutj+qY1KTPLug==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.9.10.tgz", + "integrity": "sha512-3HAn5vesU9gPBN8loGjajaOxEsTkNo1xdEiRQ6s8KA81TyORBH49O4dGprnUUoRA1sOtwNcnck2WAGa7Imh+Yg==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.9", - "@vaadin/vaadin-lumo-styles": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9", + "@vaadin/component-base": "~24.9.10", + "@vaadin/vaadin-lumo-styles": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10", "lit": "^3.0.0" } }, "node_modules/@vaadin/input-container": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.9.9.tgz", - "integrity": "sha512-qLLZ6pBv/ECpuVfjsMvfRGFQj5bv89uIDXzJXXe1uLQMo/JC9iAfIe5K6VUhapN4AcBldMLT7Y9lFufVlNWfBA==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.9.10.tgz", + "integrity": "sha512-c/y5RXuNsb4IUFdJKhXCfvihk35N5Ztk7nBJ0XRaOTqf6I9tPgwVeq8Gj/VcHbwNBw67pv7VLxF/5OuJIsgthA==", "license": "Apache-2.0", "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.9", - "@vaadin/vaadin-lumo-styles": "~24.9.9", - "@vaadin/vaadin-material-styles": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9", + "@vaadin/component-base": "~24.9.10", + "@vaadin/vaadin-lumo-styles": "~24.9.10", + "@vaadin/vaadin-material-styles": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10", "lit": "^3.0.0" } }, "node_modules/@vaadin/lit-renderer": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.9.9.tgz", - "integrity": "sha512-V0eyMAKcwn0UyjVN2kfGRYkTEMtcJ7+wyjOLNftMkHdQ/E0DF8dji3LtDFWhqAHVE0zgTZXyP07V7pTPtGjYCw==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.9.10.tgz", + "integrity": "sha512-1GLggQZyG5qh2OtuidiKVOS83GS9qGWuGgZk2u676AirH/rcsg6O4sABstrNCU/TTOLeo1rTfPC6j0DiC9uXfg==", "license": "Apache-2.0", "dependencies": { "lit": "^3.0.0" } }, "node_modules/@vaadin/text-field": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.9.9.tgz", - "integrity": "sha512-KGcnqfWHSVk0n9vmIJmBmhugNr1sLsb5oi+79aYVXsw8uNSJkqWXXVK2EYNmweN+e/aIBcloTwaJZMDuBGJIRw==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.9.10.tgz", + "integrity": "sha512-8kJKH7EdAuvdRXO+ckOLhIvy/syFa0PM7JD/y20kSZC5MWQx7wCbXH4uKddHj8JUnak217WcZfvcJ6GaD2lmWA==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/a11y-base": "~24.9.9", - "@vaadin/component-base": "~24.9.9", - "@vaadin/field-base": "~24.9.9", - "@vaadin/input-container": "~24.9.9", - "@vaadin/vaadin-lumo-styles": "~24.9.9", - "@vaadin/vaadin-material-styles": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9", + "@vaadin/a11y-base": "~24.9.10", + "@vaadin/component-base": "~24.9.10", + "@vaadin/field-base": "~24.9.10", + "@vaadin/input-container": "~24.9.10", + "@vaadin/vaadin-lumo-styles": "~24.9.10", + "@vaadin/vaadin-material-styles": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10", "lit": "^3.0.0" } }, @@ -6958,32 +6958,32 @@ "license": "Apache-2.0" }, "node_modules/@vaadin/vaadin-lumo-styles": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.9.9.tgz", - "integrity": "sha512-VUbw/dIFVn9nAQSAJdQEdQw2X7GMetZkMC6o/hCMje+u0vGwaOe0UhLerjUnEnfVMtDwX+39um9gTCM14+vMTg==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.9.10.tgz", + "integrity": "sha512-NXUxrl537GrwJG07usUwyDYPVL7aUEBZALGLiTJ+A0om69q155hbpFchPPVexLjBHRn8y7Cdnox+VH/TIJBqBw==", "license": "Apache-2.0", "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.9", - "@vaadin/icon": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9" + "@vaadin/component-base": "~24.9.10", + "@vaadin/icon": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10" } }, "node_modules/@vaadin/vaadin-material-styles": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.9.9.tgz", - "integrity": "sha512-Su/T4ED/E2eeyjscOY6LLy22DgCxu41jkIM/LhOxvrNAqUhM7c7icKyTWOlEbkW7KvKXByBACQAF+141moN8/g==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.9.10.tgz", + "integrity": "sha512-jkDiWqqHHGPQ/SqILUheb2Nf/yRssosxu42Qe/e3N8j+Hc2uJb3yN4k9DuR8S2dmfGR3WKi16kWxaXKwlkXMYQ==", "license": "Apache-2.0", "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.9.9", - "@vaadin/vaadin-themable-mixin": "~24.9.9" + "@vaadin/component-base": "~24.9.10", + "@vaadin/vaadin-themable-mixin": "~24.9.10" } }, "node_modules/@vaadin/vaadin-themable-mixin": { - "version": "24.9.9", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.9.9.tgz", - "integrity": "sha512-yXmRon8PkwrYCrBIxjwYrn5z8NMB4hepIueVAX3KTrV9AOciiDxAKm+Rgxpc02AOCz/ZN451im8+8eheiU5c3g==", + "version": "24.9.10", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.9.10.tgz", + "integrity": "sha512-2JG9hmM9REQx2GSzZ6/16/fIgBhNP+btil896GFTsj9ZTwMcPTyvZ7/uP8B8Gnm6MGoyGr0nNoeE9/M3dNpGPQ==", "license": "Apache-2.0", "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -10416,9 +10416,9 @@ } }, "node_modules/es-toolkit": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.43.0.tgz", - "integrity": "sha512-SKCT8AsWvYzBBuUqMk4NPwFlSdqLpJwmy6AP322ERn8W2YLIB6JBXnwMI2Qsh2gfphT3q7EKAxKb23cvFHFwKA==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", + "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", "license": "MIT", "workspaces": [ "docs", diff --git a/package.json b/package.json index 0283774d4..03c014487 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ }, "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@defra/defra-map": "github:DEFRA/defra-map#main-v1", + "@defra/defra-map": "github:DEFRA/interactive-map#forms-stable", "@defra/forms-model": "^3.0.597", "@defra/hapi-tracing": "^1.29.0", "@elastic/ecs-pino-format": "^1.5.0", From b4b4f0a327e9eb07a660f573f357b41ba6402f97 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 23 Jan 2026 10:21:14 +0000 Subject: [PATCH 48/52] Remove unused import --- webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack.config.js b/webpack.config.js index 233fcbf7e..95cd995fe 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -208,5 +208,5 @@ export default { } /** - * @import { Configuration, NormalModule } from 'webpack' + * @import { Configuration } from 'webpack' */ From 0245d8811b8097d2c558e181699bc47474e23311 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 26 Jan 2026 09:46:57 +0000 Subject: [PATCH 49/52] Replace @defra/defra-map with @defra/interactive-map --- package-lock.json | 71 +++++++++++++------------- package.json | 2 +- src/client/javascripts/location-map.js | 18 +++---- 3 files changed, 46 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index 667920fce..a006a44f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,9 @@ "hasInstallScript": true, "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@defra/defra-map": "github:DEFRA/interactive-map#forms-stable", "@defra/forms-model": "^3.0.603", "@defra/hapi-tracing": "^1.29.0", + "@defra/interactive-map": "^0.0.2-alpha", "@elastic/ecs-pino-format": "^1.5.0", "@hapi/boom": "^10.0.1", "@hapi/catbox": "^12.1.1", @@ -2307,9 +2307,40 @@ "postcss-selector-parser": "^7.0.0" } }, - "node_modules/@defra/defra-map": { - "version": "1.0.0-alpha.1", - "resolved": "git+ssh://git@github.com/DEFRA/interactive-map.git#9b9c208d2665675a0e43e6c6e372b9dcad5d9e0e", + "node_modules/@defra/forms-model": { + "version": "3.0.603", + "resolved": "https://registry.npmjs.org/@defra/forms-model/-/forms-model-3.0.603.tgz", + "integrity": "sha512-EZBateAzf7GfPl1HmfYl3vPf384eLQEqFAXKmAtNgaxvLMT2qhkvwcluYg0Jq5Lyx0aRQD4CEPV4Xm42phTOzg==", + "license": "OGL-UK-3.0", + "dependencies": { + "@joi/date": "^2.1.1", + "marked": "^15.0.12", + "nanoid": "^5.0.7", + "slug": "^11.0.0", + "uuid": "^11.1.0" + }, + "engines": { + "node": "^22.12.0", + "npm": ">=10.9.0 <11.6.4" + }, + "peerDependencies": { + "joi": "^17.0.0" + } + }, + "node_modules/@defra/hapi-tracing": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@defra/hapi-tracing/-/hapi-tracing-1.29.0.tgz", + "integrity": "sha512-xD+5xC78CZvDsKUJPZaZyPeULiflxjzQkIn4bAfTqPctYqgQlmoU8Qw8mZVbwdVD3M6tF7ocSpXYpcLO/g1EsQ==", + "hasInstallScript": true, + "license": "OGL-UK-3.0", + "engines": { + "node": ">=22" + } + }, + "node_modules/@defra/interactive-map": { + "version": "0.0.2-alpha", + "resolved": "https://registry.npmjs.org/@defra/interactive-map/-/interactive-map-0.0.2-alpha.tgz", + "integrity": "sha512-uee+9M1tmtF264t+mU7zIbLHHutWcDG7n7Akukk7JtAxf4B0k2/uSlm7yzHg4rge8ZYEGr5MjMgl8kCg3f1w+Q==", "dependencies": { "@arcgis/core": "^4.34.8", "@turf/area": "^7.2.0", @@ -2334,7 +2365,7 @@ } } }, - "node_modules/@defra/defra-map/node_modules/preact": { + "node_modules/@defra/interactive-map/node_modules/preact": { "version": "10.28.2", "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz", "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==", @@ -2344,36 +2375,6 @@ "url": "https://opencollective.com/preact" } }, - "node_modules/@defra/forms-model": { - "version": "3.0.603", - "resolved": "https://registry.npmjs.org/@defra/forms-model/-/forms-model-3.0.603.tgz", - "integrity": "sha512-EZBateAzf7GfPl1HmfYl3vPf384eLQEqFAXKmAtNgaxvLMT2qhkvwcluYg0Jq5Lyx0aRQD4CEPV4Xm42phTOzg==", - "license": "OGL-UK-3.0", - "dependencies": { - "@joi/date": "^2.1.1", - "marked": "^15.0.12", - "nanoid": "^5.0.7", - "slug": "^11.0.0", - "uuid": "^11.1.0" - }, - "engines": { - "node": "^22.12.0", - "npm": ">=10.9.0 <11.6.4" - }, - "peerDependencies": { - "joi": "^17.0.0" - } - }, - "node_modules/@defra/hapi-tracing": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/@defra/hapi-tracing/-/hapi-tracing-1.29.0.tgz", - "integrity": "sha512-xD+5xC78CZvDsKUJPZaZyPeULiflxjzQkIn4bAfTqPctYqgQlmoU8Qw8mZVbwdVD3M6tF7ocSpXYpcLO/g1EsQ==", - "hasInstallScript": true, - "license": "OGL-UK-3.0", - "engines": { - "node": ">=22" - } - }, "node_modules/@discoveryjs/json-ext": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", diff --git a/package.json b/package.json index 143ce8697..ce36ba265 100644 --- a/package.json +++ b/package.json @@ -70,9 +70,9 @@ }, "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@defra/defra-map": "github:DEFRA/interactive-map#forms-stable", "@defra/forms-model": "^3.0.603", "@defra/hapi-tracing": "^1.29.0", + "@defra/interactive-map": "^0.0.2-alpha", "@elastic/ecs-pino-format": "^1.5.0", "@hapi/boom": "^10.0.1", "@hapi/catbox": "^12.1.1", diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 8d942b34d..bcc113a41 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -108,7 +108,7 @@ export function initMaps(config = {}) { } = config const locations = document.querySelectorAll('.app-location-field') - // TODO: Fix this in `defra-map` + // TODO: Fix this in `interactive-map` // If there are location components on the page fix up the main form submit // handler so it doesn't fire when using the integrated map search feature if (locations.length) { @@ -268,7 +268,7 @@ function createMap(mapId, initConfig, mapsConfig) { const defra = window.defra /** @type {DefraMap} */ - const map = new defra.DefraMap(mapId, { + const map = new defra.InteractiveMap(mapId, { ...initConfig, mapProvider: defra.maplibreProvider(), reverseGeocodeProvider: defra.openNamesProvider({ @@ -278,6 +278,7 @@ function createMap(mapId, initConfig, mapsConfig) { minZoom: 6, maxZoom: 18, containerHeight: '400px', + enableZoomControls: true, transformRequest: makeTileRequestTransformer(apiPath), plugins: [ defra.mapStylesPlugin({ @@ -286,8 +287,8 @@ function createMap(mapId, initConfig, mapsConfig) { id: 'outdoor', label: 'Outdoor', url: data.VTS_OUTDOOR_URL, - thumbnail: `${assetPath}/defra-map/assets/images/outdoor-map-thumb.jpg`, - logo: `${assetPath}/defra-map/assets/images/os-logo.svg`, + thumbnail: `${assetPath}/interactive-map/assets/images/outdoor-map-thumb.jpg`, + logo: `${assetPath}/interactive-map/assets/images/os-logo.svg`, logoAltText, attribution: `Contains OS data ${String.fromCodePoint(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}`, backgroundColor: '#f5f5f0' @@ -298,8 +299,8 @@ function createMap(mapId, initConfig, mapsConfig) { url: data.VTS_DARK_URL, mapColorScheme: 'dark', appColorScheme: 'dark', - thumbnail: `${assetPath}/defra-map/assets/images/dark-map-thumb.jpg`, - logo: `${assetPath}/defra-map/assets/images/os-logo-white.svg`, + thumbnail: `${assetPath}/interactive-map/assets/images/dark-map-thumb.jpg`, + logo: `${assetPath}/interactive-map/assets/images/os-logo-white.svg`, logoAltText, attribution: `Contains OS data ${String.fromCodePoint(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}` }, @@ -307,8 +308,8 @@ function createMap(mapId, initConfig, mapsConfig) { id: 'black-and-white', label: 'Black/White', url: data.VTS_BLACK_AND_WHITE_URL, - thumbnail: `${assetPath}/defra-map/assets/images/black-and-white-map-thumb.jpg`, - logo: `${assetPath}/defra-map/assets/images/os-logo-black.svg`, + thumbnail: `${assetPath}/interactive-map/assets/images/black-and-white-map-thumb.jpg`, + logo: `${assetPath}/interactive-map/assets/images/os-logo-black.svg`, logoAltText, attribution: `Contains OS data ${String.fromCodePoint(COMPANY_SYMBOL_CODE)} Crown copyright and database rights ${new Date().getFullYear()}` } @@ -325,7 +326,6 @@ function createMap(mapId, initConfig, mapsConfig) { width: '300px', showMarker: false }), - defra.zoomControlsPlugin(), defra.scaleBarPlugin({ units: 'metric' }) From 4f80a3c077bcecefa66dec990e12b4822d3a1b62 Mon Sep 17 00:00:00 2001 From: David Stone Date: Mon, 26 Jan 2026 10:08:18 +0000 Subject: [PATCH 50/52] Replace @defra/defra-map with @defra/interactive-map in JSSoc and tests --- src/client/javascripts/location-map.js | 24 ++++++++++---------- test/client/javascripts/location-map.test.js | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index bcc113a41..7e903c0d5 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -57,7 +57,7 @@ function osGridRefToLatLong(osGridRef) { const DEFAULT_LAT = 53.825564 const DEFAULT_LONG = -2.421975 -/** @type {DefraMapInitConfig} */ +/** @type {InteractiveMapInitConfig} */ const defaultConfig = { zoom: '6', center: [DEFAULT_LONG, DEFAULT_LAT] @@ -257,7 +257,7 @@ function processLocation(config, location, index) { /** * Create a Defra map instance * @param {string} mapId - the map id - * @param {DefraMapInitConfig} initConfig - the map initial configuration + * @param {InteractiveMapInitConfig} initConfig - the map initial configuration * @param {MapsEnvironmentConfig} mapsConfig - the map environment params */ function createMap(mapId, initConfig, mapsConfig) { @@ -267,7 +267,7 @@ function createMap(mapId, initConfig, mapsConfig) { // @ts-expect-error - Defra namespace currently comes from UMD support files const defra = window.defra - /** @type {DefraMap} */ + /** @type {InteractiveMap} */ const map = new defra.InteractiveMap(mapId, { ...initConfig, mapProvider: defra.maplibreProvider(), @@ -502,7 +502,7 @@ function getInitMapCenterConfig(center) { /** * Gets initial map config for a latlong location field * @param {HTMLDivElement} locationField - the latlong location field element - * @returns {DefraMapInitConfig | undefined} + * @returns {InteractiveMapInitConfig | undefined} */ function getInitLatLongMapConfig(locationField) { const { latInput, longInput } = getLatLongInputs(locationField) @@ -521,7 +521,7 @@ function getInitLatLongMapConfig(locationField) { /** * Gets initial map config for a easting/northing location field * @param {HTMLDivElement} locationField - the eastingnorthing location field element - * @returns {DefraMapInitConfig | undefined} + * @returns {InteractiveMapInitConfig | undefined} */ function getInitEastingNorthingMapConfig(locationField) { const { eastingInput, northingInput } = @@ -546,7 +546,7 @@ function getInitEastingNorthingMapConfig(locationField) { /** * Gets initial map config for an OS grid reference location field * @param {HTMLDivElement} locationField - the osgridref location field element - * @returns {DefraMapInitConfig | undefined} + * @returns {InteractiveMapInitConfig | undefined} */ function getInitOsGridRefMapConfig(locationField) { const osGridRefInput = getOsGridRefInput(locationField) @@ -567,7 +567,7 @@ function getInitOsGridRefMapConfig(locationField) { /** * Bind a latlong field to the map * @param {HTMLDivElement} locationField - the latlong location field - * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {InteractiveMap} map - the map component instance (of InteractiveMap) * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) */ function bindLatLongField(locationField, map, mapProvider) { @@ -609,7 +609,7 @@ function bindLatLongField(locationField, map, mapProvider) { /** * Bind an eastingnorthing field to the map * @param {HTMLDivElement} locationField - the eastingnorthing location field - * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {InteractiveMap} map - the map component instance (of InteractiveMap) * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) */ function bindEastingNorthingField(locationField, map, mapProvider) { @@ -662,7 +662,7 @@ function bindEastingNorthingField(locationField, map, mapProvider) { /** * Bind an OS grid reference field to the map * @param {HTMLDivElement} locationField - the osgridref location field - * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {InteractiveMap} map - the map component instance (of InteractiveMap) * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) */ function bindOsGridRefField(locationField, map, mapProvider) { @@ -707,7 +707,7 @@ function bindOsGridRefField(locationField, map, mapProvider) { /** * Updates the marker position and moves the map view port the new location - * @param {DefraMap} map - the map component instance (of DefraMap) + * @param {InteractiveMap} map - the map component instance (of InteractiveMap) * @param {MapLibreMap} mapProvider - the map provider instance (of MapLibreMap) * @param {MapCenter} center - the point */ @@ -724,7 +724,7 @@ function centerMap(map, mapProvider, center) { } /** - * @typedef {object} DefraMap - an instance of a DefraMap + * @typedef {object} InteractiveMap - an instance of a InteractiveMap * @property {Function} on - register callback listeners to map events * @property {Function} addPanel - adds a new panel to the map * @property {Function} addMarker - adds/updates a marker @@ -740,7 +740,7 @@ function centerMap(map, mapProvider, center) { */ /** - * @typedef {object} DefraMapInitConfig - additional config that can be provided to DefraMap + * @typedef {object} InteractiveMapInitConfig - additional config that can be provided to InteractiveMap * @property {string} zoom - the zoom level of the map * @property {MapCenter} center - the center point of the map * @property {{ id: string, coords: MapCenter}[]} [markers] - the markers to add to the map diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index eb3b0219f..375cb1314 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -21,7 +21,7 @@ describe('Location Maps Client JS', () => { addMarkerMock = jest.fn() addPanelMock = jest.fn() - class MockDefraMap { + class MockInteractiveMap { // eslint-disable-next-line @typescript-eslint/no-empty-function on = onMock // eslint-disable-next-line @typescript-eslint/no-empty-function @@ -32,7 +32,7 @@ describe('Location Maps Client JS', () => { // @ts-expect-error - loaded via UMD window.defra = { - DefraMap: MockDefraMap, + InteractiveMap: MockInteractiveMap, maplibreProvider: noop, openNamesProvider: noop, mapStylesPlugin: noop, From ec91f7c162e5eafe012a67cd0f3b2b9d412ec644 Mon Sep 17 00:00:00 2001 From: David Stone Date: Tue, 27 Jan 2026 16:06:14 +0000 Subject: [PATCH 51/52] Update @defra/interactive-map to v0.0.3-alpha --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a006a44f4..8bbed92c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@defra/forms-model": "^3.0.603", "@defra/hapi-tracing": "^1.29.0", - "@defra/interactive-map": "^0.0.2-alpha", + "@defra/interactive-map": "^0.0.3-alpha", "@elastic/ecs-pino-format": "^1.5.0", "@hapi/boom": "^10.0.1", "@hapi/catbox": "^12.1.1", @@ -2338,9 +2338,9 @@ } }, "node_modules/@defra/interactive-map": { - "version": "0.0.2-alpha", - "resolved": "https://registry.npmjs.org/@defra/interactive-map/-/interactive-map-0.0.2-alpha.tgz", - "integrity": "sha512-uee+9M1tmtF264t+mU7zIbLHHutWcDG7n7Akukk7JtAxf4B0k2/uSlm7yzHg4rge8ZYEGr5MjMgl8kCg3f1w+Q==", + "version": "0.0.3-alpha", + "resolved": "https://registry.npmjs.org/@defra/interactive-map/-/interactive-map-0.0.3-alpha.tgz", + "integrity": "sha512-uI1TqqWriIxD2x2vbanj0whnpLQXLShEXD69UrBKzzpMk8qvu3smpibR0t2BeYV40TZEhrPYdpi3TmOThno8lg==", "dependencies": { "@arcgis/core": "^4.34.8", "@turf/area": "^7.2.0", diff --git a/package.json b/package.json index ce36ba265..b7c7a1851 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "dependencies": { "@defra/forms-model": "^3.0.603", "@defra/hapi-tracing": "^1.29.0", - "@defra/interactive-map": "^0.0.2-alpha", + "@defra/interactive-map": "^0.0.3-alpha", "@elastic/ecs-pino-format": "^1.5.0", "@hapi/boom": "^10.0.1", "@hapi/catbox": "^12.1.1", From 4982168f15c9cbfe506770409705c323589c55bf Mon Sep 17 00:00:00 2001 From: David Stone Date: Tue, 27 Jan 2026 16:39:32 +0000 Subject: [PATCH 52/52] Update the interact plugin to use the new 'enable' method --- src/client/javascripts/location-map.js | 21 ++++++++++------- test/client/javascripts/location-map.test.js | 24 +++++++++++++++++++- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/client/javascripts/location-map.js b/src/client/javascripts/location-map.js index 7e903c0d5..33a5abf2a 100644 --- a/src/client/javascripts/location-map.js +++ b/src/client/javascripts/location-map.js @@ -202,7 +202,7 @@ function processLocation(config, location, index) { locationInputs.after(mapContainer) - const map = createMap(mapId, initConfig, config) + const { map, interactPlugin } = createMap(mapId, initConfig, config) map.on( 'map:ready', @@ -250,6 +250,9 @@ function processLocation(config, location, index) { }, html: 'If using a map click on a point to update the location.

If using a keyboard, navigate to the point, centering the crosshair at the location and press enter.' }) + + // Enable the interact plugin + interactPlugin.enable() } ) } @@ -267,6 +270,13 @@ function createMap(mapId, initConfig, mapsConfig) { // @ts-expect-error - Defra namespace currently comes from UMD support files const defra = window.defra + const interactPlugin = defra.interactPlugin({ + dataLayers: [], + markerColor: { outdoor: '#ff0000', dark: '#00ff00' }, + interactionMode: 'marker', + multiSelect: false + }) + /** @type {InteractiveMap} */ const map = new defra.InteractiveMap(mapId, { ...initConfig, @@ -315,12 +325,7 @@ function createMap(mapId, initConfig, mapsConfig) { } ] }), - defra.interactPlugin({ - dataLayers: [], - markerColor: { outdoor: '#ff0000', dark: '#00ff00' }, - interactionMode: 'marker', - multiSelect: false - }), + interactPlugin, defra.searchPlugin({ osNamesURL: `${apiPath}/geocode-proxy?query={query}`, width: '300px', @@ -332,7 +337,7 @@ function createMap(mapId, initConfig, mapsConfig) { ] }) - return map + return { map, interactPlugin } } /** diff --git a/test/client/javascripts/location-map.test.js b/test/client/javascripts/location-map.test.js index 375cb1314..18feb79cb 100644 --- a/test/client/javascripts/location-map.test.js +++ b/test/client/javascripts/location-map.test.js @@ -14,12 +14,22 @@ describe('Location Maps Client JS', () => { /** @type {jest.Mock} */ let addPanelMock + /** @type {jest.Mock} */ + let interactPlugin + + /** @type {jest.Mock} */ + let interactPluginEnable + beforeEach(() => { // eslint-disable-next-line @typescript-eslint/no-empty-function const noop = () => {} onMock = jest.fn() addMarkerMock = jest.fn() addPanelMock = jest.fn() + interactPluginEnable = jest.fn() + interactPlugin = jest.fn(() => ({ + enable: interactPluginEnable + })) class MockInteractiveMap { // eslint-disable-next-line @typescript-eslint/no-empty-function @@ -36,7 +46,7 @@ describe('Location Maps Client JS', () => { maplibreProvider: noop, openNamesProvider: noop, mapStylesPlugin: noop, - interactPlugin: noop, + interactPlugin, searchPlugin: noop, zoomControlsPlugin: noop, scaleBarPlugin: noop @@ -109,7 +119,9 @@ describe('Location Maps Client JS', () => { } }) + expect(interactPlugin).toHaveBeenCalledWith(expect.any(Object)) expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(interactPluginEnable).toHaveBeenCalled() expect(onMock).toHaveBeenLastCalledWith( 'interact:markerchange', @@ -166,7 +178,9 @@ describe('Location Maps Client JS', () => { } }) + expect(interactPlugin).toHaveBeenCalledWith(expect.any(Object)) expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(interactPluginEnable).toHaveBeenCalled() expect(onMock).toHaveBeenLastCalledWith( 'interact:markerchange', @@ -270,7 +284,9 @@ describe('Location Maps Client JS', () => { } }) + expect(interactPlugin).toHaveBeenCalledWith(expect.any(Object)) expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(interactPluginEnable).toHaveBeenCalled() expect(onMock).toHaveBeenLastCalledWith( 'interact:markerchange', @@ -329,7 +345,9 @@ describe('Location Maps Client JS', () => { } }) + expect(interactPlugin).toHaveBeenCalledWith(expect.any(Object)) expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(interactPluginEnable).toHaveBeenCalled() expect(onMock).toHaveBeenLastCalledWith( 'interact:markerchange', @@ -418,7 +436,9 @@ describe('Location Maps Client JS', () => { } }) + expect(interactPlugin).toHaveBeenCalledWith(expect.any(Object)) expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(interactPluginEnable).toHaveBeenCalled() expect(onMock).toHaveBeenLastCalledWith( 'interact:markerchange', @@ -471,7 +491,9 @@ describe('Location Maps Client JS', () => { } }) + expect(interactPlugin).toHaveBeenCalledWith(expect.any(Object)) expect(addPanelMock).toHaveBeenCalledWith('info', expect.any(Object)) + expect(interactPluginEnable).toHaveBeenCalled() expect(onMock).toHaveBeenLastCalledWith( 'interact:markerchange',