diff --git a/docs/aalst.md b/docs/aalst.md index 2024c43..cff7a09 100644 --- a/docs/aalst.md +++ b/docs/aalst.md @@ -5,8 +5,9 @@ title: Aalst ```js const jaaroverzicht = FileAttachment("data/jaaroverzicht.csv").csv({typed: true}); const sites = FileAttachment("data/sites.csv").csv({typed: true}); +const in_out = FileAttachment("data/inOutData.csv").csv({typed: true}); - +import {doubleBarHorizontal} from "./components/dailyVolume.js"; import {overviewYearWeekday} from "./components/overviewYear.js"; import {createMap} from "./components/mapUtils.js"; @@ -50,6 +51,8 @@ import {createMap} from "./components/mapUtils.js"; createMap(sites, 19); ``` +## Jaaroverzicht +```html
Het jaaroverzicht bevestigt het vermoeden dat deze fietsroute vaak wordt gebruikt, met dagelijkse aantallen variërend van ongeveer 100 tot 1000. Bovendien blijkt dat er tijdens de warmere maanden meer fietsers op de weg zijn, wat duidelijk wordt door de donkerdere plekken in het midden van het jaar. Echter, dit is niet het enige opvallende. Op 27/03/2022 is er aanzienlijk meer activiteit van fietsers dan op andere momenten. Een mogelijke verklaring hiervoor is een grootschalig wielerevenement, zoals blijkt uit een beetje onderzoek. Het blijkt dat op die dag de Valckenier Classic 2022 XXL plaatsvond, waarvan het parcours ook door Aalst liep. @@ -59,4 +62,23 @@ createMap(sites, 19); ${resize((width) => overviewYearWeekday(jaaroverzicht, parseInt(19), width))}
- \ No newline at end of file + +``` + +## Inkomend en uitgaand verkeerd + +```js +const inOutData = in_out.filter(item => item.siteID === 19).sort((a, b) => new Date(a.timeframe) > new Date(b.timeframe)) +``` + +```html +
+
+ Overigens is deze locatie wel een mooi voorbeeld van ochtend en avondspits. + Zo zie je dat er 's ochtends vooral uitgaand verkeer is en 's avonds vooral inkomend. +
+
+
${resize((width) => doubleBarHorizontal(inOutData, {width}))}
+
+
+``` \ No newline at end of file diff --git a/docs/components/historyPlot.js b/docs/components/historyPlot.js index dbd0c31..c45166e 100644 --- a/docs/components/historyPlot.js +++ b/docs/components/historyPlot.js @@ -97,7 +97,7 @@ export function plotNormalizedData(normalizedSiteCumulativeCountsGemeente, start marks: [ ...lines, ], - title: "Procentuele verandering van cumulatief gemiddelde ten opzichte van initiële maand" + title: "Procentuele verandering van cumulatief gemiddelde ten opzichte van januari" }); } @@ -183,4 +183,4 @@ export function getFistAndSecondTrendYears(cumulatieveCounts, firstTrend, second maxY, totalMothsCount: 12 } -} \ No newline at end of file +} diff --git a/docs/components/mapUtils.js b/docs/components/mapUtils.js index a21b192..b11c90d 100644 --- a/docs/components/mapUtils.js +++ b/docs/components/mapUtils.js @@ -20,7 +20,6 @@ function createPopUp(d) { return 'Site ID: ' + d.siteID + '
' + 'Naam site: ' + d.naam + '
' + 'Naam gemeente: ' + d.gemeente + '
' + - 'Interval tellingen: ' + d.interval + "minuten" + '
' + extractInstallationDate(d) } diff --git a/docs/explore.md b/docs/explore.md index 03e7339..b660418 100644 --- a/docs/explore.md +++ b/docs/explore.md @@ -18,6 +18,7 @@ const in_out = FileAttachment("data/inOutData.csv").csv({typed: true}); const jaaroverzicht = FileAttachment("data/jaaroverzicht.csv").csv({typed: true}); const cumulatieveCounts = FileAttachment("data/cumulativeMeanPerMonth.json").json(); +import {createMap} from "./components/mapUtils.js"; import {overviewYearMonth, overviewYearWeekday} from "./components/overviewYear.js"; import {doubleBarHorizontal} from "./components/dailyVolume.js"; import {estimatedOverview} from "./components/estimatedOverview.js"; @@ -43,7 +44,10 @@ const names = Array.from(siteIDs.keys()).sort(); # Explore it yourself ```html
-

Hier kan je zelf spelen

+

+ Hier kan je zelf experimenteren. + De volgende visualisaties zijn afhankelijk van welke site je kiest. +

