Lekken slim opsporen

Lekken slim opsporen

Eind 2020 gooiden we een nieuwe troef in de strijd tegen lekverliezen: de slimme lekdetectiesoftware van Hydroware.

De lekdetectiesoftware vergelijkt continu het ‘real-time’ waterverbruik en het ‘normale’ waterverbruik dat voorspeld wordt door slimme algoritmen. “Het systeem detecteert afwijkingen in het waterverbruik in deelgebieden van het leidingnet. Het signaleert tegelijk welke we prioritair moeten aanpakken: waar doet zich het grootste lekverlies voor?”, legt Filip Vancoillie uit. Deze software werd ontwikkeld door Hydroware, een consortium van 2 Belgische bedrijven.

introductie foto Lekken slim opsporen

‘The last mile’

De slimme software biedt meerdere voordelen: “Zo kunnen we veel meer data automatisch nakijken. We kunnen ook de mensen op het terrein beter aansturen, door hen daarheen te sturen waar ze het dringendst nodig zijn. We hebben een team van 25 medewerkers om ‘the last mile’ te gaan, en het waterlek te lokaliseren tot op enkele tientallen centimeter nauwkeurig.”

Gefaseerde uitrol

De slimme lekopsporing wordt in fasen uitgerold. Er werd in december 2020 gestart in 100 registreerzones, afgebakende gebieden in het leidingnet waarbij we de ingaande waterstroom meten. Dat aantal breiden we de komende jaren geleidelijk uit tot het volledige voorzieningsgebied van De Watergroep, naar ruim 400 registreerzones.

function swipedetect(el, callback){ var touchsurface = el, swipedir, startX, startY, distX, distY, threshold = 200, //required min distance traveled to be considered swipe restraint = 100, // maximum distance allowed at the same time in perpendicular direction allowedTime = 300, // maximum time allowed to travel that distance elapsedTime, startTime, handleswipe = callback || function(swipedir){} touchsurface.addEventListener('touchstart', function(e){ var touchobj = e.changedTouches[0] swipedir = 'none' dist = 0 startX = touchobj.pageX startY = touchobj.pageY startTime = new Date().getTime() // record time when finger first makes contact with surface e.preventDefault() }, false) touchsurface.addEventListener('touchmove', function(e){ e.preventDefault() // prevent scrolling when inside DIV }, false) touchsurface.addEventListener('touchend', function(e){ var touchobj = e.changedTouches[0] distX = touchobj.pageX - startX // get horizontal dist traveled by finger while in contact with surface distY = touchobj.pageY - startY // get vertical dist traveled by finger while in contact with surface elapsedTime = new Date().getTime() - startTime // get time elapsed if (elapsedTime <= allowedTime){ // first condition for awipe met if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint){ // 2nd condition for horizontal swipe met swipedir = (distX < 0)? 'left' : 'right' // if dist traveled is negative, it indicates left swipe } else if (Math.abs(distY) >= threshold && Math.abs(distX) <= restraint){ // 2nd condition for vertical swipe met swipedir = (distY < 0)? 'up' : 'down' // if dist traveled is negative, it indicates up swipe } } handleswipe(swipedir) e.preventDefault() }, false) } window.addEventListener('load', function(){ var el = document.getElementById('prevnextbar') var nextpage = document.getElementById('nextpage') var prevpage = document.getElementById('prevpage') swipedetect(el, function(swipedir){ if (swipedir != 'right'){ prevpage.click() } if (swipedir != 'left'){ nextpage.click() } }) }, false)