From 428261ead99c24c743bd04a201bb53804bb2694b Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Mon, 29 Jan 2024 18:53:29 +0100 Subject: Add windmill layers (from LST Vindbrukskollen). --- main.js | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 360 insertions(+) (limited to 'main.js') diff --git a/main.js b/main.js index df94f55..bc189a7 100644 --- a/main.js +++ b/main.js @@ -39,6 +39,7 @@ import VectorSource from 'ol/source/Vector.js'; import CircleStyle from 'ol/style/Circle.js'; import Fill from 'ol/style/Fill.js'; +import Icon from 'ol/style/Icon.js'; import RegularShape from 'ol/style/RegularShape.js'; import Stroke from 'ol/style/Stroke.js'; import Style from 'ol/style/Style.js'; @@ -793,6 +794,314 @@ const layers = { }); })), }, + vbk_area_current: { + popoverTitle: 'Projekteringsområde för vindbruk', + popover: [ + ['Projektnamn', 'PROJNAMN'], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Aktuella verk', 'ANTALVERK'], + ['Antal ej koordinatsatta verk', 'AntalejXY', { fn: (v) => v || 0 }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Planerad byggstart', 'PBYGGSTART'], + ['Planerat drifttagande', 'PDRIFT'], + ['Andringsansokan', 'Andringsansokan'], + ['Under Byggnation', 'UnderByggnation'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNR', { classes: ['feature-orgnr'] }], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Senast uppdaterat', 'ArendeStatusUppdaterat'], + ], + style: [.5, 1, 1.5, 1.5, 2, 2, 2.5, 2.5, 3, 3.5, 4, 5].map(function(width, z) { + return new Style({ + zIndex: 10, + fill: new Fill({ + color: [168, 198, 223, Math.max((.2-1)/8 * z + 1, 0)], + }), + stroke: width === 0 ? undefined : new Stroke({ + width: width, + color: [56, 96, 130, 1], + }), + }); + }), + }, + vbk_area_notcurrent: { + popoverTitle: 'Projekteringsområde för vindbruk \u2013 ej aktuell', + popover: [ + ['Projektnamn', 'PROJNAMN'], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Aktuella verk', 'ANTALVERK'], + ['Antal ej koordinatsatta verk', 'AntalejXY', { fn: (v) => v || 0 }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Planerad byggstart', 'PBYGGSTART'], + ['Planerat drifttagande', 'PDRIFT'], + ['Andringsansokan', 'Andringsansokan'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNR', { classes: ['feature-orgnr'] }], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Senast uppdaterat', 'ArendeStatusUppdaterat'], + ], + style: [.5, 1, 1.5, 1.5, 2, 2, 2.5, 2.5, 3, 3.5, 4, 5].map(function(width, z) { + return new Style({ + zIndex: 10, + fill: new Fill({ + color: [222, 163, 199, Math.max((.2-1)/8 * z + 1, 0)], + }), + stroke: width === 0 ? undefined : new Stroke({ + width: width, + color: [148, 55, 112, 1], + lineDash: width >= 1.5 ? [2 * width] : undefined, + }), + }); + }), + }, + vbk_station_completed: { + popoverTitle: 'Vindkraftverk \u2013 uppfört', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Uppförandedatum', 'UPPFORT'], + ['Miljöbalken tillstånd tidsbegränsning', 'MB_Tillstand_TIDSBEGRANS_DAT'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-completed.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, + vbk_station_processed: { + popoverTitle: 'Vindkraftverk \u2013 handlagt', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-processed.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, + vbk_station_approved: { + popoverTitle: 'Vindkraftverk \u2013 beviljat', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Miljöbalken tillstånd tidsbegränsning', 'MB_Tillstand_TIDSBEGRANS_DAT'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-approved.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, + vbk_station_revoked: { + popoverTitle: 'Vindkraftverk \u2013 inte längre aktuell/återkallat', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Miljöbalken tillstånd tidsbegränsning', 'MB_Tillstand_TIDSBEGRANS_DAT'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-revoked.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, + vbk_station_rejected: { + popoverTitle: 'Vindkraftverk \u2013 avslagit/nekat', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Miljöbalken tillstånd tidsbegränsning', 'MB_Tillstand_TIDSBEGRANS_DAT'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-rejected.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, + vbk_station_dismounted: { + popoverTitle: 'Vindkraftverk \u2013 nedmonterat', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Uppförandedatum', 'UPPFORT'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-dismounted.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, + vbk_station_appealed: { + popoverTitle: 'Vindkraftverk \u2013 överklagat', + popover: [ + ['Verk-ID', 'VERKID', { classes: ['feature-objid'] }], + ['Områdes-ID', 'OMRID', { classes: ['feature-objid'] }], + ['Projektnamn', 'PROJNAMN'], + ['Status', 'STATUS'], + ['Handlingstyp', 'HANDLINGSTYP'], + ['Totalhöjd', 'TOTALHOJD', { unit: 'm' }], + ['Navhöjd', 'NAVHOJD', { unit: 'm' }], + ['Rotordiameter', 'ROTDIAMETER', { unit: 'm' }], + ['Maxeffekt', 'MAXEFFEKT', { unit: 'MW' }], + ['Beräknad årsproduktion', 'CALPROD', { unit: 'GWh' }], + ['Fabrikat', 'FABRIKAT'], + ['Modell', 'MODELL'], + ['Organisationsnamn', 'ORGNAMN'], + ['Organisationsnummer', 'ORGNMR', { classes: ['feature-orgnr'] }], + ['Placering', 'PLACERING'], + ['Kommun', 'KOMNAMN'], + ['Län', 'LANSNAMN'], + ['Elområde', 'EL_NAMN'], + ['Datum för senaste uppdatering av verk', 'SenasteUppdatering'], + ], + style: [undefined, undefined, undefined, undefined, .125, .125, .25, .5, 1, 2, 4, 8].map(function(scale) { + return scale === undefined ? undefined : new Style({ + zIndex: 99, + image: new Icon({ + src: '/assets/icons/wind-turbine-appealed.svg', + declutter: 'none', + scale: scale, + }), + }); + }), + }, }; const layerHierarchy = [ @@ -865,6 +1174,57 @@ const layerHierarchy = [ }, ], }, + { + text: 'Vindbruk', + children: [ + { + text: 'Projekteringsområden', + children: [ + { + text: 'Aktuella', + layer: 'vbk_area_current', + }, + { + text: 'Ej aktuella', + layer: 'vbk_area_notcurrent', + }, + ], + }, + { + text: 'Vindkraftverk', + children: [ + { + text: 'Uppförda', + layer: 'vbk_station_completed', + }, + { + text: 'Handläggs', + layer: 'vbk_station_processed', + }, + { + text: 'Beviljade', + layer: 'vbk_station_approved', + }, + { + text: 'Inte längre aktuella/återkallade', + layer: 'vbk_station_revoked', + }, + { + text: 'Avslagna/nekad', + layer: 'vbk_station_rejected', + }, + { + text: 'Nedmonterade', + layer: 'vbk_station_dismounted', + }, + { + text: 'Överklagade', + layer: 'vbk_station_appealed', + }, + ], + }, + ] + }, ]; const vectorSource = new VectorTile({ -- cgit v1.2.3