
Een digitaal hoogtemodel (DEM) is een rasterbeeld van een deel van de wereld, voorgesteld door een matrix, waarin elke pixel een hoogte (in meter) boven de zeespiegel voorstelt.
Het digitaal hoogtemodel wordt beschreven in een .csv bestand, bijvoorbeeld hoge_venen_dem.csv.
Digitale hoogtemodellen kunnen gebruikt worden om de locaties van berg- en heuveltoppen te bepalen. Een top kan je definiëren als een plaats waarvoor geldt dat de hoogte ervan groter is dan de hoogtes van alle omringende plaatsen (zoals aangegeven in de figuur hierboven).
Schrijf drie functies:
De functie lees_bestand(bn) leest een .csv bestand is, met het digitaal hoogtemodel zoals hiervoor beschreven. Deze functie geef een lijst van lijsten terug, die alle hoogtes bevat als gehele getallen.
De logische functie is_top(randen) bepaalt voor een 3x3 raster randenof het middelste punt van het 3x3 raster een top is. Je moet niet controleren of randen een correct 3x3-raster voorstelt. We zijn enkel geïnteresseerd in toppen boven de zeespiegel, dus een ‘negatieve’ hoogte kan geen top zijn.
De functie bepaal_toppen(raster) die voor een correct raster met hoogtemeters een lijst opstelt van alle berg- en heuveltoppen in het digitaal hoogtemodel. De lijst bevat tuples met de rij- en kolomindex van elke top.
>>> raster = lees_bestand("hoge_venen_dem.csv" "")
>>> bepaal_toppen(raster)
[(25, 25)]