-
Notifications
You must be signed in to change notification settings - Fork 7
Forward Star Network Structure: Centroid Nodes and Connectors
This guide covers the addition of Centroid Nodes and Centroid Connectors to streamline the building of GMNS networks compatible with various traffic assignment packages like TransCAD, Cube, VISUM, DTALite, and path4gmns.
The forward star structure uses centroid nodes as central points in each zone, connected to other network nodes via connectors, enhancing the efficiency and compatibility of network files across various traffic assignment tools. This guide explains how to structure node.csv, link.csv, and demand.csv to incorporate centroid nodes and connectors.
Each zone will have a dedicated centroid node:
-
Centroid Nodes are assigned sequential IDs, starting from
1, 2, 3...based onzone_id. - These nodes should be listed first in
node.csvfor easier sorting and compatibility.
| node_id | zone_id | x_coord | y_coord | node_type |
|---|---|---|---|---|
| 1 | 1 | 100.0 | 200.0 | centroid |
| 2 | 2 | 150.0 | 250.0 | centroid |
| ... | ... | ... | ... | ... |
Connectors link each centroid node to its zone's activity nodes. This ensures internal zone connectivity.
- From each centroid node, create connectors to each activity node within the same zone.
- Link IDs and from_node_id/to_node_id pairs should reflect the new structure.
| link_id | from_node_id | to_node_id | length | capacity | free_speed | link_type |
|---|---|---|---|---|---|---|
| 1 | 1 | 100 | 0.5 | 1000 | 60 | connector |
| 2 | 1 | 101 | 0.5 | 1000 | 60 | connector |
| ... | ... | ... | ... | ... | ... | ... |
After listing the centroid nodes:
-
Physical nodes (activity nodes) are listed sequentially following centroid nodes in
node.csvand those physical nodes including activity nodes should not have zone_id associated. - Ensure that node numbers are updated consistently across both
node.csvandlink.csv.
| node_id | zone_id | x_coord | y_coord | node_type |
|---|---|---|---|---|
| 1 | 1 | 100.0 | 200.0 | centroid |
| 2 | 2 | 150.0 | 250.0 | centroid |
| 100 | 110.0 | 210.0 | activity | |
| 101 | 120.0 | 220.0 | activity | |
| ... | ... | ... | ... | ... |
| link_id | from_node_id | to_node_id | length | capacity | free_speed | link_type |
|---|---|---|---|---|---|---|
| 1 | 1 | 100 | 0.5 | 1000 | 60 | connector |
| 2 | 1 | 101 | 0.5 | 1000 | 60 | connector |
| 3 | 100 | 101 | 1.2 | 1000 | 60 | roadway |
| ... | ... | ... | ... | ... | ... | ... |
To match the new centroid structure:
-
demand.csvshould follow the zone_id order of centroid nodes.
| o_zone_id | d_zone_id | volume |
|---|---|---|
| 1 | 2 | 150 |
| 1 | 3 | 100 |
| 2 | 1 | 80 |
| ... | ... | ... |
This forward star structure with centroid nodes and connectors improves:
- Compatibility: Ensures networks are easily importable into commercial and open-source assignment packages like TransCAD, Cube, VISUM, DTALite, and path4gmns.
- Efficiency: Optimizes node-link lookups, as used in industry-standard planning packages.
- Consistency: Supports seamless integration with traffic demand models, as shown in the Chicago Sketch example in DTALite and recent unified datasets.
This structure is also documented in:
-
A unified dataset for the city-scale traffic assignment model in 20 U.S. cities
(https://www.nature.com/articles/s41597-024-03149-8)