``` @@ -51,49 +55,24 @@ const names = Array.from(siteIDs.keys()).sort(); ```js let selectedSite = view(Inputs.select(names, {value: "Gent"})) ``` - - -## Gemiddeld aantal tellingen per meetpunt ```js let selectedSiteId = siteIDs.get(selectedSite) ``` -```html -
-

- Over het algemeen is bij de meeste punten de volgende trend te zien: - rond 8h is er een toename van fietsers in beide richtingen, dit zal de ochtendspits zijn van iedereen die naar het werk moet. - De avondspits is meer uitgesmeerd aangezien sommige mensen langer werken of misschien nog een activiteit hebben na het werk. - Sommige meetpunten liggen langs een grote baan, en zijn gesplitst in 2 stations. Hierdoor is er een asymmetrie tussen het binnenkomende en uitgaande verkeer. - Een paar voorbeelden hiervan zijn 'Ardooie teller 1' en 'Ardooie teller 2'. - De oriëntatie van de teller is ook niet altijd consistent zoals bijvoorbeeld bij 'Brasschaat 2' en 'Brasschaat 1' -

-

${selectedSite}:

-
-``` - - - -```js -let data = in_out.filter(item => item.siteID === selectedSiteId).sort((a, b) => new Date(a.timeframe) > new Date(b.timeframe)) -``` - -
- -
${resize((width) => doubleBarHorizontal(data, {width}))}
- -
- ## Drukte ```js -const drukte_data = jaaroverzicht.filter(d => d.siteID === 13).sort((a,b) => new Date(b.datum) - new Date(a.datum)) +const drukte_data = jaaroverzicht.filter(d => d.siteID === selectedSiteId).sort((a,b) => new Date(b.datum) - new Date(a.datum)) ``` -```html +```html
-

tekst

+

+ Om een gevoel te krijgen wanneer de drukkere periodes zijn aan een gegeven tellingespunt, hebben we volgende grafiek gemaakt. + Hierop kan je zien hoeveel fietsers er ongeveer op deze plaats passeren op een bepaalde periode. + Het is hier direct mogelijk om te zien wanneer de drukke en rustigere periodes zijn. +

@@ -104,6 +83,33 @@ const drukte_data = jaaroverzicht.filter(d => d.siteID === 13).sort((a,b) => new
``` +## Gemiddeld aantal inkomende en uitgaande fietsers + +```js +const inOutData = in_out.filter(item => item.siteID === selectedSiteId).sort((a, b) => new Date(a.timeframe) > new Date(b.timeframe)) +``` + +```html +
+

+ Er wordt ook bijgehouden in welke richting fietsers passeren langs een telpunt. + Dit wordt weergegeven in de volgende grafiek. + Hier tonen we het gemiddelde aantal fietsers, opgesplitst naar de richting waarin ze fietsen. + Deze grafiek kan worden gebruikt om te beoordelen of dit fietspad voornamelijk wordt gebruikt tijdens de ochtend- en avondspits. +

+

+ Sommige meetpunetn liggen echter langs een brede baan, waardoor ze gesplitst zijn. + Hierdoor kan er dus soms asymmetrie zijn tussen het binnenkomende en uitgaande verkeer. + Een paar voorbeelden hiervan zijn 'Ardooie teller 1' en 'Ardooie teller 2'. + Ook de oriëntatie van de teller is ook niet altijd consistent zoals bijvoorbeeld bij 'Brasschaat 2' en 'Brasschaat 1' +

+
+
+
${resize((width) => doubleBarHorizontal(inOutData, {width}))}
+
+
+``` + ## Jaaroverzicht ```js @@ -114,28 +120,29 @@ const SelectedYearInput = Inputs.select(all_years) const selectedYear = Generators.input(SelectedYearInput) ``` +```html +
+
+
${SelectedYearInput}
+
-
-
${SelectedYearInput}
-
- -
-
- ${resize((width) => overviewYearMonth(jaaroverzicht, parseInt(selectedYear), parseInt(selectedSiteId), width))} -
-
+
+
+ ${resize((width) => overviewYearMonth(jaaroverzicht, parseInt(selectedYear), parseInt(selectedSiteId), width))} +
+
-
-
- ${resize((width) => overviewYearWeekday(jaaroverzicht, parseInt(selectedSiteId), width))} -
+
+
+ ${resize((width) => overviewYearWeekday(jaaroverzicht, parseInt(selectedSiteId), width))} +
+
+
+``` - ## Trend fietstellingen
Patronen, in dit geval trends genoemd, worden zichtbaar gedurende een bepaalde periode. We concentreren ons hier op trends die zich binnen één jaar voordoen. Door deze trends te onderzoeken, kunnen we veel leren over de groei en afname van fietsers in een bepaalde gemeente gedurende deze periode.
@@ -163,26 +170,34 @@ const secondTrend = view(Inputs.select(possibleSencondTrends), {value: possibleS ```js const trendCompareData = getTrendCompareData(cumulatieveCounts, year, firstTrend, secondTrend); +const fistAndSecondTrendYears = getFistAndSecondTrendYears(cumulatieveCounts, firstTrend, secondTrend) ``` -
-
-
${resize((width) => plotNormalizedData(trendCompareData.filteredObj, trendCompareData.startDate, trendCompareData.gemeenteActiveSince, trendCompareData.totalMothsCount, {width: width}))}
-
-
Over het algemeen is opmerkelijk dat er een aanzienlijke groei is tijdens de lente- en zomermaanden, naarmate het weer verbetert. Bovendien is er een duidelijke overgang naar de koudere herfst- en wintermaanden te zien, gekenmerkt door een significante neerwaartse trend.
+
+
+
${resize((width) => plotNormalizedData(trendCompareData.filteredObj, trendCompareData.startDate, trendCompareData.gemeenteActiveSince, trendCompareData.totalMothsCount, {width: width}))}
+
-```js -// all years after year for first trend -const fistAndSecondTrendYears = getFistAndSecondTrendYears(cumulatieveCounts, firstTrend, secondTrend) -``` +```html +
+

