Lopende mediaan filter
Sommige datasets beschrijven vloeiende processen, die toch zo nu en dan bochten vertonen.Bijvoorbeeld positiegegevens van een schip.
Een schip vaart een rechte koers die in de praktijk onder invloed van wind en stroming een flauwe boog beschrijft.
Tussen deze rechte koersen (of raaien) zitten koersveranderingen
De GPS-gegevens zulen bij een scherpe bocht een beetje uitschieten (uit de bocht vliegen) door de Kalmann filter die in de GPS zit.
Het is dus eigenlijk onmogelijk om achteraf te bepalen waar een koersverandering precies heeft plaatsgevonden, omdat juist dit punt niet als hoek in de GPS dataset zit.
Achteraf zou je de nieuwe koers kunnen terugextrapoleren tot het snijpunt met de oude koers.
Ik heb ervoor gekozen om dat anders te doen:
De reden is dat je op die manier een punt maakt dat meestal niet in de oorspronkelijke dataset voorkomt (het ligt dan tussen 2 punten in)
In het streven naar datereductie bereik je het tegenovergestelde...
Een mediaanfilter neemt uit de dataset een steekproef waarbij n oneven is.
Sorteert deze subset en bepaald de mediaan.
Door deze filter te laten lopen over de gehele dataset ontstaat een nieuwe gepolijste dataset die een deelverzameling is van de oorspronkelijke datatset (alleen aan de randen is er wat verlies, maar dat is doorgaans geen bezwaar)
Bij hele grote datasets is vooral het steeds opnieuw sorteren van de steekproef een tijdrovend klusje voor de computer.
Om die reden is er een routine in machinetaal ontwikkeld die dit razendsnel doet.
In geografische datasets moet dit ook nog in 2 dimensies gebeuren die ook nog van schaal verschillen (in oost-west richting is 1 boogseconde cos(lat)*NM en in de noord-zuid is 1 boogseconde 1 NM)
Dit wordt ondervangen door de steekproef in de oost-west richting evenredig kleiner te maken.
Mediaanfilters worden verder in de praktijk alleen gebruikt voor digitalebeeldbewerking.