From 93c562a3a32b245365a990ec63d84dfd1f57ef60 Mon Sep 17 00:00:00 2001 From: Dustin Carlino Date: Tue, 1 Aug 2023 09:43:37 +0100 Subject: [PATCH] Add boundaries for CAs and LADs --- .../CombinedAuthoritiesLayerControl.svelte | 86 +++++++++++++++++++ ...LocalAuthorityDistrictsLayerControl.svelte | 86 +++++++++++++++++++ src/lib/browse/colors.ts | 2 + src/maplibre_helpers.ts | 8 +- src/pages/BrowseSchemes.svelte | 4 + 5 files changed, 184 insertions(+), 2 deletions(-) create mode 100644 src/lib/browse/CombinedAuthoritiesLayerControl.svelte create mode 100644 src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte diff --git a/src/lib/browse/CombinedAuthoritiesLayerControl.svelte b/src/lib/browse/CombinedAuthoritiesLayerControl.svelte new file mode 100644 index 000000000..958c2211c --- /dev/null +++ b/src/lib/browse/CombinedAuthoritiesLayerControl.svelte @@ -0,0 +1,86 @@ + + + + + Combined authorities + + +

+ Data from + ONS Geography + , as of December 2022. +

+

+ License: + Open Government License + . Contains OS data © Crown copyright and database + right 2023. +

+
+
+
+ + diff --git a/src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte b/src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte new file mode 100644 index 000000000..e9a2eb4d1 --- /dev/null +++ b/src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte @@ -0,0 +1,86 @@ + + + + + Local Authority Districts + + +

+ Data from + ONS Geography + , as of May 2023. +

+

+ License: + Open Government License + . Contains OS data © Crown copyright and database + right 2023. +

+
+
+
+ + diff --git a/src/lib/browse/colors.ts b/src/lib/browse/colors.ts index dff91a225..f37bda91e 100644 --- a/src/lib/browse/colors.ts +++ b/src/lib/browse/colors.ts @@ -5,6 +5,8 @@ export const colors = { mrn: "#006478", parliamentary_constituencies: "#006E59", wards: "purple", + combined_authorities: "cyan", + local_authority_districts: "orange", atf2: "#00AFFF", atf3: "#FF62DC", diff --git a/src/maplibre_helpers.ts b/src/maplibre_helpers.ts index dd2b1a403..e8042eec8 100644 --- a/src/maplibre_helpers.ts +++ b/src/maplibre_helpers.ts @@ -29,8 +29,8 @@ export const isPoint: FilterSpecification = ["==", "$type", "Point"]; // overwrite an existing source or layer. This complicates Vite's hot-reload // feature, unless every component correctly tears down all sources and layers. // These methods workaround that lifetime management hassle by overwriting if -// necessary. -export function overwriteSource(map: Map, id: string, data: GeoJSON) { +// necessary. The data can be GeoJSON or a URL to a GeoJSON file. +export function overwriteSource(map: Map, id: string, data: GeoJSON | string) { cleanupSource(map, id); map.addSource(id, { type: "geojson", @@ -320,6 +320,10 @@ const layerZorder = [ "parliamentary_constituencies-outline", "wards", "wards-outline", + "combined_authorities", + "combined_authorities-outline", + "local_authority_districts", + "local_authority_districts-outline", // Draw most things beneath text road labels. This is the only layer in this // list generated by the MapTiler basemap we use. diff --git a/src/pages/BrowseSchemes.svelte b/src/pages/BrowseSchemes.svelte index 7fc69d616..31eda968b 100644 --- a/src/pages/BrowseSchemes.svelte +++ b/src/pages/BrowseSchemes.svelte @@ -4,10 +4,12 @@ import "../style/main.css"; import type { MapGeoJSONFeature } from "maplibre-gl"; import { onDestroy, onMount } from "svelte"; + import CombinedAuthoritiesLayerControl from "../lib/browse/CombinedAuthoritiesLayerControl.svelte"; import { processInput, type Scheme } from "../lib/browse/data"; import Filters from "../lib/browse/Filters.svelte"; import HospitalsLayerControl from "../lib/browse/HospitalsLayerControl.svelte"; import InterventionColorSelector from "../lib/browse/InterventionColorSelector.svelte"; + import LocalAuthorityDistrictsLayerControl from "../lib/browse/LocalAuthorityDistrictsLayerControl.svelte"; import MrnLayerControl from "../lib/browse/MrnLayerControl.svelte"; import ParliamentaryConstituenciesLayerControl from "../lib/browse/ParliamentaryConstituenciesLayerControl.svelte"; import SchemeCard from "../lib/browse/SchemeCard.svelte"; @@ -144,6 +146,8 @@ + +