Step‑by‑step procedure for building functional networks and generating trips on rural local roads
Below is a practical workflow that can be inserted directly before the transportation‑demand modelling stage. It follows the “indirect” approach you described (i.e., no extensive field counts) and relies on spatial micro‑simulation together with readily available demographic data.
| Action | Details |
|---|---|
| a. Import national/main‑road network | Use the official highway shapefile (e.g., from the national road authority). These links will become the hard boundaries of each functional sub‑network. |
| b. Extract local‑road layer | Clip out all roads classified below “primary”/“secondary”. Keep geometry, length, lane count and surface type as attributes. |
| c. Topology clean‑up | Ensure there are no dangling nodes or duplicate segments; run a network‐topology check (e.g., GIS Snap / Integrate). |
Identify “islands” of local roads that are completely surrounded by the national/main‑road skeleton.
Algorithm: Perform a polygonisation (Polygonize) on the main‑road layer, then assign each local‑road segment to the polygon it falls inside. Each polygon = one functional network.
Label networks with an ID (e.g., FN_001, FN_002). Store the list of constituent links for later demand assignment.
Why this matters: By treating every island as a separate system, you avoid cross‑network spill‑over that would bias trip generation and assignment – a point emphasized in recent road‑safety spatial reviews [2].
| Variable | Typical source |
|---|---|
| Population distribution (households, age groups) | Census block tables or national statistical office GIS layers |
| Employment locations / job density | Business registers, labor‑force surveys |
| Land‑use mix (residential, agricultural, commercial, institutional) | CORINE/USGS land‑cover maps or local zoning databases |
| School & health‑care catchments (if relevant) | Ministry of Education / Health GIS layers |
These variables will be used to estimate the number of trips originating and terminating in each functional network.
Trip production & attraction rates – Apply standard per‑capita or per‑employee coefficients (e.g., trips/person‑day, trips/worker‑day) that are calibrated for rural contexts. Multiply by the demographic totals of each zone to obtain raw trip numbers.
Allocate trips spatially – Run a micro‑simulation engine (e.g., MATSim, SUMO, or any GIS‑based stochastic assignment tool). The algorithm proceeds as follows:
“Trip numbers are derived from demographic data (population distribution, employment, land use)” – this is exactly what the micro‑simulation does [context].
Because each OD pair belongs to a specific origin and destination network, you can run separate assignments per functional network or run a single assignment on the whole merged graph while preserving the network IDs for post‑processing.
The result is an estimated AADT (average daily traffic) for every local‑road segment: [ \text{AADT}k = \frac{\sum{\text{all trips traversing } k}}{365} ]
| Method | Description |
|---|---|
| Empirical Bayes – combine the model‑based AADT with any spot counts you may have (even a handful of manual counts) to obtain posterior estimates that reduce bias. | |
| Spatial lag / CAR models – if residual spatial autocorrelation is detected, incorporate it as an additional correction term (as done in pedestrian safety studies [6]). |
Segment_ID, Functional_Network_ID, Length_m, Estimated_AADT, Confidence_Interval.By following the steps above you will have a robust baseline traffic‑volume estimate ready to feed into your transportation‑demand model or safety‑analysis framework.