connection table structure#
The connections table lists the possible turns from one link into another (or itself). It specifies the lane(s) in the origin and destination links that are connected, as well as the detail of topological direction in each link that corresponds to that connection.
Geometry information is provided solely for visualization purposes
| Field | Type | NULL allowed | Default Value | Foreign key | Description | 
|---|---|---|---|---|---|
| conn* | INTEGER | NO | |||
| link | INTEGER | YES | Link(link) | bidirectional link for the upstream link of the connection | |
| dir | INTEGER | NO | 0 | direction (0 for ab, 1 for ba) of the upstream link of the connection | |
| node | INTEGER | YES | Node(node) | incident node of the connection (set by POLARIS) | |
| to_link | INTEGER | NO | Link(to_link) | downstream bidirectinal link of the connection | |
| to_dir | INTEGER | YES | direction (1 for ab, 1 for ba) of the downstream link of the connection | ||
| lanes | TEXT | YES | ‘’ | number of lanes in the upstream link that can be used for the connection (not used for all models) | |
| to_lanes | TEXT | NO | ‘’ | number of lanes in the downstream link that can be used for the connection (not used for all models) | |
| type | TEXT | NO | ‘’ | movement type (THRU, RIGHT, LEFT, UTURN) | |
| penalty | INTEGER | NO | 0 | Not used by POLARIS | |
| speed | REAL | YES | 0 | Not used by POLARIS | |
| capacity | INTEGER | NO | 0 | Not used by POLARIS | |
| in_high | INTEGER | NO | 0 | Not used by POLARIS | |
| out_high | INTEGER | NO | 0 | Not used by POLARIS | |
| approximation | TEXT | NO | ‘’ | directional approximation SB (southbound), EB, NB or WB | |
| geo | LINESTRING | YES | 
(* - Primary key)
The SQL statement for table and index creation is below.
CREATE TABLE IF NOT EXISTS Connection(
    conn        INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    link        INTEGER,
    dir         INTEGER NOT NULL DEFAULT 0,
    node        INTEGER,
    to_link     INTEGER NOT NULL,
    to_dir      INTEGER,
    lanes       TEXT             DEFAULT '',
    to_lanes    TEXT    NOT NULL DEFAULT '',
    "type"        TEXT    NOT NULL DEFAULT '',
    penalty     INTEGER NOT NULL DEFAULT 0,
    speed       REAL             DEFAULT 0,
    capacity    INTEGER NOT NULL DEFAULT 0,
    in_high     INTEGER NOT NULL DEFAULT 0,
    out_high    INTEGER NOT NULL DEFAULT 0,
    approximation TEXT    NOT NULL DEFAULT '',
    CONSTRAINT "link_fk" FOREIGN KEY("link") REFERENCES "Link"("link") ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
    CONSTRAINT "to_link_fk" FOREIGN KEY("to_link") REFERENCES "Link"("link") ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
    CONSTRAINT "node_fk" FOREIGN KEY("node") REFERENCES "Node"("node") ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED
);
SELECT AddGeometryColumn( 'Connection', 'geo', SRID_PARAMETER, 'LINESTRING', 'XY');
SELECT CreateSpatialIndex( 'Connection' , 'geo' );
create INDEX IF NOT EXISTS "idx_polaris_conn_node" ON "Connection" ("node");
create INDEX IF NOT EXISTS "idx_polaris_conn_lanes" ON "Connection" ("lanes");
create INDEX IF NOT EXISTS "idx_polaris_conn_to_lanes" ON "Connection" ("to_lanes");
create INDEX IF NOT EXISTS "idx_polaris_conn_link" ON "Connection" ("link");
create INDEX IF NOT EXISTS "idx_polaris_conn_to_link" ON "Connection" ("to_link");