+ Naast de vergelijking tussen 2 gemeentes, hebben we ook een trend die eenzelfde gemeente vergelijkt door de jaren heen. +

+
-
${resize((width) => plotNormalizedData(fistAndSecondTrendYears.firstTrendsYears, trendCompareData.startDate, trendCompareData.gemeenteActiveSince, fistAndSecondTrendYears.totalMothsCount, {width: width}, fistAndSecondTrendYears.firstTrendActiveSince, fistAndSecondTrendYears.minY, fistAndSecondTrendYears.maxY))}
-
${resize((width) => plotNormalizedData(fistAndSecondTrendYears.secondTrendsYears, trendCompareData.startDate, trendCompareData.gemeenteActiveSince, fistAndSecondTrendYears.totalMothsCount, {width: width}, fistAndSecondTrendYears.secondTrendActiveSince, fistAndSecondTrendYears.minY, fistAndSecondTrendYears.maxY))}
+
${resize((width) => plotNormalizedData(fistAndSecondTrendYears.firstTrendsYears, trendCompareData.startDate, trendCompareData.gemeenteActiveSince, fistAndSecondTrendYears.totalMothsCount, {width: width}, fistAndSecondTrendYears.firstTrendActiveSince, fistAndSecondTrendYears.minY, fistAndSecondTrendYears.maxY))}
+
${resize((width) => plotNormalizedData(fistAndSecondTrendYears.secondTrendsYears, trendCompareData.startDate, trendCompareData.gemeenteActiveSince, fistAndSecondTrendYears.totalMothsCount, {width: width}, fistAndSecondTrendYears.secondTrendActiveSince, fistAndSecondTrendYears.minY, fistAndSecondTrendYears.maxY))}
-
Ook het effect van de coronaperiode is waarneembaar. In 2020 begint de groei van fietsgebruik langzamer, wat toe te wijten is aan de start van de lockdown in maart. Dit fenomeen is ook duidelijk zichtbaar in de grafiek van de drukte. In latere jaren blijft de groei meestal rond dezelfde maanden plaatsvinden.
+
+

+ Mogelijks is ook het effect van de coronaperiode waarneembaar. + In 2020 zien we duidelijk een zwakke groei en soms zelfs een daling in maart. + Dit kan erop wijzen dat de lockdown net begon en mensen binnen bleven. + Opvallend is echter de enorme groei die we zien in april. + Dit zou de oorzaak kunnen zijn van mensen die na verloop van tijd in lockdown veel zijn gaan fietsen. +

