diff --git a/digiplan/map/calculations.py b/digiplan/map/calculations.py index 29cc7208..884c8c62 100644 --- a/digiplan/map/calculations.py +++ b/digiplan/map/calculations.py @@ -304,34 +304,6 @@ def heat_demand_per_municipality_2045(user_settings: dict) -> pd.DataFrame: return demand.iloc[:] * shares -def ghg_reduction(simulation_id: int) -> pd.Series: - """ - Calculate data for GHG reduction chart from simulation ID. - - Parameters - ---------- - simulation_id: int - Simulation ID to calculate results from - - Returns - ------- - pandas.Series - holding data for GHG reduction chart - """ - renewables = renewable_electricity_production(simulation_id).sum() - - results = get_results( - simulation_id, - { - "electricity_production": electricity_production, - }, - ) - electricity_import = results["electricity_production"].loc[["ABW-electricity-import"]] - electricity_import.index = electricity_import.index.get_level_values(0) - electricity_import["ABW-renewables"] = renewables - return electricity_import * 1e-3 - - def electricity_from_from_biomass(simulation_id: int) -> pd.Series: """ Calculate electricity from biomass. diff --git a/digiplan/map/charts.py b/digiplan/map/charts.py index bf140ffd..ffe61ede 100644 --- a/digiplan/map/charts.py +++ b/digiplan/map/charts.py @@ -147,24 +147,6 @@ def render(self) -> dict: # noqa: D102 return self.chart_options -class GHGReductionChart(SimulationChart): - """GHG Reduction Chart. Shows greenhouse gas emissions.""" - - lookup = "ghg_reduction" - - def get_chart_data(self): # noqa: D102, ANN201 - return calculations.get_reduction(simulation_id=self.simulation_id) - - def render(self) -> dict: # noqa: D102 - # Enter import and energy from renewables - for i, item in enumerate(self.chart_options["series"][7:9]): - item["data"][1] = self.chart_data[i] - # Calculate emission offset - summed_emissions_2019 = sum(item["data"][0] for item in self.chart_options["series"][:7]) - self.chart_options["series"][0]["data"][1] = summed_emissions_2019 - sum(self.chart_data) - return self.chart_options - - class ElectricityOverviewChart(SimulationChart): """Chart for electricity overview.""" @@ -285,23 +267,6 @@ def get_chart_data(self): # noqa: D102, ANN201 return calculations.heat_overview(simulation_id=self.simulation_id, distribution="decentral") -class GhgHistoryChart(SimulationChart): - """GHG history chart.""" - - lookup = "ghg_history" - - def get_chart_data(self): # noqa: D102, ANN201 - # TODO(Hendrik): Get static data from digipipe datapackage # noqa: TD003 - return pd.DataFrame() - - def render(self) -> dict: # noqa: D102 - for item in self.chart_options["series"]: - profile = config.SIMULATION_NAME_MAPPING[item["name"]] - item["data"][1] = self.chart_data[profile] - - return self.chart_options - - class PopulationRegionChart(Chart): """Chart for regional population.""" @@ -976,7 +941,6 @@ def get_chart_options(self) -> dict: CHARTS: dict[str, Union[type[PreResultsChart], type[SimulationChart]]] = { "detailed_overview": DetailedOverviewChart, - "ghg_reduction": GHGReductionChart, "electricity_overview": ElectricityOverviewChart, "electricity_autarky": ElectricityAutarkyChart, "heat_decentralized": HeatStructureDecentralChart, diff --git a/digiplan/map/charts/electricity_autarky.json b/digiplan/map/charts/electricity_autarky.json index 2d5d75fc..618e789d 100644 --- a/digiplan/map/charts/electricity_autarky.json +++ b/digiplan/map/charts/electricity_autarky.json @@ -1,8 +1,4 @@ { - "brush": { - "toolbox": ["rect", "polygon", "lineX", "lineY", "keep", "clear"], - "xAxisIndex": 0 - }, "grid": { "bottom": "25%" }, @@ -20,7 +16,7 @@ }, "yAxis": { "type": "category", - "data": ["Dein Szenario", "2022"], + "data": ["Dein Szenario", "2023"], "axisTick": { "show": false } diff --git a/digiplan/map/charts/electricity_overview.json b/digiplan/map/charts/electricity_overview.json index a7508169..cdb574db 100644 --- a/digiplan/map/charts/electricity_overview.json +++ b/digiplan/map/charts/electricity_overview.json @@ -1,17 +1,4 @@ { - "brush": { - "toolbox": ["rect", "polygon", "lineX", "lineY", "keep", "clear"], - "xAxisIndex": 0 - }, - "toolbox": { - "feature": { - "magicType": { - "type": ["stack"] - }, - "dataView": {} - } - }, - "tooltip": {}, "grid": { "top": "10%", "left": "3%", @@ -20,7 +7,7 @@ "containLabel": true }, "yAxis": { - "data": ["Ziel 2045", "Dein Szenario", "2022"], + "data": ["Ziel Brandenburg 2040", "Ziel Brandenburg 2030", "Dein Szenario", "2023"], "axisLine": { "onZero": true }, "splitLine": { "show": false }, "splitArea": { "show": false } @@ -49,7 +36,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Freiflächen-PV", @@ -62,7 +49,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Aufdach-PV", @@ -75,7 +62,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Bioenergie", @@ -88,7 +75,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Wasserkraft", @@ -102,7 +89,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Verbrauch Haushalte", @@ -116,7 +103,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Verbrauch GHD", @@ -129,7 +116,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Verbrauch Industrie", @@ -143,7 +130,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Import*", @@ -157,7 +144,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] }, { "name": "Export*", @@ -171,7 +158,7 @@ "shadowColor": "rgba(0,0,0,0.3)" } }, - "data": [0, 0, 0] + "data": [0, 0, 0, 0] } ] } diff --git a/digiplan/map/charts/ghg_history.json b/digiplan/map/charts/ghg_history.json deleted file mode 100644 index 125aa95f..00000000 --- a/digiplan/map/charts/ghg_history.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "legend": { - "show": true, - "bottom": "-5" - }, - "tooltip": { - "trigger": "item", - "formatter": "{a}: {c} kt CO₂-Äq." - }, - "yAxis": { - "name": "kt CO₂-Äq." - }, - "xAxis": [ - { - "inverse": false, - "splitLine": { - "show": true - }, - "axisTick": { - "length": 0, - "lineStyle": { - "color": "#ccc" - } - }, - "axisLine": { - "lineStyle": { - "color": "#ccc" - } - }, - "data": [ - "-", - "-" - ] - }, - { - "name": "", - "nameLocation": "start", - "nameTextStyle": { - "fontWeight": "bold" - }, - "position": "bottom", - "offset": 60, - "axisLine": { - "onZero": false, - "show": false - }, - "axisTick": { - "length": 30, - "inside": true, - "lineStyle": { - "color": "#ccc" - } - }, - "axisLabel": { - "inside": true, - "fontWeight": "bold" - }, - "inverse": false, - "data": [ - "1990", - "2019" - ] - }, - { - "name": "", - "nameLocation": "start", - "nameTextStyle": { - "fontWeight": "bold" - }, - "position": "bottom", - "offset": 30, - "axisLine": { - "onZero": false, - "show": false - }, - "axisTick": { - "length": 30, - "inside": true, - "lineStyle": { - "color": "#ccc" - } - }, - "axisLabel": { - "inside": true - }, - "inverse": false, - "data": [ - "Sachsen-Anhalt", - "ABW", - "Sachsen-Anhalt", - "ABW" - ] - } - ], - "series": [ - { - "name": "Energiewirtschaft", - "stack": "st", - "type": "bar", - "color": "#E6772E", - "barWidth":"30", - "barGap": "250%", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 15680, - 11571 - ] - }, - { - "name": "Industrie", - "stack": "st", - "type": "bar", - "color": "#FA9FB5", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 20519, - 9011 - ] - }, - { - "name": "Verkehr", - "stack": "st", - "type": "bar", - "color": "#6C567B", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 3779, - 4007 - ] - }, - { - "name": "Gebäude", - "stack": "st", - "type": "bar", - "color": "#A8DADC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 13943, - 3983 - ] - }, - { - "name": "Landwirtschaft", - "stack": "st", - "type": "bar", - "color": "#87D068", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 3275, - 2113 - ] - }, - { - "name": "Abfall und Sonst.", - "stack": "st", - "type": "bar", - "color": "#F5F5DC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 1458, - 947 - ] - }, - { - "name": "Energiewirtschaft", - "stack": "abw", - "type": "bar", - "color": "#E6772E", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 930, - 538 - ] - }, - { - "name": "Industrie", - "stack": "abw", - "type": "bar", - "color": "#FA9FB5", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 4848, - 2129 - ] - }, - { - "name": "Verkehr", - "stack": "abw", - "type": "bar", - "color": "#6C567B", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 698, - 672 - ] - }, - { - "name": "Gebäude", - "stack": "abw", - "type": "bar", - "color": "#A8DADC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 2434, - 695 - ] - }, - { - "name": "Landwirtschaft", - "type": "bar", - "stack": "abw", - "color": "#87D068", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 501, - 368 - ] - }, - { - "name": "Abfall und Sonst.", - "type": "bar", - "stack": "abw", - "color": "#F5F5DC", - "barWidth":"30", - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data": [ - 262, - 157 - ] - } - ] -} diff --git a/digiplan/map/charts/ghg_overview.json b/digiplan/map/charts/ghg_overview.json deleted file mode 100644 index 1d201e95..00000000 --- a/digiplan/map/charts/ghg_overview.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "grid": { - "bottom": "20%" - }, - "backgroundColor": "#FFFFFF", - "yAxis": { - "show": true, - "type": "category", - "data": ["Ziel", "Szenario", "Status Quo", "1990"], - "nameTextStyle": "Roboto", - "fontWeight": "400", - "fontSize": "14" - }, - "xAxis": { - "type": "value", - "show": true, - "position": "bottom", - "name": "Mt CO₂-Emissionen", - "nameLocation": "end", - "nameTextStyle": "Roboto", - "width": "76", - "heigth": "32", - "fontWeight": "300", - "fontSize": "14" - }, - "series": [ - { - "name": "Sockel", - "type": "bar", - "barWidth": "16", - "stack": "total", - "color": "#D8E2E7", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [20, 20, 20, 20] - }, - { - "name": "GHD", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#98C1D7", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [15, 17, 20, 25] - }, - { - "name": "Haushalte", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#6F9BB2", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [12, 15, 30, 34] - }, - { - "name": "Industrie", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#376984", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [20, 20, 31, 34] - }, - { - "name": "XXX", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#0D425F", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [5, 12, 15, 24] - }, - { - "name": "XXX", - "type": "bar", - "barWidth": "25", - "stack": "total", - "color": "#072130", - "label": { - "show": false - }, - "emphasis": { - "focus": "series" - }, - "data": [15, 20, 30, 34] - } - ] -} diff --git a/digiplan/map/charts/ghg_reduction.json b/digiplan/map/charts/ghg_reduction.json deleted file mode 100644 index 05e8915d..00000000 --- a/digiplan/map/charts/ghg_reduction.json +++ /dev/null @@ -1,437 +0,0 @@ -{ - "backgroundColor":"#FFFFFF", - "fontStyle":"Roboto", - "fontSize":"14", - "tooltip": {"trigger": "item"}, - "legend":{ - "show":true, - "bottom":"0" - }, - "grid":{ - "top":"10%", - "left":"3%", - "right":"15%", - "bottom":"15%", - "containLabel":true - }, - "xAxis":{ - "type":"category", - "splitLine":{ - "show":false - }, - "data":[ - "Emissionen 2019", - "Reduktion", - "2045" - ] - }, - "yAxis":{ - "type":"value", - "name": "kt CO₂-Äq." - }, - "series":[ - { - "name":"", - "type":"bar", - "stack":"Total", - "itemStyle":{ - "borderColor":"transparent", - "color":"transparent" - }, - "emphasis":{ - "itemStyle":{ - "borderColor":"transparent", - "color":"transparent" - } - }, - "data":[ - 0, - 3057, - 0 - ] - }, - { - "name":"Energiewirtschaft", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#E6772E", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 538, - 0, - 0 - ] - }, - { - "name":"Industrie", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#FA9FB5", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 2129, - 0, - 0 - ] - }, - { - "name":"Verkehr", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#6C567B", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 672, - 0, - 0 - ] - }, - { - "name":"Gebäude", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#A8DADC", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 695, - 0, - 0 - ] - }, - { - "name":"Landwirtschaft", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "color":"#87D068", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 368, - 0, - 0 - ] - }, - { - "name":"Abfall und Sonst.", - "type":"bar", - "barWidth":"30", - "color":"#F5F5DC", - "stack":"Total", - "label":{ - "show":false, - "position":"inside" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 157, - 0, - 0 - ] - }, - { - "name":"Importe", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "stackStrategy": "all", - "color":"#D9B38C", - "label":{ - "show":false, - "position":"inside", - "color":"#666" - }, - "legend":false, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 0, - 500, - 0 - ] - }, - { - "name":"Regionale Stromerzeugung", - "type":"bar", - "barWidth":"30", - "stack":"Total", - "stackStrategy": "all", - "color":"#48BF91", - "label":{ - "show":false, - "position":"inside", - "color":"#666" - }, - "emphasis": { - "itemStyle": { - "shadowBlur": 10, - "shadowColor": "rgba(0,0,0,0.3)" - } - }, - "data":[ - 0, - 1000, - 0 - ] - }, - { - "name":{ - "name":"Referenzlinie" - }, - "type":"line", - "polyline":true, - "symbol":"none", - "symbolSize":"0", - "symbolRotate":"-90", - "lineStyle":{ - "type":"dashed" - }, - "color":"#808B96", - "label":{ - "show":false - }, - "data":[ - 4557, - 4557, - 4557 - ] - }, - { - "name":"", - "type":"lines", - "coordinateSystem":"cartesian2d", - "emphasis":{ - "label":{ - "show":false - } - }, - "polyline":false, - "symbol":[ - "none", - "triangle" - ], - "symbolSize":[ - 60, - 60 - ], - "z":1, - "lineStyle":{ - "color":"#ccc", - "width":30, - "opacity":0.15, - "type":"solid" - }, - "data":[ - { - "coords":[ - [ - 0, - 4557 - ], - [ - 2, - 200 - ] - ] - } - ] - }, - { - "name":"", - "type":"lines", - "coordinateSystem":"cartesian2d", - "emphasis":{ - "label":{ - "show":false - } - }, - "polyline":false, - "symbol":[ - "none", - "triangle" - ], - "symbolSize":[ - 30, - 30 - ], - "lineStyle":{ - "color":"#ccc", - "width":16, - "opacity":1, - "type":"solid" - }, - "data":[ - { - "coords":[ - [ - 1, - 2000 - ], - [ - 1, - 1000 - ] - ] - } - ] - } - ], - "graphic":[ - { - "type":"group", - "left":"40%", - "top":"3%", - "children":[ - - { - "type":"text", - "z":100, - "left":"center", - "top":"middle", - "style":{ - "fill":"#333", - "width":150, - "overflow":"break", - "text":"Reduktion durch Einsparung und", - "font":"14px Roboto" - } - } - ] - }, - { - "type":"group", - "left":"60%", - "top":"22%", - "children":[ - { - "type":"rect", - "z":100, - "left":"center", - "top":"middle", - "shape":{ - "width":160, - "height":35 - }, - "style":{ - "fill":"#48BF91", - "stroke":"#555", - "lineWidth":0, - "shadowBlur":8, - "shadowOffsetX":3, - "shadowOffsetY":3, - "shadowColor":"rgba(0,0,0,0.2)" - } - }, - { - "type":"text", - "z":100, - "left":"center", - "top":"middle", - "style":{ - "fill":"#fff", - "width":160, - "overflow":"break", - "text":"Regionale Stromerzeugung", - "font":"14px Roboto" - } - } - ] - }, - { - "type":"group", - "left":"60%", - "top":"32%", - "children":[ - { - "type":"rect", - "z":100, - "left":"center", - "top":"middle", - "shape":{ - "width":160, - "height":35 - }, - "style":{ - "fill":"#D9B38C", - "stroke":"#555", - "lineWidth":0, - "shadowBlur":8, - "shadowOffsetX":3, - "shadowOffsetY":3, - "shadowColor":"rgba(0,0,0,0.2)" - } - }, - { - "type":"text", - "z":100, - "left":"center", - "top":"middle", - "style":{ - "fill":"#fff", - "width":160, - "overflow":"break", - "text":"Importe", - "font":"14px Roboto" - } - } - ] - } - ] -} diff --git a/digiplan/map/charts/pv_ground_areas.json b/digiplan/map/charts/pv_ground_areas.json new file mode 100644 index 00000000..39e74806 --- /dev/null +++ b/digiplan/map/charts/pv_ground_areas.json @@ -0,0 +1,74 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Fläche (ha)", "% der Regionsfläche"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["Klassische PV", "Agri-PV\n(vertikal)", "Agri-PV\n(Dauerkulturen)"] + }, + "yAxis": [ + { + "type": "value", + "max": 6000, + "axisLabel": { + "formatter": "{value} ha" + } + }, + { + "type": "value", + "max": 3, + "axisLabel": { + "formatter": "{value} %" + } + } + ], + "series": [ + { + "name": "Fläche (ha)", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 2084, + 2603, + 377 + ], + "yAxisIndex": 0 + }, + { + "name": "% der Regionsfläche", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 0.5, + 0.6, + 0.1 + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/pv_ground_capacity.json b/digiplan/map/charts/pv_ground_capacity.json new file mode 100644 index 00000000..5ca16be6 --- /dev/null +++ b/digiplan/map/charts/pv_ground_capacity.json @@ -0,0 +1,112 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Leistung", "Anlagenanzahl"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["2010", "2015", "2020", "2023", "Dein\nSzenario**"] + }, + "yAxis": [ + { + "type": "value", + "max": 3000, + "axisLabel": { + "formatter": "{value} MW" + } + }, + { + "type": "value", + "max": 300, + "name": "Anzahl" + } + ], + "series": [ + { + "name": "Leistung", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 1, + 296, + 376, + 762, + { + "value": 2000, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 0, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#7f5a0f", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1329, + "label": { + "formatter": "Leistungsziel Brandenburg 2030 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + }, + { + "yAxis": 2437, + "label": { + "formatter": "Leistungsziel Brandenburg 2040 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + } + ] + } + }, + { + "name": "Anlagenanzahl", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 7, + 74, + 123, + 183, + { + "value": 0, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/pv_roof_areas.json b/digiplan/map/charts/pv_roof_areas.json new file mode 100644 index 00000000..29bde432 --- /dev/null +++ b/digiplan/map/charts/pv_roof_areas.json @@ -0,0 +1,70 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Fläche (ha)", "% des Potenzials"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["Dein Szenario"] + }, + "yAxis": [ + { + "type": "value", + "max": 5000, + "axisLabel": { + "formatter": "{value} ha" + } + }, + { + "type": "value", + "max": 100, + "axisLabel": { + "formatter": "{value} %" + } + } + ], + "series": [ + { + "name": "Fläche (ha)", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 1402 + ], + "yAxisIndex": 0 + }, + { + "name": "% des Potenzials", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 50 + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/pv_roof_capacity.json b/digiplan/map/charts/pv_roof_capacity.json new file mode 100644 index 00000000..59bd808d --- /dev/null +++ b/digiplan/map/charts/pv_roof_capacity.json @@ -0,0 +1,112 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Leistung", "Anlagenanzahl"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["2010", "2015", "2020", "2023", "Dein\nSzenario**"] + }, + "yAxis": [ + { + "type": "value", + "max": 3000, + "axisLabel": { + "formatter": "{value} MW" + } + }, + { + "type": "value", + "max": 30000, + "name": "Anzahl" + } + ], + "series": [ + { + "name": "Leistung", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#efad25", + "data": [ + 43, + 126, + 278, + 374, + { + "value": 1000, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 0, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#7f5a0f", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1440, + "label": { + "formatter": "Leistungsziel Brandenburg 2030 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + }, + { + "yAxis": 2640, + "label": { + "formatter": "Leistungsziel Brandenburg 2040 *", + "color": "#7f5a0f", + "position": "insideStartTop" + } + } + ] + } + }, + { + "name": "Anlagenanzahl", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#333" + }, + "color": "#ffd660", + "data": [ + 2713, + 5377, + 8106, + 15625, + { + "value": 0, + "itemStyle": { + "color": "#FBEEAE" + } + } + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/charts/wind_areas.json b/digiplan/map/charts/wind_areas.json new file mode 100644 index 00000000..d44e155b --- /dev/null +++ b/digiplan/map/charts/wind_areas.json @@ -0,0 +1,110 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Fläche (ha)", "% der Regionsfläche"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["Regionalplan\n2018", "Entwurf\n2024", "Dein\nSzenario*"] + }, + "yAxis": [ + { + "type": "value", + "max": 12000, + "axisLabel": { + "formatter": "{value} ha" + } + }, + { + "type": "value", + "max": 3, + "axisLabel": { + "formatter": "{value} %" + } + } + ], + "series": [ + { + "name": "Fläche (ha)", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#6A89CC", + "data": [ + 7391, + 8988, + { + "value": 10000, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 0 + }, + { + "name": "% der Regionsfläche", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#b6caf3", + "data": [ + 1.62, + 1.97, + { + "value": 2, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 1, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#495e8a", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1.8, + "label": { + "formatter": "Ziel WindBG 2027", + "color": "#495e8a", + "position": "insideStartTop" + } + }, + { + "yAxis": 2.2, + "label": { + "formatter": "Ziel WindBG 2032", + "color": "#495e8a", + "position": "insideStartTop" + } + } + ] + } + } + ] +} diff --git a/digiplan/map/charts/wind_capacity.json b/digiplan/map/charts/wind_capacity.json new file mode 100644 index 00000000..421780f5 --- /dev/null +++ b/digiplan/map/charts/wind_capacity.json @@ -0,0 +1,112 @@ +{ + "tooltip": { + "trigger": "axis", + "axisPointer": { + "type": "shadow" + } + }, + "legend": { + "data": ["Leistung", "Anlagenanzahl"] + }, + "grid": { + "top": "10%", + "left": "3%", + "right": "3%", + "bottom": "10%", + "containLabel": true + }, + "xAxis": { + "type": "category", + "data": ["2010", "2015", "2020", "2023", "Dein\nSzenario*"] + }, + "yAxis": [ + { + "type": "value", + "max": 2500, + "axisLabel": { + "formatter": "{value} MW" + } + }, + { + "type": "value", + "max": 1500, + "name": "Anzahl" + } + ], + "series": [ + { + "name": "Leistung", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#6A89CC", + "data": [ + 519, + 601, + 752, + 1070, + { + "value": 2000, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 0, + "markLine": { + "symbol": "none", + "lineStyle": { + "color": "#495e8a", + "type": "dashed", + "width": 2 + }, + "data": [ + { + "yAxis": 1769, + "label": { + "formatter": "Leistungsziel Brandenburg 2030", + "color": "#495e8a", + "position": "insideStartTop" + } + }, + { + "yAxis": 2308, + "label": { + "formatter": "Leistungsziel Brandenburg 2040", + "color": "#495e8a", + "position": "insideStartTop" + } + } + ] + } + }, + { + "name": "Anlagenanzahl", + "type": "bar", + "label": { + "show": true, + "position": "inside", + "rotate": 90, + "color": "#fff" + }, + "color": "#b6caf3", + "data": [ + 303, + 340, + 386, + 458, + { + "value": 308, + "itemStyle": { + "color": "#BAE1F6" + } + } + ], + "yAxisIndex": 1 + } + ] +} diff --git a/digiplan/map/views.py b/digiplan/map/views.py index 3bf5c794..c440c69a 100644 --- a/digiplan/map/views.py +++ b/digiplan/map/views.py @@ -86,34 +86,68 @@ def get_context_data(self, **kwargs) -> dict: } context["sources"] = categorized_sources context["store_cold_init"] = config.STORE_COLD_INIT + + context["wind_capacity"] = charts.Chart("wind_capacity").render() + context["wind_areas"] = charts.Chart("wind_areas").render() + context["pv_ground_capacity"] = charts.Chart("pv_ground_capacity").render() + context["pv_ground_areas"] = charts.Chart("pv_ground_areas").render() + context["pv_roof_capacity"] = charts.Chart("pv_roof_capacity").render() + context["pv_roof_areas"] = charts.Chart("pv_roof_areas").render() context["detailed_overview"] = charts.Chart("detailed_overview").render() - context["ghg_overview"] = charts.Chart("ghg_overview").render() context["electricity_overview"] = charts.Chart("electricity_overview").render() context["electricity_autarky"] = charts.Chart("electricity_autarky").render() context["heat_decentralized"] = charts.Chart("heat_decentralized").render() context["heat_centralized"] = charts.Chart("heat_centralized").render() - context["ghg_history"] = charts.Chart("ghg_history").render() - context["ghg_reduction"] = charts.Chart("ghg_reduction").render() context["onboarding_wind"] = charts.Chart("onboarding_wind").render() context["onboarding_pv_ground"] = charts.Chart("onboarding_pv_ground").render() context["onboarding_pv_roof"] = charts.Chart("onboarding_pv_roof").render() # TODO(Hendrik Huyskens): Replace result boxes with results after simulation run # https://github.com/empowerplan/epp-app/issues/34 - context["results_electricity"] = forms.ResultsBox( - "82,8 %", - "des Stroms aus erneuerbaren Quellen in 2040", + context["results_electricity_energy"] = forms.ResultsBox( + "4 TWh", + "Strom werden aus Wind und Photovoltaik erzeugt", + category="electricity", + ) + context["results_electricity_autarky"] = forms.ResultsBox( + "50 %", + "der Zeit wird der Strombedarf komplett aus regionalen erneuerbaren Quellen gedeckt", + category="electricity", + ) + context["results_electricity_area"] = forms.ResultsBox( + "4 %", + "der Regionsfläche werden für Windenergie und Photovoltaik verwendet", category="electricity", ) context["results_heat"] = forms.ResultsBox("50,0 %", "...", category="heat") - context["results_wind"] = forms.ResultsBox( - "42,8 %", - "der Landesfläche für die Windenergienutzung in 2040", + context["results_wind_goal"] = forms.ResultsBox( + "80 %", + "der Brandenburger Ausbauziele 2040 werden erreicht", + category="wind", + ) + context["results_wind_area"] = forms.ResultsBox( + "2,5 %", + "der Regionsfläche werden für die Windenergie verwendet", category="wind", ) - context["results_pv"] = forms.ResultsBox( - "35,8 %", - "des Stroms aus erneuerbaren Quellen in 2040", + context["results_wind_demand_share"] = forms.ResultsBox( + "50 %", + "des Strombedarfs werden durch Windstrom gedeckt", + category="wind", + ) + context["results_pv_goal"] = forms.ResultsBox( + "80 %", + "der Brandenburger Ausbauziele 2040 werden erreicht", + category="pv", + ) + context["results_pv_area"] = forms.ResultsBox( + "1,1 %", + "der Regionsfläche werden für Freiflächen-PV verwendet", + category="pv", + ) + context["results_pv_demand_share"] = forms.ResultsBox( + "30 %", + "des Strombedarfs werden durch PV-Strom gedeckt", category="pv", ) context["results_mobility"] = forms.ResultsBox("22,8 %", "...", category="mobility") diff --git a/digiplan/static/js/charts.js b/digiplan/static/js/charts.js index 3c78e0b1..3165a9e9 100644 --- a/digiplan/static/js/charts.js +++ b/digiplan/static/js/charts.js @@ -1,24 +1,20 @@ // Goals & scenarios, initioalize charts -// const renewable_share_goal_div = document.getElementById("renewable_share_goal_chart"); -// const renewable_share_goal_chart = echarts.init(renewable_share_goal_div); -// const co2_emissions_goal_div = document.getElementById("co2_emissions_goal_chart"); -// const co2_emissions_goal_chart = echarts.init(co2_emissions_goal_div); -// const renewable_share_scenario_div = document.getElementById("renewable_share_scenario_chart"); -// const renewable_share_scenario_chart = echarts.init(renewable_share_scenario_div); -// const co2_emissions_scenario_div = document.getElementById("co2_emissions_scenario_chart"); -// const co2_emissions_scenario_chart = echarts.init(co2_emissions_scenario_div); // Results view, initiliaze charts // const detailed_overview_chart = echarts.init(document.getElementById("detailed_overview_chart")); -// const ghg_overview_chart = echarts.init(document.getElementById("ghg_overview_chart")); +const wind_capacity_chart = echarts.init(document.getElementById("wind_capacity_chart")); +const wind_areas_chart = echarts.init(document.getElementById("wind_areas_chart")); +const pv_ground_capacity_chart = echarts.init(document.getElementById("pv_ground_capacity_chart")); +const pv_ground_areas_chart = echarts.init(document.getElementById("pv_ground_areas_chart")); +const pv_roof_capacity_chart = echarts.init(document.getElementById("pv_roof_capacity_chart")); +const pv_roof_areas_chart = echarts.init(document.getElementById("pv_roof_areas_chart")); + const electricity_overview_chart = echarts.init(document.getElementById("electricity_overview_chart")); const electricity_autarky_chart = echarts.init(document.getElementById("electricity_autarky_chart")); // const mobility_overview_chart = echarts.init(document.getElementById("mobility_overview_chart")); // const mobility_THG_chart = echarts.init(document.getElementById("mobility_THG_chart")); const heat_decentralized_chart = echarts.init(document.getElementById("heat_decentralized_chart")); const heat_centralized_chart = echarts.init(document.getElementById("heat_centralized_chart")); -const ghg_history_chart = echarts.init(document.getElementById("ghg_history_chart")); -const ghg_reduction_chart = echarts.init(document.getElementById("ghg_reduction_chart")); // Onboarding Charts const onboarding_wind_div = document.getElementById("onboarding_wind_chart"); @@ -66,232 +62,23 @@ const chart_legend = { itemHeight: 10 }; -// Goal variables -// const renewable_share_goal_value = 90; -// const co2_emissions_goal_value = 30; - -// CHARTS -const renewable_share_goal = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - xAxis: { - type: 'category', - data: ['2022', 'Szenario'], - axisTick: { - show: false, - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - barWidth: chart_bar_width_sm, - data: [ - { - value: 30, - itemStyle: { - color: '#D8E2E7' - } - }, - { - value: 90, - itemStyle: { - color: '#06DFA7' - } - }, - ], - // markLine: { - // silent: true, - // lineStyle: { - // color: '#06DFA7', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: renewable_share_goal_value, - // label: { - // show: false - // } - // }] - // } - }, - ], -}; - -const co2_emissions_goal = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - legend: chart_legend, - xAxis: { - type: 'category', - data: ['Szenario'], - axisTick: { - show: false - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - name: 'Regional', - stack: 'reduc', - color: '#06DFA7', - barWidth: chart_bar_width_sm, - data: [50], - }, - { - type: 'bar', - name: 'Import', - stack: 'reduc', - color: '#E8986B', - barWidth: chart_bar_width_sm, - data: [20], - }, - // markLine: { - // silent: true, - // lineStyle: { - // color: '#E8986B', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: co2_emissions_goal_value, - // label: { - // show: false - // } - // }] - // } - ], -}; - -const renewable_share_scenario = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - xAxis: { - type: 'category', - data: ['2022', 'Szenario'], - axisTick: { - show: false, - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - barWidth: chart_bar_width_sm, - data: [ - { - value: 30, - itemStyle: { - color: '#D8E2E7' - } - }, - { - value: 90, - itemStyle: { - color: '#06DFA7' - } - }, - ], - // markLine: { - // silent: true, - // lineStyle: { - // color: '#06DFA7', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: renewable_share_goal_value, - // label: { - // show: false - // } - // }] - // } - }, - ], -}; - -const co2_emissions_scenario = { - grid: chart_grid_goal, - tooltip: chart_tooltip, - textStyle: chart_text_style, - legend: chart_legend, - xAxis: { - type: 'category', - data: ['Szenario'], - axisTick: { - show: false - }, - axisLabel: {fontSize: 9}, //, rotate: 20}, - }, - yAxis: { - show: true, - type: 'value', - maxValueSpan: '100' - }, - series: [ - { - type: 'bar', - name: 'Regional', - stack: 'reduc', - color: '#06DFA7', - barWidth: chart_bar_width_sm, - data: [50], - }, - { - type: 'bar', - name: 'Import', - stack: 'reduc', - color: '#E8986B', - barWidth: chart_bar_width_sm, - data: [20], - }, - // markLine: { - // silent: true, - // lineStyle: { - // color: '#E8986B', - // type: 'solid' - // }, - // symbol: 'none', - // data: [{ - // yAxis: co2_emissions_goal_value, - // label: { - // show: false - // } - // }] - // } - ], -}; +// CHARTS -> defined in /map/charts/ // get options for result view charts // const detailed_overview_option = JSON.parse(document.getElementById("detailed_overview").textContent); -// const ghg_overview_option = JSON.parse(document.getElementById("ghg_overview").textContent); +const wind_capacity_option = JSON.parse(document.getElementById("wind_capacity").textContent); +const wind_areas_option = JSON.parse(document.getElementById("wind_areas").textContent); +const pv_ground_capacity_option = JSON.parse(document.getElementById("pv_ground_capacity").textContent); +const pv_ground_areas_option = JSON.parse(document.getElementById("pv_ground_areas").textContent); +const pv_roof_capacity_option = JSON.parse(document.getElementById("pv_roof_capacity").textContent); +const pv_roof_areas_option = JSON.parse(document.getElementById("pv_roof_areas").textContent); + const electricity_overview_option = JSON.parse(document.getElementById("electricity_overview").textContent); const electricity_autarky_option = JSON.parse(document.getElementById("electricity_autarky").textContent); // const mobility_overview_option = JSON.parse(document.getElementById("mobility_overview").textContent); // const mobility_ghg_option = JSON.parse(document.getElementById("mobility_ghg").textContent); const heat_decentralized_option = JSON.parse(document.getElementById("heat_decentralized").textContent); const heat_centralized_option = JSON.parse(document.getElementById("heat_centralized").textContent); -const ghg_history_option = JSON.parse(document.getElementById("ghg_history").textContent); -const ghg_reduction_option = JSON.parse(document.getElementById("ghg_reduction").textContent); // get options for onboarding charts const onboarding_wind_option = JSON.parse(document.getElementById("onboarding_wind").textContent); @@ -300,43 +87,39 @@ const onboarding_pv_roof_option = JSON.parse(document.getElementById("onboarding function resizeCharts() { setTimeout(function () { - // renewable_share_goal_chart.resize(); - // co2_emissions_goal_chart.resize(); - // renewable_share_scenario_chart.resize(); - // co2_emissions_scenario_chart.resize(); // detailed_overview_chart.resize(); - // ghg_overview_chart.resize(); + wind_capacity_chart.resize(); + wind_areas_chart.resize(); + pv_ground_capacity_chart.resize(); + pv_ground_areas_chart.resize(); + pv_roof_capacity_chart.resize(); + pv_roof_areas_chart.resize(); electricity_overview_chart.resize(); electricity_autarky_chart.resize(); // mobility_overview_chart.resize(); // mobility_THG_chart.resize(); heat_decentralized_chart.resize(); heat_centralized_chart.resize(); - ghg_history_chart.resize(); - ghg_reduction_chart.resize(); onboarding_wind_chart.resize(); onboarding_pv_ground_chart.resize(); onboarding_pv_roof_chart.resize(); }, 200); } -// Goals & scenarios, setOptions -// renewable_share_goal_chart.setOption(renewable_share_goal); -// co2_emissions_goal_chart.setOption(co2_emissions_goal); -// renewable_share_scenario_chart.setOption(renewable_share_scenario); -// co2_emissions_scenario_chart.setOption(co2_emissions_scenario); - // Results, setOptions // detailed_overview_chart.setOption(detailed_overview_option); -// ghg_overview_chart.setOption(ghg_overview_option); +wind_capacity_chart.setOption(wind_capacity_option); +wind_areas_chart.setOption(wind_areas_option); +pv_ground_capacity_chart.setOption(pv_ground_capacity_option); +pv_ground_areas_chart.setOption(pv_ground_areas_option); +pv_roof_capacity_chart.setOption(pv_roof_capacity_option); +pv_roof_areas_chart.setOption(pv_roof_areas_option); electricity_overview_chart.setOption(electricity_overview_option); electricity_autarky_chart.setOption(electricity_autarky_option); // mobility_overview_chart.setOption(mobility_overview_option); // mobility_THG_chart.setOption(mobility_ghg_option); heat_decentralized_chart.setOption(heat_decentralized_option); heat_centralized_chart.setOption(heat_centralized_option); -ghg_history_chart.setOption(ghg_history_option); -ghg_reduction_chart.setOption(ghg_reduction_option); // onboarding Charts onboarding_wind_chart.setOption(onboarding_wind_option); diff --git a/digiplan/static/js/results.js b/digiplan/static/js/results.js index 6975f927..dcf2825c 100644 --- a/digiplan/static/js/results.js +++ b/digiplan/static/js/results.js @@ -20,11 +20,12 @@ const PRE_RESULTS = [ ]; const resultCharts = { - electricity_overview: "electricity_overview_chart", - electricity_autarky: "electricity_autarky_chart", - ghg_reduction: "ghg_reduction_chart", - heat_centralized: "heat_centralized_chart", - heat_decentralized: "heat_decentralized_chart", + "wind_capacity": "wind_capacity_chart", + "wind_areas": "wind_areas_chart", + "pv_ground_capacity": "pv_ground_capacity_chart", + "pv_ground_areas": "pv_ground_areas_chart", + "pv_roof_capacity": "pv_roof_capacity_chart", + "pv_roof_areas": "pv_roof_areas_chart", }; // Setup diff --git a/digiplan/templates/components/panel_2_today.html b/digiplan/templates/components/panel_2_today.html index 580b3483..dd79a558 100644 --- a/digiplan/templates/components/panel_2_today.html +++ b/digiplan/templates/components/panel_2_today.html @@ -1,28 +1,5 @@ {% load static i18n %} - - - - - - - - - - - - - - - - - - - - - - -

diff --git a/digiplan/templates/components/panel_5_results.html b/digiplan/templates/components/panel_5_results.html index 5af3c55a..c75c8f73 100644 --- a/digiplan/templates/components/panel_5_results.html +++ b/digiplan/templates/components/panel_5_results.html @@ -1,25 +1,5 @@ {% load static i18n %} - - - - - - - - - - - - - - - - - - - -
diff --git a/digiplan/templates/components/results_view.html b/digiplan/templates/components/results_view.html index ab2da88b..19e8a931 100644 --- a/digiplan/templates/components/results_view.html +++ b/digiplan/templates/components/results_view.html @@ -10,7 +10,7 @@ {{ results_co2 }}
- {{ results_wind }} + {{ results_wind_capacity }}
@@ -38,13 +38,13 @@

{% translate "Übersicht" %}

- {{ results_wind }} + {{ results_wind_goal }}
- {{ results_wind }} + {{ results_wind_area }}
- {{ results_wind }} + {{ results_wind_demand_share }}
@@ -54,15 +54,17 @@

{% translate "Windenergie" %}

-
{% translate "Erzeugung aus Windenergie" %}
+
{% translate "Installierte Leistung und Anlagenanzahl" %}
+
- {% translate "Bruttostromerzeugung aus Erneuerbaren Energien nach Technologie und Nettostromverbrauch (ohne Wärme) nach Sektor für 2022, Dein Szenario und einem Zielszenario für 2045. Die Ziele für Erzeugung und Verbrauch sind abgeleitet aus den BMWK Langfristszenarien, den Ausbauzielen nach EEG 2023 und dem Windenergieflächenbedarfsgesetz für Sachsen-Anhalt.

* Für den Import und Export liegen keine Daten für 2022 oder Zielvorgaben für 2045 vor, diese werden daher auf Null gesetzt." noop %} + {% translate "Installierte Windleistung und Anlagen bisher und in Deinem Szenario. Die Ziellinien gelten für die Leistung und sind flächengewichtet abgeleitet aus der Energiestrategie Brandenburg 2040: 15,4 % von 11.500 MW (2030) bzw 15.000 MW (2040).

* Für die Berechnung der Anzahl wird eine Leistung von 6,5 MW je Windenergieanlage angenommen." noop %}
-
{% translate "Regionale Unabhängigkeit (ohne Wärme) mittels Erneuerbarer Energien" %}
+
{% translate "Flächenbedarf" %}
+
- {% translate "Relative Eigenversorgung aus EE-Strom (ohne Wärmebedarf) heute und in Deinem Szenario. Hierbei heißt bilanziell der Anteil des Strombedarfs, der bilanziell über 1 Jahr über regionale Erzeuger gedeckt werden kann. Unter zeitgleich wird der Anteil der Stunden im Jahr dargestellt, in denen die Stromerzeugung den Bedarf übersteigt, die Region sich also selbst versorgen kann." noop %} + {% translate "Flächenbedarf in Hektar und % der Regionsfläche. Daten aus Regionalplan 2018, dem Teilregionalplan EE 2024 und in Deinem Szenario: Die Ziellinien beschrieben die gesetzlich verankerten Ziele im Windenergieflächenbedarfsgesetz.

* Für die Berechnung der benötigten Fläche wird ein Flächenbedarf von 4,2 ha/MW bzw. eine Leistungsdichte von 24 MW/km² angenommen." noop %}
@@ -72,31 +74,52 @@

{% translate "Windenergie" %}

- {{ results_pv }} + {{ results_pv_goal }}
- {{ results_pv }} + {{ results_pv_area }}
- {{ results_pv }} + {{ results_pv_demand_share }}
-

{% translate "Photovoltaik" %}

+

{% translate "Freiflächen-Photovoltaik" %}

-
{% translate "Erzeugung aus Photovoltaik" %}
+
{% translate "Installierte Leistung und Anlagenanzahl" %}
+
- {% translate "Bruttostromerzeugung aus Erneuerbaren Energien nach Technologie und Nettostromverbrauch (ohne Wärme) nach Sektor für 2022, Dein Szenario und einem Zielszenario für 2045. Die Ziele für Erzeugung und Verbrauch sind abgeleitet aus den BMWK Langfristszenarien, den Ausbauzielen nach EEG 2023 und dem Windenergieflächenbedarfsgesetz für Sachsen-Anhalt.

* Für den Import und Export liegen keine Daten für 2022 oder Zielvorgaben für 2045 vor, diese werden daher auf Null gesetzt." noop %} + {% translate "Installierte Leistung von Freiflächen-PV bisher und in Deinem Szenario.

* Die Ziellinien sind flächengewichtet abgeleitet aus der Energiestrategie Brandenburg 2040: 15,4 % von 18.000 MW (2030) bzw 33.000 MW (2040) unter der Annahme, dass 48 % der PV-Leistung auf Freiflächen entfällt.
** Aufgrund sehr unterschiedlicher Anlagengrößen wird keine Anzahl angegeben." noop %}
-
{% translate "Regionale Unabhängigkeit (ohne Wärme) mittels Erneuerbarer Energien" %}
+
{% translate "Flächenbedarf in Deinem Szenario" %}
+
- {% translate "Relative Eigenversorgung aus EE-Strom (ohne Wärmebedarf) heute und in Deinem Szenario. Hierbei heißt bilanziell der Anteil des Strombedarfs, der bilanziell über 1 Jahr über regionale Erzeuger gedeckt werden kann. Unter zeitgleich wird der Anteil der Stunden im Jahr dargestellt, in denen die Stromerzeugung den Bedarf übersteigt, die Region sich also selbst versorgen kann." noop %} + {% translate "Flächenbedarf in Hektar und % der Regionsfläche in Deinem Szenario.

Klassische PV: Hier werden die Module auf Acker- und Grünland geringer Bodengüte (Soil Quality Rating < 40) in Reihen niedrig aufgeständert.
Agri-PV (vertikal): Hier werden Acker- und Grünland mittlerer Bodengüte (Soil Quality Rating 50-70) sowohl landwirtschaftlich als auch energetisch genutzt. Es werden in Reihen aufgeständerte bifaziale, vertikale Module eingesetzt.
Agri-PV (Dauerkolturen): Hier werden Dauerkulturen mit Solarmodulen überdacht." noop %} +
+
+
+
+

{% translate "Aufdach-Photovoltaik" %}

+
+
+
+
{% translate "Installierte Leistung" %}
+
+
+ {% translate "Installierte Leistung von PV-Anlagen auf Dächern bisher und in Deinem Szenario.

* Die Ziellinien sind flächengewichtet abgeleitet aus der Energiestrategie Brandenburg 2040: 15,4 % von 18.000 MW (2030) bzw 33.000 MW (2040) unter der Annahme, dass 52 % der PV-Leistung auf Dachanlagen entfällt.
** Aufgrund sehr unterschiedlicher Anlagengrößen wird keine Anzahl angegeben." noop %} +
+
+
+
{% translate "Flächenbedarf in Deinem Szenario" %}
+
+
+ {% translate "Flächenbedarf in Hektar und % des PV-Aufdachpotenzials." noop %}
@@ -106,13 +129,13 @@

{% translate "Photovoltaik" %}

- {{ results_electricity }} + {{ results_electricity_energy }}
- {{ results_electricity }} + {{ results_electricity_autarky }}
- {{ results_electricity }} + {{ results_electricity_area }}
@@ -125,14 +148,14 @@

{% translate "Electricity" %}

{% translate "Erzeugung aus Erneuerbaren Energien und Verbrauch" %}
- {% translate "Bruttostromerzeugung aus Erneuerbaren Energien nach Technologie und Nettostromverbrauch (ohne Wärme) nach Sektor für 2022, Dein Szenario und einem Zielszenario für 2045. Die Ziele für Erzeugung und Verbrauch sind abgeleitet aus den BMWK Langfristszenarien, den Ausbauzielen nach EEG 2023 und dem Windenergieflächenbedarfsgesetz für Sachsen-Anhalt.

* Für den Import und Export liegen keine Daten für 2022 oder Zielvorgaben für 2045 vor, diese werden daher auf Null gesetzt." noop %} + {% translate "Bruttostromerzeugung aus Erneuerbaren Energien nach Technologie und Nettostromverbrauch (ohne Wärme) nach Sektor für 2023, Dein Szenario und den Zielen der Energiestrategie Brandenburg 2040.

* Für den Import und Export liegen keine Daten für 2023 oder Zielvorgaben vor, diese werden daher auf Null gesetzt." noop %}
-
{% translate "Regionale Unabhängigkeit (ohne Wärme) mittels Erneuerbarer Energien" %}
+
{% translate "Regionale Unabhängigkeit (ohne Wärme) mittels Strom aus erneuerbaren Energien" %}
- {% translate "Relative Eigenversorgung aus EE-Strom (ohne Wärmebedarf) heute und in Deinem Szenario. Hierbei heißt bilanziell der Anteil des Strombedarfs, der bilanziell über 1 Jahr über regionale Erzeuger gedeckt werden kann. Unter zeitgleich wird der Anteil der Stunden im Jahr dargestellt, in denen die Stromerzeugung den Bedarf übersteigt, die Region sich also selbst versorgen kann." noop %} + {% translate "Relative Eigenversorgung aus EE-Strom (ohne Wärmebedarf) 2023 und in Deinem Szenario. Hierbei heißt bilanziell der Anteil des Strombedarfs, der bilanziell über 1 Jahr über regionale Erzeuger gedeckt werden kann. Unter zeitgleich wird der Anteil der Stunden im Jahr dargestellt, in denen die Stromerzeugung den Bedarf übersteigt, die Region sich also selbst versorgen kann." noop %}
@@ -280,14 +303,12 @@

{% translate "Abschätzung CO2-Emissionen" %}

{% translate "Sachsen-Anhalt und Abschätzung in ABW" %}
-
{% translate "Die THG-Emissionen für die Region ABW werden näherungsweise anhand unterschiedlicher Kriterien und Datenquellen aus den Gesamtemissionen für Sachsen-Anhalt (THG-Bericht 2021) von 1990 und 2019 disaggregiert. Die sektorale Unterteilung orientiert sich an diesem Bericht.
Der energiebedingte Sektor stellt den größten Emissionsverursacher dar und gliedert sich hier in die Untersektoren Energiewirtschaft, Industrie, Verkehr sowie \"Sonstige Energie\" (insbesondere Gebäude)." noop %}
{% translate "Abschätzung der regionalen Beitrags an der Reduktion in Deinem Szenario in ABW*" %}
-
{% translate "* Die Reduktion der Emissionen bezieht sich nur auf Energiewirtschaft, den energetischen Anteil der Industrie sowie Gebäude.

Der linke Balken zeigt die Emissionen in der Region ABW in 2019 (vgl. Diagramm links).
Den BMWK Langfristszenarien folgend wird bis 2045 von einer vollständigen Dekarbonisierung ausgegangen. Die dargestellte Reduktion bleibt demnach konstant und Emissionen werden anhand der in Ihrem Energiesystem erzeugte Energiemenge in regionale Erzeugung und Importe unterteilt.
Es wird davon ausgegangen, dass die importierten Energieträger nachhaltig produziert sind (z.B. nachhaltige Holzproduktion) und eingesetzte Technologien keine Vorkettenemissionen erzeugen. Unvermeidbare Restemissionen werden durch negative Emissionen wie z.B. Moor-Wiedervernässung, Wiederaufforstung und CCS ausgeglichen. In der Realtität steigt die Wahrscheinlichkeit, die Nullemissionen nicht zu erreichen mit dem Grad der Importe, da über die Produktionsart der Produkte kaum Kontrolle ausgeübt werden kann." noop %}
diff --git a/digiplan/templates/map.html b/digiplan/templates/map.html index d2686dcf..d4272d73 100644 --- a/digiplan/templates/map.html +++ b/digiplan/templates/map.html @@ -27,6 +27,7 @@ EmPowerPlan Logo +
Die App befindet sich noch in Entwicklung