Drop your ODS file here
or click to browse · Expects sheets named Fiets_etm, OV_os, Auto_as, Vracht_rd etc.
or click to browse · Expects sheets named Fiets_etm, OV_os, Auto_as, Vracht_rd etc.
The OD Matrix Analyser is a browser-based tool for exploring origin–destination matrices by mode, time period, and zone. No installation is required and no data leaves your computer — all processing happens locally in your browser.
To begin, drag and drop your ODS, XLSX, or XLS file onto the drop zone on the Analysis tab, or click the drop zone to browse for a file. The tool will automatically detect all sheets that follow the expected naming convention.
Each sheet must contain a square OD matrix: the first row is a header where the first cell is empty and the remaining cells are zone names. The first column contains zone names as row labels, and the remaining cells contain trip volumes as numbers.
Sheet names must start with the mode name, optionally followed by an underscore and a time period suffix. Recognised modes and periods:
Fiets (bicycle), OV (public transport), Auto (car), Vracht (freight)_os (morning peak), _rd (rest of day), _as (evening peak), _etm (full day)Valid examples: Fiets_etm, OV_os, Auto_as, Vracht_rd, Fiets. Sheet names are not case-sensitive.
The "Preparing for comparison" toggle appears after a file is loaded. Enable it when you want to tag the current analysis with metadata that identifies which model run the file belongs to — useful when comparing multiple runs in a separate tool or spreadsheet.
When enabled, four fields appear:
v followed by integers only (e.g. v300, v32, v410). You can pick from the preset list or type a new version. The field turns red if the format is incorrect.Click Apply to confirm the metadata. The applied values appear as a badge next to the Apply button and are included in the file title line, the Excel cover sheet, and the PDF header on every page. When a new file is loaded, all fields reset automatically.
After a file is loaded, checkboxes appear for each detected mode. All modes are selected by default. Deselect any modes you want to exclude before clicking Run analysis. Modal shares are recalculated so that the selected modes together add up to 100%.
By default the analysis uses all zones as they appear in the OD matrix. To aggregate zones into groups, upload a zone mapping file.
Click Download template to get a CSV pre-filled with all zone names. Fill in the group_name column for each zone, save as CSV, and upload it using the mapping drop zone. The file must have exactly two columns: zone_name and group_name. Any unmapped zone is kept as its own group.
Each matrix cell value is summed into the corresponding group pair. Trips between zones in the same group become intra-group (diagonal) trips in the aggregated matrix. The zone state badge next to the download buttons confirms whether the current results use original or aggregated zones.
This table shows, for each origin zone, how trips are distributed across modes. Columns are grouped into three sections:
If the file contains multiple time period sheets, a tab appears per period.
Click the sort arrow on any column header. For columns showing a value and a percentage together, two sort buttons are provided: the left sorts by absolute number, the right by percentage. Click once for descending, again for ascending, a third time to reset.
Click the Filters toggle above the table to expand the filter panel. Each mode has two sliders: a percentage threshold and a trips threshold (in thousands). A zone row is shown only if it meets all active thresholds across all modes simultaneously. Filtering is purely visual — the TOTAL row and all downloads are unaffected. Click Reset filters to clear all thresholds.
This table shows absolute trip volumes for productions and attractions side by side for each zone and mode, without percentages. In a balanced model, total productions and total attractions across all zones are equal per mode.
This table and chart show how each mode's trips are distributed across time periods. Rows are modes, columns are OS, RD, and AS in that order. Each row sums to 100%, showing what fraction of that mode's daily trips occur in each period.
ETM (full day) is excluded because it is the arithmetic sum of the three periods — including it would cause double-counting.
The bar chart groups bars by mode, with one bar per time period, making it easy to compare temporal distributions between modes.
This output analyses how symmetric each mode's OD matrix is. For a perfectly symmetric matrix, trips from zone i to zone j equal trips from j to i for every zone pair. The analysis uses the ETM matrix if available, otherwise the no-suffix full-day sheet.
For each mode, all zone pairs (i, j) where i is less than j are extracted from the upper triangle of the matrix. Each pair becomes one scatter point: X is the upper triangle value (i→j) and Y is the lower triangle value (j→i). The difference shown in the tooltip is always upper minus lower, meaning X minus Y, meaning i→j minus j→i. A positive difference means more trips from i to j than the reverse; a negative difference means more trips in the return direction.
Points on the dashed 45-degree line indicate perfect symmetry. Points above the line mean more return trips (j→i) than outbound; points below mean more outbound (i→j). Use the mode toggle buttons to show or hide individual modes. Scroll to zoom in, drag to pan, and click Reset zoom to return to the full view.
Click Download Excel to export all outputs to a multi-sheet Excel file with a cover sheet, a Raw data sheet per period (with P_, A_, I_ prefixed columns), and a Production and Attraction cross-check sheet per period. All sheets use a flat single-row header ready for further processing.
Click Download PDF to export the tables to a landscape A3 PDF. Each page has a header bar with the analysis name, filename, period, and page number.
Both exports always contain the full unfiltered dataset. Active visual filters do not affect downloads. If a zone aggregation mapping was active when you ran the analysis, exports contain the aggregated zones — the zone state badge confirms this.
De OD Matrix Analyser is een browsergebaseerde tool voor het verkennen van herkomst-bestemmingsmatrices per modaliteit, tijdvak en zone. Er is geen installatie vereist en er verlaat geen data uw computer — alle verwerking vindt lokaal in uw browser plaats.
Sleep uw ODS-, XLSX- of XLS-bestand naar de dropzone op het tabblad Analyse, of klik op de dropzone om het bestand te zoeken. De tool detecteert automatisch alle werkbladen die de verwachte naamgeving volgen.
Elk werkblad moet een vierkante OD-matrix bevatten: de eerste rij is een koptekst waarbij de eerste cel leeg is en de overige cellen zonenamen zijn. De eerste kolom bevat zonenamen als rijlabels en de overige cellen bevatten ritaantallen als getallen.
Werkbladnamen moeten beginnen met de modaliteitsnaam, optioneel gevolgd door een underscore en een tijdvaksuffix. Herkende modaliteiten en tijdvakken:
Fiets, OV, Auto, Vracht_os (ochtendspits), _rd (rest van de dag), _as (avondspits), _etm (etmaal)Geldige voorbeelden: Fiets_etm, OV_os, Auto_as, Vracht_rd, Fiets. Werkbladnamen zijn niet hoofdlettergevoelig.
De schakelaar "Voorbereiding voor vergelijking" verschijnt nadat een bestand is geladen. Schakel deze in wanneer u de huidige analyse wilt taggen met metadata die aangeeft bij welke modelrun het bestand hoort — handig bij het vergelijken van meerdere runs in een extern hulpmiddel of spreadsheet.
Wanneer ingeschakeld, verschijnen vier velden:
v gevolgd door uitsluitend gehele getallen (bijv. v300, v32, v410). U kunt kiezen uit de voorgestelde lijst of een nieuwe versie intypen. Het veld wordt rood als het formaat onjuist is.Klik op Toepassen om de metadata te bevestigen. De toegepaste waarden verschijnen als badge naast de knop en worden opgenomen in de bestandstitelregel, het Excel-omslagblad en de PDF-koptekst op elke pagina. Bij het laden van een nieuw bestand worden alle velden automatisch gereset.
Na het laden van een bestand verschijnen selectievakjes voor elke gedetecteerde modaliteit. Standaard zijn alle modaliteiten geselecteerd. Deselecteer modaliteiten die u wilt uitsluiten voordat u op Analyse uitvoeren klikt. Modale aandelen worden herberekend zodat de geselecteerde modaliteiten samen 100% vormen.
Standaard gebruikt de analyse alle zones zoals ze in de OD-matrix staan. Om zones samen te voegen tot groepen, upload een zonemapping-bestand.
Klik op Template downloaden om een CSV te krijgen met alle zonenamen. Vul de kolom group_name in, sla op als CSV en upload via de mapping-dropzone. Het bestand moet exact twee kolommen bevatten: zone_name en group_name. Niet-gemapte zones worden als eigen groep behandeld.
Elke matrixcelwaarde wordt opgeteld bij het bijbehorende groepspaar. Ritten tussen zones in dezelfde groep worden intrazonale ritten in de geaggregeerde matrix. De zonestatus-badge naast de downloadknoppen bevestigt of de resultaten originele of geaggregeerde zones bevatten.
Deze tabel toont per herkomstzone hoe ritten verdeeld zijn over modaliteiten. Kolommen zijn gegroepeerd in drie secties:
Als het bestand meerdere tijdvakwerkbladen bevat, verschijnt een tabblad per tijdvak.
Klik op de sorteer-pijl bij een kolomkoptekst. Voor kolommen met een waarde én een percentage zijn twee sorteerknoppen beschikbaar: links sorteert op absoluut getal, rechts op percentage. Eén klik = aflopend, opnieuw klikken = oplopend, derde klik = originele volgorde.
Klik op de Filters-knop boven de tabel om het filterpaneel te openen. Elke modaliteit heeft twee schuifregelaars: een drempel voor het percentage en een drempel voor het ritaantal (in duizenden). Een zonerij wordt alleen getoond als aan alle actieve drempelwaarden voor alle modaliteiten wordt voldaan. Filteren is puur visueel — de TOTAAL-rij en alle downloads worden niet beïnvloed.
Deze tabel toont de absolute ritaantallen voor producties en attracties naast elkaar per zone en modaliteit, zonder percentages. In een gebalanceerd model zijn de totale producties en attracties voor alle zones gelijk per modaliteit.
Deze tabel en grafiek tonen hoe de ritten per modaliteit verdeeld zijn over de tijdvakken. Rijen zijn modaliteiten, kolommen zijn OS, RD en AS in die volgorde. Elke rij telt op tot 100%, wat aangeeft welk deel van de dagelijkse ritten van die modaliteit in elk tijdvak plaatsvindt.
ETM (etmaal) is bewust uitgesloten omdat het de som is van de drie tijdvakken — inclusie leidt tot dubbeltellingen.
Deze uitvoer analyseert hoe symmetrisch de OD-matrix van elke modaliteit is. De analyse gebruikt de ETM-matrix indien beschikbaar, anders de matrix zonder tijdvaksuffix. Voor elk zonepaar (i, j) waar i kleiner is dan j wordt één punt geplot: X is de bovenste driehoekwaarde (i→j) en Y is de onderste driehoekwaarde (j→i). Het verschil in de tooltip is altijd bovenste minus onderste, dus X minus Y, dus i→j minus j→i. Een positief verschil betekent meer ritten van i naar j dan andersom.
Punten op de gestippelde 45-gradenlijn duiden op symmetrie. Punten boven de lijn betekenen meer retourritten (j→i); punten eronder betekenen meer heenritten (i→j). Gebruik de modusknoppen om modaliteiten te tonen of te verbergen. Scroll om in te zoomen, sleep om te pannen, klik Zoom resetten voor volledig overzicht.
Klik op Excel downloaden om alle resultaten te exporteren naar een Excel-bestand met een omslagblad, een Raw-datawerkblad per tijdvak (met P_-, A_-, I_-geprefixxte kolommen) en een producties-en-attracties-kruiscontrole-werkblad per tijdvak. Alle werkbladen gebruiken een enkelvoudige kopregel, klaar voor verdere verwerking.
Klik op PDF downloaden om de tabellen te exporteren naar een liggend A3 PDF. Elke pagina heeft een koptekstbalk met analysenaam, bestandsnaam, tijdvak en paginanummer.
Beide exports bevatten altijd de volledige ongefiltreerde dataset. Actieve visuele filters hebben geen invloed op downloads. Als een zoneaggregatie-mapping actief was bij het uitvoeren van de analyse, bevatten de exports de geaggregeerde zones.