Cargo flow maps: design principles and automated generation
Cargo flow maps are used to represent the freight traffic on a transportation network. Usually the flows are represented as multicolor ribbons along railroads or highways. Each ribbon is a series of parallel lines. The width of a ribbon corresponds to the total freight traffic on a road segment between each crossroads, while the width of every line inside the ribbon reflects the volume of cargo transportation of a certain type. Ribbons can be placed on the both sides of the line and thus show cargo flows in both directions separately.Cargo flow maps are different from the general flow maps and public transit maps. First, the shape of ribbons is restricted by geometry of transportation network, while the flow maps are generated freely between points. Second, the width of every line inside a ribbon (and the total width of each ribbon) depends on the volume of cargo flow, while in public transit maps the width of every line is fixed. These peculiar properties of cargo flow maps impose significant restrictions on the possible layout of resulting lines and ribbons.To date, no automated approach for generation of such maps has been presented. In current study we have developed a fully automated workflow for generation of such maps. First, we documented the design principles of cargo flow maps based on the analysis of traditional thematic atlases and related modern cartographic visualizations. Next, we proposed an algorithm for automatic generation of cargo flow maps.We start just from a long table with four variables: source, destination, cargo type and cargo volume. Each row therefore corresponds to existing cargo connection. These data are then spread over the transportation network under the assumption that goods between two locations are transported using the shortest route strategy. For each connection the shortest route is calculated using Dijkstra’s algorithm, and all network edges that participate in calculated route accumulate the volume of each cargo type being transported in a specified direction. After the data is spread over the network, we construct its ribbon representation as a series of stacked parallel lines on both sides of each network segment. To resolve graphical conflicts between ribbons at each junction, we solve a minimum covering circle problem for a set of points including the junction point itself and line endpoints of each ribbon adjacent to the junction. The problem is solved for each cargo type separately and the derived circles are then drawn to eliminate overlaps and voids between ribbon edges.The described approach was implemented in a prototype web application that utilizes the transportation network taken from Natural Earth dataset (Figure 1). We offer numerous options that can be used to control the visual appearance of ribbons, as well as the query interface that extracts cargo flow data for selected network segment (the yellow stroke near the center of the map in Figure 1) and represents it in a tabular form (the widget at the bottom right in Figure 1). A case study covering the part of central Russia is presented, which demonstrates the potential of cargo flow map as a tool for visual exploration of freight traffic data.