GMNS Schema
Schema for General Network Modeling Specification.
Files in Specification
GMNS consists of a package of files as defined in the following table.
The following table is automatically generated from gmns.spec.json
name | description | required |
---|---|---|
link |
A link is an edge in a network, defined by the nodes it travels from and to. It may have associated geometry information. Links have three types of attributes: - Those that define the physical location of the link (e.g., shape information , length , width )- Those that define the link's directionality: from_node , to_node - Those that define properties in the direction of travel: capacity, free flow speed, number of lanes, permitted uses, grade, facility type |
True |
node |
A list of vertices that locate points on a map. Typically, they will represent intersections, but may also represent other points, such as a transition between divided and undivided highway. Nodes are the endpoints of a link (as opposed to the other type of vertex, location, which is used to represent points along a link) | True |
geometry |
The geometry is an optional file that contains geometry information (shapepoints) for a line object. It is similar to Geometries in the SharedStreets reference system. The specification also allows for geometry information to be stored directly on the link table. | False |
lane |
The lane file allocates portions of the physical right-of-way that might be used for travel. It might be a travel lane, bike lane, or a parking lane. Lanes only are included in directed links; undirected links are assumed to have no lane controls or directionality. If a lane is added, dropped, or changes properties along the link, those changes are recorded on the segment_link table. Lanes are numbered sequentially, starting at either the centerline (two-way street) or the left shoulder (one-way street or divided highway with two centerlines). |
False |
link_tod |
Handles day-of-week and time-of-day restrictions on links | False |
location |
A location is a vertex that is associated with a specific location along a link. Locations may be used to represent places where activities occur (e.g., driveways and bus stops). Its attributes are nearly the same as those for a node, except that the location includes an associated link and node, with location specified as distance along the link from the node. | False |
movement |
Describes how inbound and outbound links connect at an intersection. | False |
movement_tod |
Handles day-of-week and time-of-day restrictions on movements. | False |
use_definition |
The Use_Definition file defines the characteristics of each vehicle type or non-travel purpose (e.g., a shoulder or parking lane). A two-way left turn lane (TWLTL) is also a use. | False |
use_group |
Defines groupings of uses, to reduce the size of the allowed_uses lists in the other tables. | False |
time_set_definitions |
The time_set_definitions file is an optional representation of time-of-day and day-of-week sets to enable time restrictions through _tod files. |
False |
segment |
A portion of a link defined by link_id ,ref_node_id , start_lr , and end_lr . Values in the segment will override they value specified in the link table. When one segment is fully contained within another, its value prevails. |
False |
segment_lane |
Defines added and dropped lanes, and changes to lane parameters. If a lane is added, it has no parent. If it is changed or dropped, the parent_lane_id field keys to the associated lane on the lane table. | False |
signal_controller |
The signal controller is associated with an intersection or a cluster of intersections. | False |
signal_coordination |
Establishes coordination for several signal controllers, associated with a timing_plan. | False |
signal_phase_mvmt |
Associates Movements and pedestrian Links (e.g., crosswalks) with signal phases. A signal phase may be associated with several movements. A Movement may also run on more than one phase. | False |
signal_timing_plan |
For signalized nodes, establishes timing plans. | False |
signal_timing_phase |
For signalized nodes, provides signal timing and establishes phases that may run concurrently. | False |
signal_detector |
A signal detector is associated with a controller, a phase and a group of lanes. | False |
segment_tod |
An optional file that handles day-of-week and time-of-day restrictions on segments. It is used for part-time changes in segment capacity and number of lanes. | False |
lane_tod |
An optional file that handles day-of-week and time-of-day restrictions on lanes that traverse entire links. | False |
segment_lane_tod |
An optional file that handles day-of-week and time-of-day restrictions on lanes within segments of links. | False |
zone |
Locates zones (travel analysis zones, parcels) on a map. Zones are represented as polygons in geographic information systems. | False |
File components for GMNS are specified in gmns.spec.json
in a format compatible with the
frictionless data data package standard.
Example gmns.spec.json
:
{
"profile": "gmns-data-package",
"profile_version":0.0,
"name": "my-dataset",
"resources": [
{
"name":"link",
"path": "link.csv",
"schema": "link.schema.json",
"required": true
},
{
"name":"node",
"path": "node.csv",
"schema": "node.schema.json",
"required": true
}
]
}
Data Table Schemas
Data table schemas are specified in JSON and are compatible with the frictionless data table schema standards.
Example:
{
"primaryKey": "segment_id",
"missingValues": ["NaN",""],
"fields": [
{
"name": "segment_id",
"type": "any",
"description": "Primary key.",
"constraints": {
"required": true,
"unique": true
}
},
{
"name": "link_id",
"type": "any",
"description": "Required. Foreign key to link table. The link that the segment is located on.",
"foreign_key": "link.link_id",
"constraints": {
"required": true
}
},
{
"name": "ref_node_id",
"type": "any",
"description": "Required. Foreign key to node.",
"foreign_key": "node.node_id",
"constraints": {
"required": true
}
},
{
"name": "start_lr",
"type": "number",
"description": "Required. Distance from ref_node_id.",
"constraints": {
"required": true,
"minimum": 0
}
},
{
"name": "end_lr",
"type": "number",
"description": "Required. Distance from ref_node_id.",
"constraints": {
"required": true,
"minimum": 0
}
}
]
}
link
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum | warning maximum | warning minimum | warnings maximum | warnings minimum |
---|---|---|---|---|---|---|---|---|---|---|---|
link_id | True | any | - | Primary key - could be SharedStreets Reference ID | - | - | - | - | - | - | - |
parent_link_id | - | any | Variable: link_id |
Optional. The parent of this link. For example,for a sidewalk, this is the adjacent road. | - | - | - | - | - | - | - |
name | - | string | - | Optional. Street or Path Name | - | - | - | - | - | - | - |
from_node_id | True | any | Table: node , Variable: node_id |
- | - | - | - | - | - | - | - |
to_node_id | True | any | Table: node , Variable: node_id |
- | - | - | - | - | - | - | - |
directed | - | boolean | - | Required. Whether the link is directed (travel only occurs from the from_node to the to_node) or undirected. | - | - | - | - | - | - | - |
geometry_id | - | any | Table: geometry , Variable: geometry_id |
Optional. Foreign key (Link_Geometry table). | - | - | - | - | - | - | - |
geometry | - | any | - | Optional. Link geometry, in well-known text (WKT) format. Optionally, other formats supported by geopandas (GeoJSON, PostGIS) may be used if specified in geometry_field_format in gmns.spec.json | - | - | - | - | - | - | - |
dir_flag | - | integer | - | Optional. 1 shapepoints go from from_node to to_node; -1 shapepoints go in the reverse direction; 0 link is undirected or no geometry information is provided. |
Allowed Values: -1,0,1 |
- | - | - | - | - | - |
length | - | number | - | Optional. Length of the link in long_length units | - | - | 0 | - | - | - | - |
grade | - | number | - | % grade, negative is downhill | - | 100 | -100 | - | - | 25 | -25 |
facility_type | - | string | - | Facility type (e.g., freeway, arterial, etc.) | - | - | - | - | - | - | - |
capacity | - | number | - | Optional. Capacity (veh / hr / lane) | - | - | 0 | - | - | - | - |
free_speed | - | number | - | Optional. Free flow speed, in long_length units per hour | - | 200 | 0 | - | - | 120 | 1 |
lanes | - | integer | - | Optional. Number of permanent lanes (not including turn pockets) in the direction of travel open to motor vehicles. It does not include bike lanes, shoulders or parking lanes. | - | - | 0 | - | - | - | - |
bike_facility | - | string | - | Optional. Type of bicycle accommodation: unknown, none, wcl, sharrow, bikelane, cycletrack, offstreet path | Allowed Values: unknown,none,wcl,sharrow,bikelane,cycletrack,offstreet_path |
- | - | - | - | - | - |
ped_facility | - | string | - | Optional. Type of pedestrian accommodation: unknown, none, shoulder, sidewalk, offstreet path | Allowed Values: unknown,none,shoulder,sidewalk,offstreet_path |
- | - | - | - | - | - |
parking | - | string | - | Optional. Type of parking: unknown, none, parallel, angle, other | Allowed Values: unknown,none,parallel,angle,other |
- | - | - | - | - | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - | - | - | - | - |
toll | - | number | - | Optional. Toll on the link, in currency units. | - | - | - | 10000 | 0 | - | - |
jurisdiction | - | string | - | Optional. Owner/operator of the link. | - | - | - | - | - | - | - |
row_width | - | number | - | Optional. Width (short_length units) of the entire right-of-way (both directions). | - | - | 0 | - | - | - | 10 |
signal_timing_plan
name | required | type | foreign_key | description | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|
timing_plan_id | True | any | - | Primary key. | - | - |
controller_id | True | any | Table: signal_controller , Variable: controller_id |
Required. Foreign key (signal_controller table). | - | - |
timeday_id | - | any | Table: time_set_definitions , Variable: timeday_id |
Conditionally required (either timeday_id or time_day). Foreign key to time_set_definitions. | - | - |
time_day | - | any | - | Conditionally required (either timeday_id or time_day). XXXXXXXX_HHMM_HHMM, where XXXXXXXX is a bitmap of days of the week, Sunday-Saturday, Holiday. The HHMM are the start and end times. | - | - |
cycle_length | - | number | - | Cycle length in seconds. | 600 | 0 |
segment
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum | warnings maximum | warnings minimum |
---|---|---|---|---|---|---|---|---|---|
segment_id | True | any | - | Primary key. | - | - | - | - | - |
link_id | True | any | Table: link , Variable: link_id |
Required. Foreign key to road_links. The link that the segment is located on. | - | - | - | - | - |
ref_node_id | True | any | Table: node , Variable: node_id |
Required. Foreign key to node where distance is 0. | - | - | - | - | - |
start_lr | True | number | - | Required. Distance from ref_node_id in short_length units. |
- | - | 0 | - | - |
end_lr | True | number | - | Required. Distance from ref_node_id in short_length units. |
- | - | 0 | - | - |
grade | - | number | - | % grade, negative is downhill | - | 100 | -100 | 25 | -25 |
capacity | - | number | - | Optional. Capacity (veh/hr/ln) | - | - | 0 | - | - |
free_speed | - | number | - | Optional. Free flow speed in long_length units per hour | - | 200 | 0 | 120 | 1 |
lanes | - | integer | - | Optional. Number of lanes in the direction of travel (must be consistent with link lanes + lanes added). | - | - | - | - | - |
l_lanes_added | - | integer | - | Optional. # of lanes added on the left of the road link (negative indicates a lane drop). | - | - | - | - | - |
l_lanes_added | - | integer | - | Optional. # of lanes added on the left of the road link (negative indicates a lane drop). | - | - | - | - | - |
r_lanes_added | - | integer | - | Optional. # of lanes added on the right of the road link (negative indicates a lane drop). | - | - | - | - | - |
bike_facility | - | string | - | Optional. Type of bicycle accommodation: unknown, none,wcl, bikelane,cycletrack,wide_shoulder, offstreet_path. | Allowed Values: unknown,none,wcl,bikelane,cycletrack,wide_shoulder,offstreet_path |
- | - | - | - |
ped_facility | - | string | - | Optional. Type of pedestrian accommodation:unknown,none,shoulder,sidewalk,offstreet_path. | Allowed Values: unknown,none,shoulder,sidewalk,offstreet_path |
- | - | - | - |
parking | - | string | - | Optional. Type of parking: unknown,none,shoulder,sidewalk,offstreet_path. | Allowed Values: unknown,none,shoulder,sidewalk,offstreet_path |
- | - | - | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - | - | - |
toll | - | number | - | Optional. Toll on the segment, in currency units. | - | - | - | - | - |
jurisdiction | - | string | - | Optional. Optional. Owner/operator of the segment. | - | - | - | - | - |
row_width | - | number | - | Optional. Width (short_length units) of the entire right-of-way (both directions). | - | - | 0 | - | 10 |
segment_lane
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|---|
segment_lane_id | True | any | - | Primary key. | - | - | - |
segment_id | True | any | Table: segment , Variable: segment_id |
Required. Foreign key to the associated segment. | - | - | - |
lane_num | True | integer | - | Required. -1, 1, 2 (use left-to-right numbering). 0 signifies a lane that is dropped on the segment. | - | 10 | -10 |
parent_lane_id | - | any | - | Optional. If a lane drops or changes characteristics on the segment, the lane_id for that lane. | - | - | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - |
r_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right (default is none) | Allowed Values: none,regulatory,physical |
- | - |
l_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the left (default is none) | Allowed Values: none,regulatory,physical |
- | - |
width | - | number | - | Optional. Width of the lane (short_length units) | - | - | 0 |
signal_detector
name | required | type | foreign_key | description |
---|---|---|---|---|
detector_id | True | any | - | Primary key. |
controller_id | True | any | Table: signal_controller , Variable: controller_id |
Required. Foreign key to signal_controller table. |
signal_phase_num | True | integer | - | Required. Number of the associated phase. |
link_id | True | any | Table: link , Variable: link_id |
Foreign key. The link covered by the detector. |
start_lane | True | integer | - | Left-most lane covered by the detector. |
end_lane | - | integer | - | Right-most lane covered by the detector (blank if only one lane). |
ref_node_id | True | any | Table: node , Variable: node_id |
The detector is on the approach to this node. |
det_zone_lr | True | number | - | Required. Distance from from the stop bar to detector in short_length units. |
det_zone_front | - | number | - | Optional. Linear reference of front of detection zone in short_length units. |
det_zone_back | - | number | - | Optional. Linear reference of back of detection zone in short_length units. |
det_type | - | string | - | Optional. Type of detector. |
movement_tod
name | required | type | foreign_key | description | constraints enum |
---|---|---|---|---|---|
mvmt_tod_id | True | any | - | Primary key. | - |
mvmt_id | True | any | Table: movement , Variable: mvmt_id |
The referenced movement. | - |
time_day | - | string | - | Time of day in XXXXXXXX_HHMM_HHMM format, where XXXXXXXX is a bitmap of days of the week, Sunday-Saturday, Holiday. The HHMM are the start and end times. | - |
timeday_id | - | any | Table: timeday , Variable: timeday_id |
Time of day set. Used if times-of-day are defined on the time_set_definitions table | - |
ib_link_id | True | any | Table: link , Variable: link_id |
Inbound link id. | - |
start_ib_lane | - | integer | - | Innermost lane number the movement applies to at the inbound end. | - |
end_ib_lane | - | integer | - | Outermost lane number the movement applies to at the inbound end. Blank indicates a movement with a single inbound lane. | - |
ob_link_id | True | any | Table: link , Variable: link_id |
Outbound link id. | - |
start_ob_lane | - | integer | - | Innermost lane number the movement applies to at the outbound end. | - |
end_ob_lane | - | integer | - | Outermost lane number the movement applies to at the outbound end. Blank indicates a movement with a single outbound lane. | - |
type | True | string | - | Optional. Describes the type of movement (left, right, thru, etc.). | Allowed Values: left,right,uturn,thru,merge |
penalty | - | number | - | Turn penalty (seconds) | - |
capacity | - | number | - | Capacity in vehicles per hour. | - |
ctrl_type | - | any | - | Optional. . | Allowed Values: no_control,yield,stop,stop_2_way,stop_4_way,signal_with_RTOR,signal |
mvmt_code | - | string | - | Optional. Movement code (e.g., SBL). Syntax is DDTN, where DD is the direction (e.g., SB, NB, EB, WB, NE, NW, SE, SW). T is the turning movement (e.g., R, L, T) and N is an optional turning movement number (e.g., distinguishing between bearing right and a sharp right at a 6-way intersection) | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - |
link_tod
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum | warning maximum | warning minimum | warnings maximum | warnings minimum |
---|---|---|---|---|---|---|---|---|---|---|---|
link_tod_id | True | any | - | Primary key | - | - | - | - | - | - | - |
link_id | True | any | Table: link , Variable: link_id |
Required. Foreign key, link table | - | - | - | - | - | - | - |
timeday_id | - | any | Table: time_set_definitions , Variable: timeday_id |
Conditionally required (either timeday_id or time_day). Foreign key to time_set_definitions. | - | - | - | - | - | - | - |
time_day | - | string | - | Conditionally required (either timeday_id or time_day). XXXXXXXX_HHMM_HHMM, where XXXXXXXX is a bitmap of days of the week, Sunday-Saturday, Holiday. The HHMM are the start and end times. | - | - | - | - | - | - | - |
capacity | - | number | - | Optional. Capacity (veh / hr / lane) | - | - | 0 | - | - | - | - |
free_speed | - | number | - | Optional. Free flow speed in long_distance units per hour | - | 200 | 0 | - | - | 120 | 1 |
lanes | - | integer | - | Optional. Number of permanent lanes (not including turn pockets) in the direction of travel open to motor vehicles. It does not include bike lanes, shoulders or parking lanes. | - | - | 0 | - | - | - | - |
bike_facility | - | string | - | Optional. Type of bicycle accommodation: unknown, none, WCL, sharrow, bikelane, cycletrack, offstreet path | Allowed Values: unknown,none,wcl,sharrow,bikelane,cycletrack,offstreet_path |
- | - | - | - | - | - |
ped_facility | - | string | - | Optional. Type of pedestrian accommodation: unknown, none, shoulder, sidewalk, offstreet path | Allowed Values: unknown,none,shoulder,sidewalk,offstreet_path |
- | - | - | - | - | - |
parking | - | string | - | Optional. Type of parking: unknown, none, parallel, angle, other | Allowed Values: unknown,none,parallel,angle,other |
- | - | - | - | - | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - | - | - | - | - |
toll | - | number | - | toll in currency units. | - | - | - | 10000 | 0 | - | - |
time_set_definitions
name | required | type | foreign_key | description |
---|---|---|---|---|
timeday_id | True | any | - | Primary key.Primary key, similar to service_id in GTFS. Unique name of the time of day. Preferable legible rather than a number. |
monday | True | boolean | - | Required. Whether Mondays are included. |
tuesday | True | boolean | - | Required. Whether Tuesdays are included. |
wednesday | True | boolean | - | Required. Whether Wednesdays are included. |
thursday | True | boolean | - | Required. Whether Thursdays are included. |
Friday | True | boolean | - | Required. Whether Fridays are included. |
saturday | True | boolean | - | Required. Whether Saturdays are included. |
sunday | True | boolean | - | Required. Whether Sundays are included. |
holiday | True | boolean | - | Required. Whether holidays are included. |
start_time | True | time | - | Required. Start time in HH:MM format. |
end_time | True | time | - | Required. End time in HH:MM format. |
segment_lane_tod
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|---|
segment_lane_tod_id | True | any | - | Primary key. | - | - | - |
segment_lane_id | True | any | Table: segment_lane , Variable: segment_lane_id |
Required. Foreign key, segment_lane table | - | - | - |
timeday_id | - | any | Table: time_set_definitions , Variable: timeday_id |
Conditionally required (either timeday_id or time_day). Foreign key to time_set_definitions. | - | - | - |
time_day | - | string | - | Conditionally required (either timeday_id or time_day). XXXXXXXX_HHMM_HHMM, where XXXXXXXX is a bitmap of days of the week, Sunday-Saturday, Holiday. The HHMM are the start and end times. | - | - | - |
lane_num | True | integer | - | Required. Lane number identified as offset to the right from the centerline. i.e. -1, 1, 2 (use left-to-rightnumbering). | - | 10 | -10 |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - |
r_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right. - none (the default). Indicates that a vehicle can change lanes, provided that the vehicle-type is permitted in the destination lane- Regulatory . There is a regulatory prohibition (e.g., a double-white solid line) against changing lanes, but no physical barrier- Physical . A physical barrier (e.g., a curb, Jersey barrier) is in place. |
Allowed Values: none,regulatory,physical |
- | - |
l_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right. - none (the default). Indicates that a vehicle can change lanes, provided that the vehicle-type is permitted in the destination lane- Regulatory . There is a regulatory prohibition (e.g., a double-white solid line) against changing lanes, but no physical barrier- Physical . A physical barrier (e.g., a curb, Jersey barrier) is in place. |
Allowed Values: none,regulatory,physical |
- | - |
width | - | number | - | Optional. Width of the lane, short_length units. | - | - | 0 |
signal_timing_phase
name | required | type | foreign_key | description | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|
timing_phase_id | True | any | - | Primary key. | - | - |
timing_plan_id | - | any | Table: signal_timing_plan , Variable: timing_plan_id |
Foreign key; connects to a timing_plan associated with a controller. | - | - |
signal_phase_num | True | integer | - | Signal phase number. Typically the NEMA phase number. | - | 0 |
min_green | - | number | - | The minimum green time in seconds for an actuated signal. Green time in seconds for a fixed time signal. | - | 0 |
max_green | - | number | - | Optional.The maximum green time in seconds for an actuated signal; the default is minimum green plus one extension | - | 0 |
extension | - | number | - | Optional. The number of seconds the green time is extended each time vehicles are detected. | 120 | 0 |
clearance | - | number | - | Yellow interval plus all red interval | 120 | 0 |
walk_time | - | number | - | If a pedestrian phase exists, the walk time in seconds | 120 | 0 |
ped_clearance | - | number | - | If a pedestrian phase exists, the flashing don't walk time. | 120 | 0 |
ring | True | integer | - | Required. Set of phases that conflict with each other. | 12 | 0 |
barrier | True | integer | - | Required. Set of phases that can operate other. | 12 | 0 |
position | True | integer | - | Required. Position. | - | - |
movement
name | required | type | foreign_key | description | constraints enum |
---|---|---|---|---|---|
mvmt_id | True | any | - | Primary key. | - |
node_id | True | any | Table: node , Variable: node_id |
The node representing the junction. | - |
name | - | string | - | Optional. | - |
ib_link_id | True | any | Table: link , Variable: link_id |
Inbound link id. | - |
start_ib_lane | - | integer | - | Innermost lane number the movement applies to at the inbound end. | - |
end_ib_lane | - | integer | - | Outermost lane number the movement applies to at the inbound end. Blank indicates a movement with a single inbound lane. | - |
ob_link_id | True | any | Table: link , Variable: link_id |
Outbound link id. | - |
start_ob_lane | - | integer | - | Innermost lane number the movement applies to at the outbound end. | - |
end_ob_lane | - | integer | - | Outermost lane number the movement applies to at the outbound end. Blank indicates a movement with a single outbound lane. | - |
type | True | string | - | Optional. Describes the type of movement (left, right, thru, etc.). | Allowed Values: left,right,uturn,thru,merge,diverge |
penalty | - | number | - | Turn penalty (seconds) | - |
capacity | - | number | - | Capacity in vehicles per hour. | - |
ctrl_type | - | string | - | Optional. . | Allowed Values: no_control,yield,stop,stop_2_way,stop_4_way,signal_with_RTOR,signal |
mvmt_code | - | string | - | Optional. Movement code (e.g., SBL). Syntax is DDTN, where DD is the direction (e.g., SB, NB, EB, WB, NE, NW, SE, SW). T is the turning movement (e.g., R, L, T) and N is an optional turning movement number (e.g., distinguishing between bearing right and a sharp right at a 6-way intersection) | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - |
geometry | - | any | - | Optional. Movement geometry, in well-known text (WKT) format. Optionally, other formats supported by geopandas (GeoJSON, PostGIS) may be used if specified in geometry_field_format in gmns.spec.json | - |
signal_controller
name | required | type | foreign_key | description |
---|---|---|---|---|
controller_id | True | any | - | Primary key. |
use_definition
name | required | type | foreign_key | description | constraints minimum |
---|---|---|---|---|---|
use | True | string | - | Primary key | - |
persons_per_vehicle | True | number | - | Required. | 0 |
pce | True | number | - | Required. Passenger car equivalent. | 0 |
special_conditions | - | string | - | Optional. | - |
description | - | string | - | Optional | - |
zone
name | required | type | foreign_key | description |
---|---|---|---|---|
zone_id | True | any | - | Primary key. |
name | - | string | - | Optional. |
boundary | - | any | - | Optional. The polygon geometry of the zone in WKT or Polygon. |
super_zone | - | string | Variable: zone_id |
Optional. If there is a hierarchy of zones (e.g., parcels and TAZs), indicates the zone of next higher level. |
lane
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|---|
lane_id | True | any | - | Primary key | - | - | - |
link_id | True | any | Table: link , Variable: link_id |
Required. Foreign key to link table. | - | - | - |
lane_num | True | integer | - | Required. e.g., -1, 1, 2 (use left-to-right numbering). | - | 10 | -10 |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - |
r_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right. - none (the default). Indicates that a vehicle can change lanes, provided that the vehicle-type is permitted in the destination lane- regulatory . There is a regulatory prohibition (e.g., a double-white solid line) against changing lanes, but no physical barrier- physical . A physical barrier (e.g., a curb, Jersey barrier) is in place. |
Allowed Values: none,regulatory,physical |
- | - |
l_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right. - none (the default). Indicates that a vehicle can change lanes, provided that the vehicle-type is permitted in the destination lane- regulatory . There is a regulatory prohibition (e.g., a double-white solid line) against changing lanes, but no physical barrier- physical . A physical barrier (e.g., a curb, Jersey barrier) is in place. |
Allowed Values: none,regulatory,physical |
- | - |
width | - | number | - | Optional. Width of the lane, short_length units. | - | - | 0 |
signal_phase_mvmt
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|---|
signal_phase_mvmt_id | True | any | - | Primary key. | - | - | - |
controller_id | True | any | Table: signal_controller , Variable: controller_id |
Associated controller. | - | - | - |
signal_phase_num | True | integer | - | Each phase has one or more Movements associated with it. | - | 32 | 0 |
mvmt_id | - | any | Table: movement , Variable: mvmt_id |
Foreign key. Either Movement_ID (for phases used by vehicles), or Link_id (for phases used by pedestrians) is required. | - | - | - |
link_id | - | any | Table: link , Variable: link_id |
Foreign key. Either Movement_ID (for phases used by vehicles), or Link_id (for phases used by pedestrians) is required. | - | - | - |
protection | - | string | - | Optional. Indicates whether the phase is protected, permitted, or right turn on red. | Allowed Values: protected,permitted,rtor |
- | - |
signal_coordination
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|---|
coordination_id | True | any | - | Primary key. | - | - | - |
timing_plan_id | True | any | Table: signal_timing_plan , Variable: timing_plan_id |
Required. Foreign key (Signal_timing_plan table). | - | - | - |
controller_id | True | any | Table: signal_controller , Variable: controller_id |
Required. Foreign key (signal_controller table). | - | - | - |
coord_contr_id | - | any | Table: signal_controller , Variable: controller_id |
Optional. For coordinated signals, the master signal controller for coordination. | - | - | - |
coord_phase | - | integer | - | Optional. For coordinated signals, the phase at which coordination starts (time 0). | - | 32 | 0 |
coord_ref_to | - | string | - | Optional. For coordinated signals, the part of the phase where coordination starts: begin_of_green, begin_of_yellow, begin_of_red. | Allowed Values: begin_of_green,begin_of_yellow,begin_of_red |
- | - |
offset | - | number | - | Optional. Offset in seconds. | - | - | 0 |
geometry
name | required | type | foreign_key | description |
---|---|---|---|---|
geometry_id | True | any | - | Primary key - could be SharedStreets Geometry ID |
geometry | - | any | - | Link geometry, in well-known text (WKT) format. Optionally, other formats supported by geopandas (GeoJSON, PostGIS) may be used if specified in geometry_field_format in gmns.spec.json. |
node
name | required | type | foreign_key | description | constraints enum |
---|---|---|---|---|---|
node_id | True | any | - | Primary key | - |
name | - | string | - | - | |
x_coord | True | number | - | Coordinate system specified in config file (longitude, UTM-easting etc.) | - |
y_coord | True | number | - | Coordinate system specified in config file (latitude, UTM-northing etc.) | - |
z_coord | - | number | - | Optional. Altitude in short_length units. | - |
node_type | - | string | - | Optional. What it represents (intersection, transit station, park & ride). | - |
ctrl_type | - | string | - | Optional. Intersection control type - one of ControlType_Set. | Allowed Values: none,yield,stop,4_stop,signal |
zone_id | - | any | Table: zone , Variable: zone_id |
Optional. Could be a Transportation Analysis Zone (TAZ) or city, or census tract, or census block. | - |
parent_node_id | - | any | Variable: node_id |
Optional. Associated node. For example, if this node is a sidewalk, a parent_nodek_id could represent the intersection it is associated with. | - |
segment_tod
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum | warnings maximum | warnings minimum |
---|---|---|---|---|---|---|---|---|---|
segment_tod_id | True | any | - | Primary key. | - | - | - | - | - |
segment_id | True | any | Table: segment , Variable: segment_id |
Foreign key to segment table. | - | - | - | - | - |
timeday_id | - | any | Table: time_set_definitions , Variable: timeday_id |
Conditionally required (either timeday_id or time_day). Foreign key to time_set_definitions. | - | - | - | - | - |
time_day | - | string | - | Conditionally required (either timeday_id or time_day). XXXXXXXX_HHMM_HHMM, where XXXXXXXX is a bitmap of days of the week, Sunday-Saturday, Holiday. The HHMM are the start and end times. | - | - | - | - | - |
capacity | - | number | - | Optional. Capacity (veh/hr/ln) | - | - | 0 | - | - |
free_speed | - | number | - | Optional. Free flow speed in short_length units per hour | - | 200 | 0 | 120 | 1 |
lanes | - | integer | - | Optional. Number of lanes in the direction of travel (must be consistent with link lanes + lanes added). | - | - | - | - | - |
l_lanes_added | - | integer | - | Optional. # of lanes added on the left of the road link (negative indicates a lane drop). | - | - | - | - | - |
r_lanes_added | - | integer | - | Optional. # of lanes added on the right of the road link (negative indicates a lane drop). | - | - | - | - | - |
bike_facility | - | string | - | Optional. Type of bicycle accommodation: unknown, none,wcl, bikelane,cycletrack,wide_shoulder, offstreet_path. | Allowed Values: unknown,none,wcl,bikelane,cycletrack,wide_shoulder,offstreet_path |
- | - | - | - |
ped_facility | - | string | - | Optional. Type of pedestrian accommodation: unknown,none,shoulder,sidewalk,offstreet_path. | Allowed Values: unknown,none,shoulder,sidewalk,offstreet_path |
- | - | - | - |
parking | - | string | - | Optional. Type of parking: unknown,none,shoulder,sidewalk,offstreet_path. | Allowed Values: unknown,none,shoulder,sidewalk,offstreet_path |
- | - | - | - |
toll | - | number | - | Optional. Toll in currency units | - | - | - | - | - |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - | - | - |
location
name | required | type | foreign_key | description | constraints minimum |
---|---|---|---|---|---|
loc_id | True | any | - | Primary key. Location ID. | - |
link_id | True | any | Table: link , Variable: link_id |
Required. Road Link ID. Foreign Key from Road_Link. | - |
ref_node_id | True | any | Table: node , Variable: node_id |
Required. The From node of the link. Foreign Key from Node. | - |
lr | True | number | - | Required. Linear Reference of the location, measured as distance in short_length units along the link from the reference node. If link_geometry exists, it is used. Otherwise, link geometry is assumed to be a crow-fly distance from A node to B node. | 0 |
x_coord | - | number | - | Optional. Either provided, or derived from Link, Ref_Node and LR. | - |
y_coord | - | number | - | Optional. Either provided, or derived from Link, Ref_Node and LR. | - |
z_coord | - | number | - | Optional. Altitude in short_length units. | - |
loc_type | - | string | - | Optional. What it represents (driveway, bus stop, etc.) OpenStreetMap map feature names are recommended. | - |
zone_id | - | any | - | Optional. Foreign Key, Associated zone | - |
gtfs_stop_id | - | string | - | Optional. Foreign Key to GTFS data. For bus stops and transit station entrances, provides a link to the General Transit Feed Specification. | - |
lane_tod
name | required | type | foreign_key | description | constraints enum | constraints maximum | constraints minimum |
---|---|---|---|---|---|---|---|
lane_tod_id | True | any | - | Primary key. | - | - | - |
lane_id | True | any | Table: lane , Variable: lane_id |
Required. Foreign key to lane |
- | - | - |
timeday_id | - | any | Table: time_set_definitions , Variable: timeday_id |
Conditionally required (either timeday_id or time_day). Foreign key to time_set_definitions. | - | - | - |
time_day | - | string | - | Conditionally required (either timeday_id or time_day). XXXXXXXX_HHMM_HHMM, where XXXXXXXX is a bitmap of days of the week, Sunday-Saturday, Holiday. The HHMM are the start and end times. | - | - | - |
lane_num | True | integer | - | Required. Lane number identified as offset to the right from the centerline. i.e. -1, 1, 2 (use left-to-rightnumbering). | - | 10 | -10 |
allowed_uses | - | string | - | Optional. Set of allowed uses that should appear in either the use_definition or use_group tables; comma-separated. | - | - | - |
r_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right. - none (the default). Indicates that a vehicle can change lanes, provided that the vehicle-type is permitted in the destination lane- Regulatory . There is a regulatory prohibition (e.g., a double-white solid line) against changing lanes, but no physical barrier- Physical . A physical barrier (e.g., a curb, Jersey barrier) is in place. |
Allowed Values: none,regulatory,physical |
- | - |
l_barrier | - | string | - | Optional. Whether a barrier exists to prevent vehicles from changing lanes to the right. - none (the default). Indicates that a vehicle can change lanes, provided that the vehicle-type is permitted in the destination lane- Regulatory . There is a regulatory prohibition (e.g., a double-white solid line) against changing lanes, but no physical barrier- Physical . A physical barrier (e.g., a curb, Jersey barrier) is in place. |
Allowed Values: none,regulatory,physical |
- | - |
width | - | number | - | Optional. Width of the lane, short_length units. | - | - | 0 |
use_group
name | required | type | foreign_key | description |
---|---|---|---|---|
use_group | True | string | - | Primary key. |
uses | True | string | - | Comma-separated list of uses. |
description | - | string | - | Optional. |