aboutsummaryrefslogtreecommitdiffstats
path: root/main.js
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2024-01-29 18:53:29 +0100
committerGuilhem Moulin <guilhem@fripost.org>2024-01-30 17:27:11 +0100
commit428261ead99c24c743bd04a201bb53804bb2694b (patch)
tree0ea2a710299f02a578498c52266c20bec163b065 /main.js
parentac90b8c6c745cedbda78b1962660a8a49d23de09 (diff)
Add windmill layers (from LST Vindbrukskollen).
Diffstat (limited to 'main.js')
-rw-r--r--main.js360
1 files changed, 360 insertions, 0 deletions
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({