{"version":3,"file":"main.js","sources":["../../scrollconfig.mjs","../../main.mjs"],"sourcesContent":["const demcolor = 'magma';\n\nfunction flyto(map, config, rescale) {\n config.essential = true;\n config.screenSpeed = 0.5;\n map.getSource('src_ahn5').tiles = [`https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_5m.tiff&rescale=${rescale[0]}%2C${rescale[1]}&colormap_name=${demcolor}`];\n map.getSource('src_ahn5_dem').tiles = [`https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_5m.tiff&rescale=${rescale[0]}%2C${rescale[1]}`];\n map.getSource('src_ahn05').tiles = [`https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_05m_dtm_cog.tiff&rescale=${rescale[0]}%2C${rescale[1]}&colormap_name=${demcolor}`];\n map.getSource('src_ahn05_dem').tiles = [`https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_05m_dtm_cog.tiff&rescale=${rescale[0]}%2C${rescale[1]}`];\n map.flyTo(config);\n}\n\nexport const config = {\n title: \"Verhalen in het Landschap\",\n subtitle: \"waarin een plat land minder plat is dan het lijkt\",\n byline: \"door Tom van Tilburg\",\n footer: \"voorbeeld scrollytelling van: https://demos.mapbox.com/scrollytelling/\",\n chapters: [{\n id: \"chapt-1\",\n title: \"de Morfologie\",\n description:\n `\n
Nederland is best plat.
\n Behalve een paar heuvels in Limburg bestaat ons landschap overwegend uit moeras en glooiende zandruggen. De kleine oneffenheden die we alsnog tegenkomen noemen we de 'Morfologie' (vorm) van het landschap.
Nederland kent een interessante morfologie. Ook al is het land een van de platste ter wereld, ons gebrek aan bergen wordt gecompenseerd door de subtiele hoogteverschillen in het landschap die elk een boeiende geschiedenis vertellen.
\n Met het Actueel Hoogtebestand van Nederland kan je al die vormen mooi in beeld brengen, tot de kleinste details aan toe.\n Elke paar jaar wordt in Nederland een nieuwe versie van dit hoogtemodel uitgegeven en in dit artikel probeer ik je door middel van een aantal voorbeelden mee te nemen door deze data.
\n Sommige vormen zijn cultureel van aard, zoals forten, groeves en dijken en anderen zijn juist natuurlijk van aard zoals zoals smeltwaterdalen, wadden en duinen. Ik heb geprobeerd de vormen in chronologische tijd van ontstaan op volgorde te zetten waarbij we van de ijstijd tienduizenden jaar geleden tot aan het race circuit van zandvoort gaan.\n
\n In de laatste ijstijd zag Nederland er anders uit. Doordat er bijna geen planten stonden en de ondergrond permanent bevroren was stroomde het smeltwater in de lente door grote dalen vanaf de Veluwe naar beneden.\n Op de rand van de Veluwe ligt het Herinkhuizerveld waar je dit landschap van droge dalen nog goed kunt zien.
\n
\n Een landschap van eindeloos vertakkende geultjes waarin het getij op en neer gaat. \n
Het was vroeger vruchtbaar bouwland maar na de grote vloed van 1570 werd het land grotendeels verlaten en kreeg de zee vrij spel.\n Link\n
\n Hoewel de betuwe er tussen de dijken enorm vlak uit ziet, verraden de kleine glooiingen dat er eindeloos veel oude rivierarmen hebben gelopen. \n Deze stroomruggen liggen nu als aders in het landschap.\n
\n `,\n onChapterEnter: [{\n func: function (response, map) {\n flyto(map, { center: [5.04882651, 51.91612596], zoom: 14, bearing: 0 }, [-1, 1]);\n }\n }],\n onChapterExit: [],\n onchange: null\n }, {\n id: 'deel2',\n title: 'het menselijke landschap',\n onChapterEnter: [],\n onChapterExit: []\n }, {\n id: 'Karrensporen',\n title: 'Middeleeuwen - Karrensporen',\n image: `\n Je kijkt naar het Balloerveld bij Assen. Er valt zoveel te zien in dit plaatje maar misschien wel het meest opvallend zijn de karrensporen die van links naar rechts door het landschap lopen.\n
De sporen ontstonden doordat getrokken wagens hier achter elkaar door het zand ploegden en over de jaren heen telkens een nieuw pad uitsleten.\n
Rechts zie je ook nog kleine hoekige structuren die nog veel ouder zijn. Deze zogenaamde 'Raatakkers' uit de ijzertijd (800-50 v.Chr.) waren kleine akkertjes.\n
en die grote kraters onder in beeld? Dat zijn Pingo-ruines. Restanten van de ijstijd waarin grote bellen van ijs voorkwamen die een gepokt landschap achter lieten.\n
\n Op een verhoogde landtond tussen Groningen en Duitsland ligt het vestingstadje Boertange. \n In eerste instantie een schans gebouwd door Willem van Oranje maar in de loop der jaren meerdere keren hernieuwd. Behalve het stervormige wallenpatroon zie je ook dat de vesting zelf op een verhoging in de omgeving ligt.\n
`,\n onChapterEnter: [{\n func: function (response, map) {\n flyto(map, { center: [7.19474291, 53.00542907], zoom: 15, bearing: 0 }, [4.5, 11]);\n }\n }],\n onChapterExit: [],\n onchange: null\n },\n {\n id: 'Schokland',\n title: '1942 - Eiland in de polder',\n image: `\n Bij het indijken van de Noordoostpolder werden er twee eilanden onderdeel van het vaste land. \n Maar als je op de hoogtedata kijkt zie je dat het eigenlijk nog steeds eilanden in een zee van plat boerenland zijn.\n
Hier zie je het UNESCO erfgoed Schokland. Links de restanten van de haven en de vuurtoren en helemaal rechts de fundamenten van het oude kerkje.\n
\n Geinspireerd op de Pyramide van Gizeh (true story) liet in 1804 een Franse generaal zijn verveelde soldaten een pyramide aanleggen van zand en plaggen in het midden van de Utrechtse Heuvelrug.\n In het hoogtemodel is deze puist in het landschap niet te missen en je kunt zelfs zien tot waar de soldaten het zand rondom de pyramide vandaan hebben weggeschept.\n
\n `,\n onChapterEnter: [{\n func: function (response, map) {\n flyto(map, { center: [5.34276374, 52.09042777], zoom: 17, bearing: 0 }, [35, 67]);\n }\n }],\n onChapterExit: [],\n onchange: null\n },\n {\n id: 'Zandvoort',\n image: `Naast een van de mooiste natuurlijke gebieden van Nederland, de Kennemerduinen, werd in de tweede wereldoorlog een race circuit in de duinen aangelegd. \n
Rechts van en boven het circuit kan je ook nog de restanten zien van oude akkertjes in het duin\n
\n Meer voorbeelden van gebruik van het AHN of geotiffs op:\n
\n \n\n Voor vragen, opmerkingen of correcties: tom.van.tilburg -at- geodan.nl \n `,\n onChapterEnter: [{\n func: function (response, map) {\n flyto(map, { center: [5.40944328, 52.16775491], zoom: 7,bearing: 0}, [-10, 100]);\n }\n }\n ],\n onChapterExit: [],\n onChapterProgress: function (response, self) {\n\n }\n }\n ]\n};","import { config } from './scrollconfig.mjs'\n\nlet mymap = new maplibregl.Map({\n container: 'map', // container id\n style: {\n 'version': 8,\n 'sources': {\n 'src_ahn5':{\n 'type': 'raster',\n 'tiles': [\n 'https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_5m.tiff&bidx=1&rescale=-5%2C50&colormap_name=magma'\n ],\n 'tileSize': 256,\n 'attribution': 'AHN3'\n },\n 'src_ahn5_dem': {\n 'type': 'raster-dem',\n 'tiles': [\n 'https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_5m.tiff&rescale=-2%2C100'\n ],\n 'tileSize': 256,\n 'attribution': 'AHN3'\n },\n 'src_ahn05': {\n 'type': 'raster',\n 'tiles': [\n 'https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_05m_dtm_cog.tiff&bidx=1&rescale=-10%2C10&colormap_name=magma'\n ],\n 'tileSize': 256,\n 'attribution': 'AHN3'\n },\n 'src_ahn05_dem': {\n 'type': 'raster-dem',\n 'tiles': [\n 'https://services.beta.geodan.nl/cache/titiler/cog/tiles/WebMercatorQuad/{z}/{x}/{y}@1x?url=https%3A%2F%2Fstorage.googleapis.com%2Fahp-research%2Frasters%2Fahn3_05m_dtm_cog.tiff&rescale=-2%2C100'\n ],\n 'tileSize': 256,\n 'attribution': 'AHN3'\n }\n },\n 'layers': [\n {\n 'id': 'ahn5',\n 'type': 'raster',\n 'source': 'src_ahn5',\n 'minzoom': 0,\n 'maxzoom': 15,\n 'visibility': 'none',\n 'paint': {\n \"raster-opacity\": 1\n }\n },\n {\n 'id': 'ahn05',\n 'type': 'raster',\n 'source': 'src_ahn05',\n 'minzoom': 13,\n 'maxzoom': 22,\n 'visibility': 'none',\n 'paint': {\n \"raster-opacity\": 1\n }\n },{\n 'id': 'hillshading5m',\n 'source': 'src_ahn5_dem',\n 'minzoom': 0,\n 'maxzoom': 13,\n 'type': 'hillshade',\n 'layout': { 'visibility': \"visible\" },\n 'paint': {\n \"hillshade-exaggeration\": 0.05,\n \"hillshade-shadow-color\": \"#473B24\",\n },\n },{\n 'id': 'hillshading',\n 'source': 'src_ahn05_dem',\n 'minzoom': 13,\n 'maxzoom': 22,\n 'type': 'hillshade',\n 'layout': { 'visibility': \"visible\" },\n 'paint': {\n \"hillshade-exaggeration\": 0.05,\n \"hillshade-shadow-color\": \"#473B24\",\n },\n }\n ]\n },\n\n center: [6.2, 52.2], // starting position [lng, lat]\n zoom: 7 // starting zoom\n});\nmymap.on('zoomstart', () => {\n});\nmymap.on('zoomend', () => {\n});\n\nvar alignments = {\n 'left': 'lefty',\n 'center': 'centered',\n 'right': 'righty'\n}\n\n\nvar story = document.getElementById('story');\n\nvar features = document.createElement('div');\nfeatures.classList.add(alignments[config.alignment]);\nfeatures.setAttribute('id', 'features');\nvar header = document.createElement('div');\nconfig.theme = \"geodan\";\n\nif (config.title) {\n var titleText = document.createElement('h1');\n titleText.innerText = config.title;\n header.appendChild(titleText);\n}\n\nif (config.subtitle) {\n var subtitleText = document.createElement('h2');\n subtitleText.innerText = config.subtitle;\n header.appendChild(subtitleText);\n}\n\nif (config.byline) {\n var bylineText = document.createElement('p');\n bylineText.innerText = config.byline;\n header.appendChild(bylineText);\n}\n\nif (header.innerText.length > 0) {\n header.classList.add(config.theme);\n header.setAttribute('id', 'header');\n story.appendChild(header);\n}\n\nconfig.chapters.forEach((record, idx) => {\n var container = document.createElement('div');\n container.setAttribute('class', 'righty');\n var chapter = document.createElement('div');\n\n if (record.image) {\n var image = document.createElement('div');\n image.innerHTML = record.image;\n\n chapter.appendChild(image);\n }\n\n var content = document.createElement('div');\n content.setAttribute(\"class\", \"content\");\n\n if (record.title) {\n var title = document.createElement('h3');\n title.innerText = record.title;\n content.appendChild(title);\n }\n\n if (record.description) {\n var story = document.createElement('p');\n story.innerHTML = record.description;\n content.appendChild(story);\n }\n\n chapter.appendChild(content);\n\n container.setAttribute('id', record.id);\n container.classList.add('step');\n if (idx === 0) {\n container.classList.add('active');\n }\n\n chapter.classList.add(config.theme);\n container.appendChild(chapter);\n features.appendChild(container);\n});\n\nstory.appendChild(features);\n\n\n/*\nvar footer = document.createElement('div');\n\nif (config.footer) {\n var footerText = document.createElement('p');\n footerText.innerHTML = config.footer;\n footer.appendChild(footerText);\n}\n\nif (footer.innerText.length > 0) {\n footer.classList.add(config.theme);\n footer.setAttribute('id', 'footer');\n story.appendChild(footer);\n} \n*/\n\nconst transformRequest = (url) => {\n const hasQuery = url.indexOf(\"?\") !== -1;\n const suffix = hasQuery ? \"&pluginName=journalismScrollytelling\" : \"?pluginName=journalismScrollytelling\";\n return {\n url: url// + suffix\n }\n}\n\n// instantiate the scrollama\nvar scroller = scrollama();\n\n// setup the instance, pass callback functions\nscroller\n .setup({\n step: '.step',\n offset: 0.5,\n progress: true\n })\n .onStepProgress(response => {\n let chapteridx = config.chapters.findIndex(chap => chap.id === response.element.id);\n let chapter = config.chapters[chapteridx];\n if (chapter.onChapterProgress) {\n chapter.onChapterProgress(response);\n }\n })\n .onStepEnter(response => {\n response.element.classList.add('active');\n let chapteridx = config.chapters.findIndex(chap => chap.id === response.element.id);\n let chapter = config.chapters[chapteridx];\n let prevchapter = config.chapters[chapteridx - 1];\n if (chapter.onChapterEnter) {\n chapter.onChapterEnter.forEach(d => {\n if (d.func) {\n d.func(response, mymap);\n }\n })\n }\n })\n .onStepExit(response => {\n\n response.element.classList.remove('active');\n let chapteridx = config.chapters.findIndex(chap => chap.id === response.element.id);\n let chapter = config.chapters[chapteridx];\n let prevchapter = config.chapters[chapteridx - 1];\n if (chapter.onChapterExit) {\n chapter.onChapterExit.forEach(d => {\n if (d.func) {\n d.func(response);\n }\n })\n }\n });\n\n// setup resize event\nwindow.addEventListener('resize', scroller.resize);"],"names":[],"mappings":"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"}