Reel genanvendelse
Hvert år håndterer DIN Forsyning cirka 53.500 tons affald. Det er enten hentet af skraldemændene ude hos kunderne, eller afleveret af kunderne til os via vores miljøstationer og genbrugspladser.
I de mange tons er der både noget, som kan genanvendes og noget, som ikke kan. Al restaffald bliver fx kørt til et forbrændingsanlæg, hvor det bliver til strøm og fjernvarme (men det tæller ikke som genanvendelse). Andet som fx madaffald og metal kan genanvendes næsten 100 %.
Error executing template "/Designs/Paragraph/Chart_B2.cshtml" System.Net.WebException: The remote server returned an error: (404) Not Found. at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) at System.Net.WebClient.DownloadString(Uri address) at CompiledRazorTemplates.Dynamic.RazorEngine_c6bb5a98fd88493da2cde259fbb12127.AffaldsVidenFunc.GetReelGenanvendelse(Int32 months) in C:\home\site\wwwroot\DinForsyning\Files\Templates\Designs\Paragraph\Chart_B2.cshtml:line 104 at CompiledRazorTemplates.Dynamic.RazorEngine_c6bb5a98fd88493da2cde259fbb12127.Execute() in C:\home\site\wwwroot\DinForsyning\Files\Templates\Designs\Paragraph\Chart_B2.cshtml:line 188 at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @using System.Net 2 @using System.Text 3 @functions{ 4 public class AffaldsVidenFunc { 5 // private static readonly string API_KEY = "Hdj!^$Pn9Dl*uXTeZ&7fZEmdPG9s&Yg4DQMy13yw"; 6 // 7 // public static Newtonsoft.Json.Linq.JToken GetHKode(string kommune, string hkode) { 8 // var cacheKey = "AffaldsVidenFunc:GetHKode(" + kommune + ", " + hkode + ")"; 9 // var result = default(Newtonsoft.Json.Linq.JToken); 10 // 11 // if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 12 // using (var wc = new WebClient()) { 13 // wc.Headers["X-API-KEY"] = API_KEY; 14 // wc.Encoding = Encoding.UTF8; 15 // 16 // var json = wc.DownloadString("https://api.affaldsviden.info/kommune-" + kommune + "/hkode-" + hkode); 17 // 18 // result = Newtonsoft.Json.Linq.JToken.Parse(json); 19 // 20 // Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 21 // AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(5.0) 22 // }); 23 // } 24 // } 25 // 26 // return result; 27 // } 28 // 29 // public static Newtonsoft.Json.Linq.JToken GetGenbrugsprocent(string kommune) { 30 // var cacheKey = "AffaldsVidenFunc:GetGenbrugsprocent(" + kommune + ")"; 31 // var result = default(Newtonsoft.Json.Linq.JToken); 32 // 33 // if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 34 // using (var wc = new WebClient()) { 35 // wc.Headers["X-API-KEY"] = API_KEY; 36 // wc.Encoding = Encoding.UTF8; 37 // 38 // var json = wc.DownloadString("https://api.affaldsviden.info/kommune-" + kommune + "/genbrugsprocent"); 39 // 40 // result = Newtonsoft.Json.Linq.JToken.Parse(json); 41 // 42 // Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 43 // AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(5.0) 44 // }); 45 // } 46 // } 47 // 48 // return result; 49 // } 50 // 51 // public static Newtonsoft.Json.Linq.JToken GetMadaffaldTilEl(string kommune) { 52 // var cacheKey = "AffaldsVidenFunc:GetMadaffaldTilEl(" + kommune + ")"; 53 // var result = default(Newtonsoft.Json.Linq.JToken); 54 // 55 // if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 56 // using (var wc = new WebClient()) { 57 // wc.Headers["X-API-KEY"] = API_KEY; 58 // wc.Encoding = Encoding.UTF8; 59 // 60 // var json = wc.DownloadString("https://api.affaldsviden.info/kommune-" + kommune + "/madaffald-til-el"); 61 // 62 // result = Newtonsoft.Json.Linq.JToken.Parse(json); 63 // 64 // Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 65 // AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(5.0) 66 // }); 67 // } 68 // } 69 // 70 // return result; 71 // } 72 73 public static Newtonsoft.Json.Linq.JToken GetMadaffaldTilEl(int months) { 74 var cacheKey = "AffaldsVidenFunc:GetMadaffaldTilEl(" + months + ")"; 75 var result = default(Newtonsoft.Json.Linq.JToken); 76 77 if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 78 using (var wc = new WebClient()) { 79 wc.Headers["Authorization"] = "Basic VmFyZGU6ZExsXjdeRUR5a0VkNDl1amYk"; 80 wc.Encoding = Encoding.UTF8; 81 82 var json = wc.DownloadString("https://affaldsviden.info/vardeapi.php?madaffald-til-el=" + months); 83 84 result = Newtonsoft.Json.Linq.JToken.Parse(json); 85 86 Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 87 AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(5.0) 88 }); 89 } 90 } 91 92 return result; 93 } 94 95 public static Newtonsoft.Json.Linq.JToken GetReelGenanvendelse(int months) { 96 var cacheKey = "AffaldsVidenFunc:GetReelGenanvendelse(" + months + ")"; 97 var result = default(Newtonsoft.Json.Linq.JToken); 98 99 if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 100 using (var wc = new WebClient()) { 101 wc.Headers["Authorization"] = "Basic VmFyZGU6ZExsXjdeRUR5a0VkNDl1amYk"; 102 wc.Encoding = Encoding.UTF8; 103 104 var json = wc.DownloadString("https://affaldsviden.info/vardeapi.php?reel-genanvendelse=" + months); 105 106 result = Newtonsoft.Json.Linq.JToken.Parse(json); 107 108 Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 109 AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60.0 * 12) 110 }); 111 } 112 } 113 114 return result; 115 } 116 117 public static Newtonsoft.Json.Linq.JToken GetReelGenanvendelseYear() { 118 var cacheKey = "AffaldsVidenFunc:GetReelGenanvendelseYear()"; 119 var result = default(Newtonsoft.Json.Linq.JToken); 120 121 if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 122 using (var wc = new WebClient()) { 123 wc.Headers["Authorization"] = "Basic VmFyZGU6ZExsXjdeRUR5a0VkNDl1amYk"; 124 wc.Encoding = Encoding.UTF8; 125 126 var json = wc.DownloadString("https://affaldsviden.info/vardeapi.php?reel-genanvendelse-year"); 127 128 result = Newtonsoft.Json.Linq.JToken.Parse(json); 129 130 Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 131 AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60.0 * 12) 132 }); 133 } 134 } 135 136 return result; 137 } 138 139 public static Newtonsoft.Json.Linq.JToken GetDe10Fraktioner(int months) { 140 var cacheKey = "AffaldsVidenFunc:GetDe10Fraktioner(" + months + ")"; 141 var result = default(Newtonsoft.Json.Linq.JToken); 142 143 if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 144 using (var wc = new WebClient()) { 145 wc.Headers["Authorization"] = "Basic VmFyZGU6ZExsXjdeRUR5a0VkNDl1amYk"; 146 wc.Encoding = Encoding.UTF8; 147 148 var json = wc.DownloadString("https://affaldsviden.info/vardeapi.php?de-10-fraktioner=" + months); 149 150 result = Newtonsoft.Json.Linq.JToken.Parse(json); 151 152 Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 153 AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(5.0) 154 }); 155 } 156 } 157 158 return result; 159 } 160 161 public static Newtonsoft.Json.Linq.JToken GetDe10FraktionerYear() { 162 var cacheKey = "AffaldsVidenFunc:GetDe10FraktionerYear()"; 163 var result = default(Newtonsoft.Json.Linq.JToken); 164 165 if (!Dynamicweb.Caching.Cache.Current.TryGet<Newtonsoft.Json.Linq.JToken>(cacheKey, out result)) { 166 using (var wc = new WebClient()) { 167 wc.Headers["Authorization"] = "Basic VmFyZGU6ZExsXjdeRUR5a0VkNDl1amYk"; 168 wc.Encoding = Encoding.UTF8; 169 170 var json = wc.DownloadString("https://affaldsviden.info/vardeapi.php?de-10-fraktioner-year"); 171 172 result = Newtonsoft.Json.Linq.JToken.Parse(json); 173 174 Dynamicweb.Caching.Cache.Current.Set(cacheKey, result, new Dynamicweb.Caching.CacheItemPolicy { 175 AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(5.0) 176 }); 177 } 178 } 179 180 return result; 181 } 182 } 183 } 184 @{ 185 var paragraphId = GetInteger("ParagraphID"); 186 var pageId = GetInteger("ParagraphPageID"); 187 188 var jTkn = AffaldsVidenFunc.GetReelGenanvendelse(12); 189 var pcts = jTkn?.Select(o => { 190 var pct = (double)o["Genanvendelse"] * 100.0; 191 192 return new { 193 DT = new DateTime(int.Parse((string)o["year"]), int.Parse((string)o["month"]), 1), 194 Percent = pct > 0.0 ? (double?)pct : (double?)null 195 }; 196 }).OrderBy(o => o.DT).ToArray(); 197 } 198 199 <div class="col-sm-12"> 200 <div id="chart_@(paragraphId)" style="margin-bottom: 20px;"></div> 201 </div> 202 203 <style type="text/css"> 204 #chart_@(paragraphId) .highcharts-color-0 { fill: #2a7927; stroke: #2a7927; } 205 </style> 206 <script src="https://cdn.jsdelivr.net/npm/highcharts@8.2.2/highcharts.js"></script> 207 <script type="text/javascript"> 208 $(function() { 209 var chartOpt = { 210 chart: { 211 type : 'column', 212 spacing : [30, 20, 30, 20], 213 borderWidth : 1, 214 borderColor : '#2d3587', 215 height : 500, 216 style : { 217 fontFamily : "'MuseoSans-300', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'" 218 }, 219 }, 220 221 credits: { 222 enabled: false 223 }, 224 225 legend: { 226 enabled: false 227 }, 228 229 title: { 230 text : 'Genanvendelse af affald fra Varde Kommune', 231 margin : 20, 232 233 style: { 234 color : '#2d3587', 235 fontSize : '20px', 236 fontWeight : 'bold' 237 } 238 }, 239 240 plotOptions: { 241 series: { 242 dataLabels: { 243 enabled : true, 244 useHTML : true, 245 format : '{point.y:.2f}%', 246 crop : false, 247 overflow : 'allow', 248 249 style: { 250 color : '#2d3587', 251 fontSize : '12px', 252 fontWeight : 'bold' 253 } 254 } 255 } 256 }, 257 258 tooltip: { 259 enabled : false, 260 valueDecimals : 3, 261 shared : true, 262 useHTML : true, 263 backgroundColor : '#f7f7f7', 264 headerFormat : '<span style="font-size: 10px">{point.key}</span><table>', 265 pointFormat : '<tr><td><i class="fa fa-circle" style="color: {point.color};" aria-hidden="true"></i> {series.name}: </td><td style="text-align: right"><b>{point.y}%</b></td></tr>', 266 footerFormat : '</table>' 267 }, 268 269 xAxis: { 270 crosshair : true, 271 categories : @(Newtonsoft.Json.JsonConvert.SerializeObject(pcts?.Select(o => o.DT.ToString("MMM yyyy")))) 272 }, 273 274 yAxis: { 275 labels: { 276 format: '{value}%' 277 }, 278 title: { 279 text: null 280 } 281 }, 282 283 series: [{ 284 data: @(Newtonsoft.Json.JsonConvert.SerializeObject(pcts?.Select(o => o.Percent))) 285 }] 286 }; 287 288 var chart = Highcharts.chart('chart_@(paragraphId)', chartOpt); 289 }); 290 </script>
Denne graf viser, hvor meget af affaldet, hvor meget der indsamles til genanvendelse. Det er vigtigt for os at hjælpe kunderne med at få genanvendt så meget som overhovedet muligt. Økonomien spiller en rolle, da det er dyrt at få brændt affald af, men det miljømæssige regnskab spiller mindst en lige så stor rolle, hvis ikke en større. Jo mere vores kunder kan genanvende, jo mindre ressourcer skal der fx trækkes ud miner og olieboringer.
Små sving skyldes afsætning
Genanvendelsesprocenten varierer lidt hver måned. Det er fordi AFLD, som står for efterbehandlingen af affaldet, søger efter de bedste tidspunkter at afsætte affaldet på. Så de kan godt lagre noget affald i nogle måneder, for at afsætte det, når prisen er bedst. Derfor bør tallet per måned tages med de forbehold.
Ikke at forveksle med genanvendelsesprocenten
EU har stillet krav om, at mere af vores indsamlede husholdningsaffald skal genanvendes. Derfor har man opfundet et begreb, som kaldes ”genanvendelsesprocenten”, der dækker over syv fokusfraktioner (madaffald, papir-, pap-, glas-, træ-, plast- og metalaffald).
Den ovenstående graf viser genanvendelsen af al indsamlet affald – og dermed også flere affaldstyper end de syv, som vi bliver målt på igennem Miljøstyrelsens Affaldsdatasystem.
Ovenstående graf viser:
| Madaffald + papir + pap + metal + glas + plast + træ + haveaffald + farligt affald + tekstiler + elektronik + batterier + mad & drikkekartoner | ||
|
|
= | reel genanvendelse i procent |
| restaffald + forbrændingsegnet affald + storskald + ovennævnte i alt |
Kom med input
Vi vil gerne gøre denne side endnu mere relevant for dig. Har du nogle data, du mangler, så skriv til webmaster@dinforsyning.dk. Så kan vi tage dine input med videre og udvikle siden.