aboutsummaryrefslogtreecommitdiffstats
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
parentac90b8c6c745cedbda78b1962660a8a49d23de09 (diff)
Add windmill layers (from LST Vindbrukskollen).
-rw-r--r--example.html2
-rw-r--r--index.html4
-rw-r--r--main.js360
-rw-r--r--public/assets/icons/wind-turbine-appealed.svg49
-rw-r--r--public/assets/icons/wind-turbine-approved.svg49
-rw-r--r--public/assets/icons/wind-turbine-completed.svg49
-rw-r--r--public/assets/icons/wind-turbine-dismounted.svg49
-rw-r--r--public/assets/icons/wind-turbine-processed.svg43
-rw-r--r--public/assets/icons/wind-turbine-rejected.svg49
-rw-r--r--public/assets/icons/wind-turbine-revoked.svg49
-rw-r--r--style.css2
11 files changed, 703 insertions, 2 deletions
diff --git a/example.html b/example.html
index 6b52f31..31bd0f1 100644
--- a/example.html
+++ b/example.html
@@ -23,6 +23,6 @@
knappen uppe till höger så öpnar hela kartan i en ny flik. Där kan
man välja lager, ladda ner kartan som PNG-fil, och få information om
de olika föremålen.</p>
- <iframe src="/#z=0" title="Webbkarta" width=500 height=600></iframe>
+ <iframe src="/#z=0&basemap=topowebb_nedtonad&layers=svk_lines+svk_pylons+svk_stations+svk_planned+mrr_appr_ec+mrr_appl_ec+mrr_appr_ogd+mrr_appl_ogd+mrr_appr_met+mrr_appl_met+mrr_appr_dl+mrr_appr_pc+vbk_area_current+vbk_station_completed+vbk_station_processed+vbk_station_approved" title="Webbkarta" width=500 height=600></iframe>
</body>
</html>
diff --git a/index.html b/index.html
index 934ee70..65a86f1 100644
--- a/index.html
+++ b/index.html
@@ -29,6 +29,10 @@
<li><i>Mineralrättigheter</i> från
<a href="https://sgu.se" target="_blank">Sveriges geologiska undersökning (SGU)</a>.
</li>
+ <li><i>Vindbruk</i> från
+ <a href="https://www.energimyndigheten.se/fornybart/elproduktion/vindkraft/vindbrukskollen/" target="_blank">Länsstyrelserna och Energimyndigheten</a>,
+ CC0 (<a href="https://ext-geodatakatalog-forv.lansstyrelsen.se/GeodataKatalogen/codelist/metadata/anvandningsrestriktioner.xml#CC01.0" target="_blank">öppna data</a>).
+ </li>
<li>Bakgrund kartor från
&copy; <a href="https://lantmateriet.se" target="_blank">Lantmäteriet</a>, CC0
(<a href="https://www.lantmateriet.se/sv/geodata/vara-produkter/oppna-data/#anchor-1" target="_blank">öppna data</a>).
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({
diff --git a/public/assets/icons/wind-turbine-appealed.svg b/public/assets/icons/wind-turbine-appealed.svg
new file mode 100644
index 0000000..6110ba5
--- /dev/null
+++ b/public/assets/icons/wind-turbine-appealed.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#825400"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#825400"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#825400"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#825400"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/public/assets/icons/wind-turbine-approved.svg b/public/assets/icons/wind-turbine-approved.svg
new file mode 100644
index 0000000..b80033b
--- /dev/null
+++ b/public/assets/icons/wind-turbine-approved.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#38A800"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#38A800"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#38A800"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#38A800"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/public/assets/icons/wind-turbine-completed.svg b/public/assets/icons/wind-turbine-completed.svg
new file mode 100644
index 0000000..001ee2b
--- /dev/null
+++ b/public/assets/icons/wind-turbine-completed.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#000000"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#000000"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#000000"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#000000"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/public/assets/icons/wind-turbine-dismounted.svg b/public/assets/icons/wind-turbine-dismounted.svg
new file mode 100644
index 0000000..3f41fb8
--- /dev/null
+++ b/public/assets/icons/wind-turbine-dismounted.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#0070FF"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#0070FF"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#0070FF"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#0070FF"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/public/assets/icons/wind-turbine-processed.svg b/public/assets/icons/wind-turbine-processed.svg
new file mode 100644
index 0000000..ee6117d
--- /dev/null
+++ b/public/assets/icons/wind-turbine-processed.svg
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#FFAA00"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#FFAA00"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#FFAA00"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#FFAA00"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/public/assets/icons/wind-turbine-rejected.svg b/public/assets/icons/wind-turbine-rejected.svg
new file mode 100644
index 0000000..1dcd60e
--- /dev/null
+++ b/public/assets/icons/wind-turbine-rejected.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#E60000"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#E60000"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#E60000"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#E60000"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/public/assets/icons/wind-turbine-revoked.svg b/public/assets/icons/wind-turbine-revoked.svg
new file mode 100644
index 0000000..3f5e339
--- /dev/null
+++ b/public/assets/icons/wind-turbine-revoked.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="77.442" height="67.242" version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <circle
+ fill="#8F00ED"
+ stroke="#FFFFFF"
+ stroke-width=".5"
+ cx="38.721"
+ cy="33.621"
+ r="5"/>
+ <path
+ fill="#8F00ED"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.875,29.436C57.268,8.877,59.217,0.677,58.122,0.045c-1.091-0.631-7.217,5.15-19.313,25.282 C41.822,25.359,44.447,27.003,45.875,29.436z"/>
+ <path
+ fill="#8F00ED"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M30.424,33.621c0-1.486,0.397-2.879,1.083-4.087C8.059,29.949,0,32.359,0,33.621c0,1.261,8.058,3.672,31.505,4.086 C30.821,36.5,30.424,35.108,30.424,33.621z"/>
+ <path
+ fill="#8F00ED"
+ fill-opacity="1"
+ stroke="#FFFFFF"
+ stroke-opacity="1"
+ stroke-width=".5"
+ d="M45.884,37.794c-1.424,2.436-4.046,4.083-7.061,4.119C50.911,62.021,57.03,67.798,58.124,67.167 C59.217,66.535,57.271,58.34,45.884,37.794z"/>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:source>https://commons.wikimedia.org/wiki/File:Wind_Turbine_%282076%29_-_The_Noun_Project.svg</dc:source>
+ </cc:Work>
+ <cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
diff --git a/style.css b/style.css
index 655c032..ab90869 100644
--- a/style.css
+++ b/style.css
@@ -359,7 +359,7 @@ html, body {
.popover-body table > tbody > tr > td {
padding: 0.1rem 0.3rem;
}
-.feature-attr-mrr-license-id, .feature-attr-dnr {
+.feature-attr-mrr-license-id, .feature-attr-dnr, .feature-objid, .feature-orgnr {
font-family: var(--bs-font-monospace);
word-wrap: break-word;
}