City-scale simulation modelling of active modes of transportation (i.e., walking and cycling) is becoming increasingly popular in recent years. The heterogeneous and complex behaviour of these transportation modes, however, indicates the need for a shift from the traditional car and public transport centred modelling approaches towards incorporating the requirements for walking and cycling behaviour, while maintaining the run-time efficiency of the models. In this paper, we introduce and test our algorithm to create road network representations, designed and optimised to be used in city-scale active transportation modelling. The algorithm relies on open and universal data. In addition to the major roads and attributes typically used in transport modelling (e.g., speed limit, number of lanes, permitted travel modes), the algorithm also captures minor roads usually favoured by pedestrians and cyclists, along with road attributes such as bicycle-specific infrastructure, traffic signals, road gradient and road surface type. Furthermore, it simplifies the complex geometries of the network and merges parallel roads, if applicable, to make it suitable for large-scale simulations.
To examine the utility and performance of the algorithm, we used it to create a network representation for Greater Melbourne, Australia, and compared the output with a network created using an existing simulation toolkit along with another network from an existing city-scale transport model from the Victorian government. Through simulation experiments with these networks, we illustrated that for routed trips on our network for walking and cycling, it is of comparable accuracy to the common network conversion tools in terms of travel distance of the shortest paths while being more than two times faster when used for simulating different sample sizes. Therefore, our algorithm offers a flexible and adjustable solution for users to create road networks for city-scale active transport modelling while balancing between their desired simulation accuracy and run-time.