+
+``` - \ No newline at end of file diff --git a/docs/gent.md b/docs/gent.md index 3729307..c934bfd 100644 --- a/docs/gent.md +++ b/docs/gent.md @@ -42,12 +42,12 @@ import {plotNormalizedData, getTrendCompareData, getFistAndSecondTrendYears} fro

- Hier bekijken we specifiek de info over de Gent site. - Dit meetpunt bevindt zich op de fietssnelweg naast de R5 rond Gent en bestaat al sinds 22 augustus 2019. + Hier bekijken we specifiek de info over de Gent-site. + Dit meetpunt bevindt zich langs de fietssnelweg naast de R4 rond Gent en bestaat al sinds 22 augustus 2019.

- Je zou verwachten dat dit soort fietspaden vooral gebruikt worden door mensen die naar hun werk fietsen en studenten die naar school gaan. - Dit is ook wat we in onderstaande grafieken zullen aantonen. + Je zou veronderstellen dat dit soort fietspaden voornamelijk gebruikt worden voor woon-werkverkeer en studenten. + Dit is ook wat we in de onderstaande grafieken zullen illustreren.

@@ -70,9 +70,9 @@ const drukte_data = jaaroverzicht.filter(d => d.siteID === 13).sort((a,b) => new

- Hier zien we algemene drukte van het fietspad over de tijd dat het meetpunt bestaat. - Het valt hier direct al op dat het fietspad vooral gebruikt wordt tussen de maanden april/juni en september/November. - Ook valt het op dat er bijna elke zomer een grote daling is van de drukte. + De grafiek toont de algemene drukte op het fietspad gedurende de periode dat het meetpunt operationeel is. + Het is meteen duidelijk dat het fietspad voornamelijk wordt gebruikt tussen de maanden april tot juni en september tot november. + Bovendien valt op dat er bijna elk jaar een aanzienlijke daling van de drukte te zien is tijdens de zomermaanden.

@@ -90,15 +90,16 @@ const drukte_data = jaaroverzicht.filter(d => d.siteID === 13).sort((a,b) => new

- Hier zien we een jaaroverzicht dat geordend is per weekdag. Zo staan alle zondagen op eenzelfde lijn. - Hier valt het ook al direct op dat dit fietspad veel meer gebruikt wordt op maandag tot en met vrijdag dan in het weekend. + Deze grafiek geeft een jaaroverzicht dat geordend is per weekdag. Zo staat een bepaalde weekdag op eenzelfde lijn. + Het is hier meteen duidelijk dat dit fietspad aanzienlijk meer wordt gebruikt op maandag tot en met vrijdag dan in het weekend.

- We hier opnieuw goed dat dit fietspad vooral gebruikt wordt tussen april/juni en september/November. - De maanden dat er het meeste studenten rondfietsen + We zien hier opnieuw goed dat dit fietspad vooral gebruikt wordt tussen april tot juni en september tot november. + De maanden dat de meeste studenten rondfietsen in Gent.

- Als laatst vallen ook de vakanties enorm op. Zo zien we dat in de herfstvakantie er amper fietsers zijn. + Ten slotte vallen ook de vakantieperiodes op. + Zo is te zien dat er tijdens de herfstvakantie aanzienelijk minder fietsers zijn.

@@ -122,8 +123,8 @@ const fistAndSecondTrendYears = getFistAndSecondTrendYears(cumulatieveCounts, fi

- Als laatst zien we hier ook nog de trends van alle fietspunten gelegen in Gent. - Hier zien we opnieuw wat we ook op de andere grafieken zagen. + Als laatst zien we hier ook nog de trends van alle fietspunten gelegen in Gent. + Opnieuw zien we hier wat we al op andere grafieken hebben waargenomen.

diff --git a/docs/index.md b/docs/index.md index e8106a1..2ab2fcc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -34,13 +34,12 @@ p { ```html

- Er wordt dagelijks veel gefietst in België. Dit voor het plezier, - maar ook heel veel woon-werk verkeer of studenten die van/naar school gaan. - Om dit beter in kaart te kunnen brengen heeft Agentschap wegen & verkeer Vlaanderen een 140-tal fietspunten geplaatst in Vlaanderen. - Hierdoor hebben ze meer zicht op bijvoorbeeld volgende dingen: hoeveel fietsers rijden er per jaar, Wat is het aantal op piekmomenten, etc. + In België wordt veel gefietst, zowel voor plezier, woon-werkverkeer en studenten die van/naar school gaan. + Om dit beter in kaart te kunnen brengen heeft Agentschap Wegen en Verkeer Vlaanderen een 140-tal fietspunten geplaatst in Vlaanderen. + Dit geeft hen een beter inzicht in zaken zoals het jaarlijkse aantal fietsers, de piekmomenten en meer.

- Wij hebben ons gefocust om volgende feiten te bekijken: + We hebben ons gericht op het onderzoeken van de volgende feiten:

    @@ -62,9 +61,8 @@ p { ```html

    - Op deze map zijn alle meetpunten zichtbaar. Voor elk meetpunt is volgende info beschikbaar: + Op deze kaart zijn alle meetpunten zichtbaar, met extra informatie voor elk punt.

    -
    • Naam van de site
    • @@ -99,8 +97,8 @@ createMap(sites);

      - Het aantal fietsers op de baan is sterk afhankelijk per seizoen. - Vandaar hebben deze grafiek gemaakt die overheen de jaren de drukte op de fietspaden benadert. + Het aantal fietsers op de weg varieert sterk per seizoen. + Daarom hebben we een grafiek gemaakt die de drukte op de fietspaden door de jaren heen benadert.