Skip to content

ISIAPILaneApproach Interface

Namespace: SIDRASolutions.SI.API
Assembly: SIDRASolutions.SI.API.dll COM CLSID: 0A26C311-D793-4562-87D2-C479DC7D4598

Declaration

[Guid("0A26C311-D793-4562-87D2-C479DC7D4598")]
public interface ISIAPILaneApproach

Get an instance

// Navigate to the ISIAPILaneApproach you need via the ISIAPI tree.
// See ISIAPI for the activation root.
var laneApproach = /* ... */;
' Navigate to the ISIAPILaneApproach you need via the ISIAPI tree.
' See ISIAPI for the activation root.
Dim laneApproach As ISIAPILaneApproach = Nothing
# Navigate to the ISIAPILaneApproach you need via the ISIAPI tree.
# See ISIAPI for the activation root.
laneApproach = ...
# Navigate to the ISIAPILaneApproach you need via the ISIAPI tree.
# See ISIAPI for the activation root.
$laneApproach = $null

Properties

Laneno

Approach Lane Number, a one-based integer, counts Approach Lanes only from left to right looking in the direction of departure.

int Laneno { get; }

Type int

Code samples
int laneno = laneApproach.Laneno;
Dim laneno As Integer = laneApproach.Laneno
laneno = laneApproach.Laneno
$laneno = $laneApproach.Laneno

Position

Postion in the Leg, a one-based integer, counts Approach Lanes, Exit Lanes and Islands from left to right looking to the centre of the Intersection.

int Position { get; }

Type int

Code samples
int position = laneApproach.Position;
Dim position As Integer = laneApproach.Position
position = laneApproach.Position
$position = $laneApproach.Position

Configuration

Lane Configuration

int Configuration { get; set; }

Type int

Value

One of:

  • 1 - Full-Length Lane
  • 2 - Short Lane
  • 3 - Short Lane with Parking
  • 4 - Two-Segment Lane
Code samples
int configuration = laneApproach.Configuration;
laneApproach.Configuration = 0;
Dim configuration As Integer = laneApproach.Configuration
laneApproach.Configuration = 0
configuration = laneApproach.Configuration
laneApproach.Configuration = 0
$configuration = $laneApproach.Configuration
$laneApproach.Configuration = 0

Type

Lane Type

int Type { get; set; }

Type int

Value

One of:

  • 1 - Normal
  • 2 - Slip/Bypass (High Angle)
  • 3 - Slip/Bypass (Low Angle)
Code samples
int type = laneApproach.Type;
laneApproach.Type = 0;
Dim type As Integer = laneApproach.Type
laneApproach.Type = 0
type = laneApproach.Type
laneApproach.Type = 0
$type = $laneApproach.Type
$laneApproach.Type = 0

Control_type

Lane Control Type

int Control_type { get; set; }

Type int

Value

One of:

  • 1 - Signals
  • 2 - Giveway/Yield
  • 3 - Stop
  • 4 - Continuous
Code samples
int control_type = laneApproach.Control_type;
laneApproach.Control_type = 0;
Dim control_type As Integer = laneApproach.Control_type
laneApproach.Control_type = 0
control_type = laneApproach.Control_type
laneApproach.Control_type = 0
$control_type = $laneApproach.Control_type
$laneApproach.Control_type = 0

Length

Lane Length

float Length { get; set; }

Type float

Remarks

For Full-Length Lane or Two-Segment Lane, this is the Length of the whole Lane; for Short Lane or Short Lane with Parking, this is synchronized with the Segment 1 Length

Code samples
float length = laneApproach.Length;
laneApproach.Length = 0.0;
Dim length As Single = laneApproach.Length
laneApproach.Length = 0.0
length = laneApproach.Length
laneApproach.Length = 0.0
$length = $laneApproach.Length
$laneApproach.Length = 0.0

Width

float Width { get; set; }

Type float

Code samples
float width = laneApproach.Width;
laneApproach.Width = 0.0;
Dim width As Single = laneApproach.Width
laneApproach.Width = 0.0
width = laneApproach.Width
laneApproach.Width = 0.0
$width = $laneApproach.Width
$laneApproach.Width = 0.0

Grade

float Grade { get; set; }

Type float

Code samples
float grade = laneApproach.Grade;
laneApproach.Grade = 0.0;
Dim grade As Single = laneApproach.Grade
laneApproach.Grade = 0.0
grade = laneApproach.Grade
laneApproach.Grade = 0.0
$grade = $laneApproach.Grade
$laneApproach.Grade = 0.0

Slip_control_type

Slip/Bypass Lane Control Type, apply to exclusive Slip/Bypass Lane or the Slip/Bypass part of a Shared Slip/Bypass Lane.

int Slip_control_type { get; set; }

Type int

Value

One of:

  • 1 - Signals
  • 2 - Giveway/Yield
  • 3 - Stop
  • 4 - Continuous
Code samples
int slip_control_type = laneApproach.Slip_control_type;
laneApproach.Slip_control_type = 0;
Dim slip_control_type As Integer = laneApproach.Slip_control_type
laneApproach.Slip_control_type = 0
slip_control_type = laneApproach.Slip_control_type
laneApproach.Slip_control_type = 0
$slip_control_type = $laneApproach.Slip_control_type
$laneApproach.Slip_control_type = 0

Basic_saturation_flow

int Basic_saturation_flow { get; set; }

Type int

Code samples
int basic_saturation_flow = laneApproach.Basic_saturation_flow;
laneApproach.Basic_saturation_flow = 0;
Dim basic_saturation_flow As Integer = laneApproach.Basic_saturation_flow
laneApproach.Basic_saturation_flow = 0
basic_saturation_flow = laneApproach.Basic_saturation_flow
laneApproach.Basic_saturation_flow = 0
$basic_saturation_flow = $laneApproach.Basic_saturation_flow
$laneApproach.Basic_saturation_flow = 0

Utilisation_user

bool Utilisation_user { get; set; }

Type bool

Code samples
bool utilisation_user = laneApproach.Utilisation_user;
laneApproach.Utilisation_user = true;
Dim utilisation_user As Boolean = laneApproach.Utilisation_user
laneApproach.Utilisation_user = true
utilisation_user = laneApproach.Utilisation_user
laneApproach.Utilisation_user = True
$utilisation_user = $laneApproach.Utilisation_user
$laneApproach.Utilisation_user = $true

Utilisation

float Utilisation { get; set; }

Type float

Code samples
float utilisation = laneApproach.Utilisation;
laneApproach.Utilisation = 0.0;
Dim utilisation As Single = laneApproach.Utilisation
laneApproach.Utilisation = 0.0
utilisation = laneApproach.Utilisation
laneApproach.Utilisation = 0.0
$utilisation = $laneApproach.Utilisation
$laneApproach.Utilisation = 0.0

Saturation_speed_user

bool Saturation_speed_user { get; set; }

Type bool

Code samples
bool saturation_speed_user = laneApproach.Saturation_speed_user;
laneApproach.Saturation_speed_user = true;
Dim saturation_speed_user As Boolean = laneApproach.Saturation_speed_user
laneApproach.Saturation_speed_user = true
saturation_speed_user = laneApproach.Saturation_speed_user
laneApproach.Saturation_speed_user = True
$saturation_speed_user = $laneApproach.Saturation_speed_user
$laneApproach.Saturation_speed_user = $true

Saturation_speed

float Saturation_speed { get; set; }

Type float

Code samples
float saturation_speed = laneApproach.Saturation_speed;
laneApproach.Saturation_speed = 0.0;
Dim saturation_speed As Single = laneApproach.Saturation_speed
laneApproach.Saturation_speed = 0.0
saturation_speed = laneApproach.Saturation_speed
laneApproach.Saturation_speed = 0.0
$saturation_speed = $laneApproach.Saturation_speed
$laneApproach.Saturation_speed = 0.0

Capacity_adjustment

float Capacity_adjustment { get; set; }

Type float

Code samples
float capacity_adjustment = laneApproach.Capacity_adjustment;
laneApproach.Capacity_adjustment = 0.0;
Dim capacity_adjustment As Single = laneApproach.Capacity_adjustment
laneApproach.Capacity_adjustment = 0.0
capacity_adjustment = laneApproach.Capacity_adjustment
laneApproach.Capacity_adjustment = 0.0
$capacity_adjustment = $laneApproach.Capacity_adjustment
$laneApproach.Capacity_adjustment = 0.0

Is_capacity_adj_for_network

bool Is_capacity_adj_for_network { get; set; }

Type bool

Code samples
bool is_capacity_adj_for_network = laneApproach.Is_capacity_adj_for_network;
laneApproach.Is_capacity_adj_for_network = true;
Dim is_capacity_adj_for_network As Boolean = laneApproach.Is_capacity_adj_for_network
laneApproach.Is_capacity_adj_for_network = true
is_capacity_adj_for_network = laneApproach.Is_capacity_adj_for_network
laneApproach.Is_capacity_adj_for_network = True
$is_capacity_adj_for_network = $laneApproach.Is_capacity_adj_for_network
$laneApproach.Is_capacity_adj_for_network = $true

Is_dominant_lane

bool Is_dominant_lane { get; set; }

Type bool

Code samples
bool is_dominant_lane = laneApproach.Is_dominant_lane;
laneApproach.Is_dominant_lane = true;
Dim is_dominant_lane As Boolean = laneApproach.Is_dominant_lane
laneApproach.Is_dominant_lane = true
is_dominant_lane = laneApproach.Is_dominant_lane
laneApproach.Is_dominant_lane = True
$is_dominant_lane = $laneApproach.Is_dominant_lane
$laneApproach.Is_dominant_lane = $true

Is_sliplane_included_in_entry_lane_count

bool Is_sliplane_included_in_entry_lane_count { get; set; }

Type bool

Code samples
bool is_sliplane_included_in_entry_lane_count = laneApproach.Is_sliplane_included_in_entry_lane_count;
laneApproach.Is_sliplane_included_in_entry_lane_count = true;
Dim is_sliplane_included_in_entry_lane_count As Boolean = laneApproach.Is_sliplane_included_in_entry_lane_count
laneApproach.Is_sliplane_included_in_entry_lane_count = true
is_sliplane_included_in_entry_lane_count = laneApproach.Is_sliplane_included_in_entry_lane_count
laneApproach.Is_sliplane_included_in_entry_lane_count = True
$is_sliplane_included_in_entry_lane_count = $laneApproach.Is_sliplane_included_in_entry_lane_count
$laneApproach.Is_sliplane_included_in_entry_lane_count = $true

Buses_stopping_user

bool Buses_stopping_user { get; set; }

Type bool

Code samples
bool buses_stopping_user = laneApproach.Buses_stopping_user;
laneApproach.Buses_stopping_user = true;
Dim buses_stopping_user As Boolean = laneApproach.Buses_stopping_user
laneApproach.Buses_stopping_user = true
buses_stopping_user = laneApproach.Buses_stopping_user
laneApproach.Buses_stopping_user = True
$buses_stopping_user = $laneApproach.Buses_stopping_user
$laneApproach.Buses_stopping_user = $true

Buses_stopping

int Buses_stopping { get; set; }

Type int

Code samples
int buses_stopping = laneApproach.Buses_stopping;
laneApproach.Buses_stopping = 0;
Dim buses_stopping As Integer = laneApproach.Buses_stopping
laneApproach.Buses_stopping = 0
buses_stopping = laneApproach.Buses_stopping
laneApproach.Buses_stopping = 0
$buses_stopping = $laneApproach.Buses_stopping
$laneApproach.Buses_stopping = 0

Parking_manoeuvres_user

bool Parking_manoeuvres_user { get; set; }

Type bool

Code samples
bool parking_manoeuvres_user = laneApproach.Parking_manoeuvres_user;
laneApproach.Parking_manoeuvres_user = true;
Dim parking_manoeuvres_user As Boolean = laneApproach.Parking_manoeuvres_user
laneApproach.Parking_manoeuvres_user = true
parking_manoeuvres_user = laneApproach.Parking_manoeuvres_user
laneApproach.Parking_manoeuvres_user = True
$parking_manoeuvres_user = $laneApproach.Parking_manoeuvres_user
$laneApproach.Parking_manoeuvres_user = $true

Parking_manoeuvres

int Parking_manoeuvres { get; set; }

Type int

Code samples
int parking_manoeuvres = laneApproach.Parking_manoeuvres;
laneApproach.Parking_manoeuvres = 0;
Dim parking_manoeuvres As Integer = laneApproach.Parking_manoeuvres
laneApproach.Parking_manoeuvres = 0
parking_manoeuvres = laneApproach.Parking_manoeuvres
laneApproach.Parking_manoeuvres = 0
$parking_manoeuvres = $laneApproach.Parking_manoeuvres
$laneApproach.Parking_manoeuvres = 0

Is_sliplane_excluded_from_signal_analysis

bool Is_sliplane_excluded_from_signal_analysis { get; set; }

Type bool

Code samples
bool is_sliplane_excluded_from_signal_analysis = laneApproach.Is_sliplane_excluded_from_signal_analysis;
laneApproach.Is_sliplane_excluded_from_signal_analysis = true;
Dim is_sliplane_excluded_from_signal_analysis As Boolean = laneApproach.Is_sliplane_excluded_from_signal_analysis
laneApproach.Is_sliplane_excluded_from_signal_analysis = true
is_sliplane_excluded_from_signal_analysis = laneApproach.Is_sliplane_excluded_from_signal_analysis
laneApproach.Is_sliplane_excluded_from_signal_analysis = True
$is_sliplane_excluded_from_signal_analysis = $laneApproach.Is_sliplane_excluded_from_signal_analysis
$laneApproach.Is_sliplane_excluded_from_signal_analysis = $true

LaneApproachMovements

Approach Lane Movements, defines the Vehicle Approach Movements (per Movement Class) running on this Approach Lane. It always returns eight Movements to the eight destinations (0: South, 1: South East, ... 7: South West).

ISIAPILaneApproachMovements LaneApproachMovements { get; }

Type ISIAPILaneApproachMovements

Code samples
var laneApproachMovements = laneApproach.LaneApproachMovements;
Dim laneApproachMovements As ISIAPILaneApproachMovements = laneApproach.LaneApproachMovements
lane_approach_movements = laneApproach.LaneApproachMovements
$laneApproachMovements = $laneApproach.LaneApproachMovements

LaneMovements

ISIAPILaneMovements LaneMovements { get; }

Type ISIAPILaneMovements

Code samples
var laneMovements = laneApproach.LaneMovements;
Dim laneMovements As ISIAPILaneMovements = laneApproach.LaneMovements
lane_movements = laneApproach.LaneMovements
$laneMovements = $laneApproach.LaneMovements

Segment1

Lane Segement 1

ISIAPILaneSegment Segment1 { get; }

Type ISIAPILaneSegment

Code samples
var segment1 = laneApproach.Segment1;
Dim segment1 As ISIAPILaneSegment = laneApproach.Segment1
segment1 = laneApproach.Segment1
$segment1 = $laneApproach.Segment1

Segment2

Lane Segement 2

ISIAPILaneSegment Segment2 { get; }

Type ISIAPILaneSegment

Code samples
var segment2 = laneApproach.Segment2;
Dim segment2 As ISIAPILaneSegment = laneApproach.Segment2
segment2 = laneApproach.Segment2
$segment2 = $laneApproach.Segment2

Leg

ISIAPILeg Leg { get; }

Type ISIAPILeg

Code samples
var leg = laneApproach.Leg;
Dim leg As ISIAPILeg = laneApproach.Leg
leg = laneApproach.Leg
$leg = $laneApproach.Leg

Is_departure_headway_awsc_applied

bool Is_departure_headway_awsc_applied { get; set; }

Type bool

Code samples
bool is_departure_headway_awsc_applied = laneApproach.Is_departure_headway_awsc_applied;
laneApproach.Is_departure_headway_awsc_applied = true;
Dim is_departure_headway_awsc_applied As Boolean = laneApproach.Is_departure_headway_awsc_applied
laneApproach.Is_departure_headway_awsc_applied = true
is_departure_headway_awsc_applied = laneApproach.Is_departure_headway_awsc_applied
laneApproach.Is_departure_headway_awsc_applied = True
$is_departure_headway_awsc_applied = $laneApproach.Is_departure_headway_awsc_applied
$laneApproach.Is_departure_headway_awsc_applied = $true

Departure_headway_awsc

float Departure_headway_awsc { get; set; }

Type float

Code samples
float departure_headway_awsc = laneApproach.Departure_headway_awsc;
laneApproach.Departure_headway_awsc = 0.0;
Dim departure_headway_awsc As Single = laneApproach.Departure_headway_awsc
laneApproach.Departure_headway_awsc = 0.0
departure_headway_awsc = laneApproach.Departure_headway_awsc
laneApproach.Departure_headway_awsc = 0.0
$departure_headway_awsc = $laneApproach.Departure_headway_awsc
$laneApproach.Departure_headway_awsc = 0.0

LastErrorMessage

string LastErrorMessage { get; }

Type string

Code samples
string lastErrorMessage = laneApproach.LastErrorMessage;
Dim lastErrorMessage As String = laneApproach.LastErrorMessage
last_error_message = laneApproach.LastErrorMessage
$lastErrorMessage = $laneApproach.LastErrorMessage

Is_satn_flow_estimation_applied

bool Is_satn_flow_estimation_applied { get; set; }

Type bool

Code samples
bool is_satn_flow_estimation_applied = laneApproach.Is_satn_flow_estimation_applied;
laneApproach.Is_satn_flow_estimation_applied = true;
Dim is_satn_flow_estimation_applied As Boolean = laneApproach.Is_satn_flow_estimation_applied
laneApproach.Is_satn_flow_estimation_applied = true
is_satn_flow_estimation_applied = laneApproach.Is_satn_flow_estimation_applied
laneApproach.Is_satn_flow_estimation_applied = True
$is_satn_flow_estimation_applied = $laneApproach.Is_satn_flow_estimation_applied
$laneApproach.Is_satn_flow_estimation_applied = $true

Shortlane_capacity_option

Short Lane Capacity (Calibration Options)

int Shortlane_capacity_option { get; set; }

Type int

Value

One of:

  • 0 - Program
  • 1 - Do Not Apply
  • 2 - Calibration Factor
Code samples
int shortlane_capacity_option = laneApproach.Shortlane_capacity_option;
laneApproach.Shortlane_capacity_option = 0;
Dim shortlane_capacity_option As Integer = laneApproach.Shortlane_capacity_option
laneApproach.Shortlane_capacity_option = 0
shortlane_capacity_option = laneApproach.Shortlane_capacity_option
laneApproach.Shortlane_capacity_option = 0
$shortlane_capacity_option = $laneApproach.Shortlane_capacity_option
$laneApproach.Shortlane_capacity_option = 0

Shortlane_capacity_factor

float Shortlane_capacity_factor { get; set; }

Type float

Code samples
float shortlane_capacity_factor = laneApproach.Shortlane_capacity_factor;
laneApproach.Shortlane_capacity_factor = 0.0;
Dim shortlane_capacity_factor As Single = laneApproach.Shortlane_capacity_factor
laneApproach.Shortlane_capacity_factor = 0.0
shortlane_capacity_factor = laneApproach.Shortlane_capacity_factor
laneApproach.Shortlane_capacity_factor = 0.0
$shortlane_capacity_factor = $laneApproach.Shortlane_capacity_factor
$laneApproach.Shortlane_capacity_factor = 0.0

Delay_model_param_user

bool Delay_model_param_user { get; set; }

Type bool

Code samples
bool delay_model_param_user = laneApproach.Delay_model_param_user;
laneApproach.Delay_model_param_user = true;
Dim delay_model_param_user As Boolean = laneApproach.Delay_model_param_user
laneApproach.Delay_model_param_user = true
delay_model_param_user = laneApproach.Delay_model_param_user
laneApproach.Delay_model_param_user = True
$delay_model_param_user = $laneApproach.Delay_model_param_user
$laneApproach.Delay_model_param_user = $true

Delay_model_param

float Delay_model_param { get; set; }

Type float

Code samples
float delay_model_param = laneApproach.Delay_model_param;
laneApproach.Delay_model_param = 0.0;
Dim delay_model_param As Single = laneApproach.Delay_model_param
laneApproach.Delay_model_param = 0.0
delay_model_param = laneApproach.Delay_model_param
laneApproach.Delay_model_param = 0.0
$delay_model_param = $laneApproach.Delay_model_param
$laneApproach.Delay_model_param = 0.0

Initial_demand_vol

float Initial_demand_vol { get; set; }

Type float

Code samples
float initial_demand_vol = laneApproach.Initial_demand_vol;
laneApproach.Initial_demand_vol = 0.0;
Dim initial_demand_vol As Single = laneApproach.Initial_demand_vol
laneApproach.Initial_demand_vol = 0.0
initial_demand_vol = laneApproach.Initial_demand_vol
laneApproach.Initial_demand_vol = 0.0
$initial_demand_vol = $laneApproach.Initial_demand_vol
$laneApproach.Initial_demand_vol = 0.0

Width_midblock

Lane Width (Upstream) of this Approach Lane

float Width_midblock { get; set; }

Type float

Code samples
float width_midblock = laneApproach.Width_midblock;
laneApproach.Width_midblock = 0.0;
Dim width_midblock As Single = laneApproach.Width_midblock
laneApproach.Width_midblock = 0.0
width_midblock = laneApproach.Width_midblock
laneApproach.Width_midblock = 0.0
$width_midblock = $laneApproach.Width_midblock
$laneApproach.Width_midblock = 0.0

Width_slip

float Width_slip { get; set; }

Type float

Code samples
float width_slip = laneApproach.Width_slip;
laneApproach.Width_slip = 0.0;
Dim width_slip As Single = laneApproach.Width_slip
laneApproach.Width_slip = 0.0
width_slip = laneApproach.Width_slip
laneApproach.Width_slip = 0.0
$width_slip = $laneApproach.Width_slip
$laneApproach.Width_slip = 0.0

Methods

RemoveDisciplines()

Clear all Disciplines on this Approach Lane, i.e. all ISIAPILaneApproachMovementMC data of this Approach Lane are set to not existing (ISIAPILaneApproachMovementMC.Exists = false).

bool RemoveDisciplines()

Returns bool - true if all Disciplines are removed successfully; otherwise, false.

Code samples
bool result = laneApproach.RemoveDisciplines();
Dim result As Boolean = laneApproach.RemoveDisciplines()
result = laneApproach.RemoveDisciplines()
$result = $laneApproach.RemoveDisciplines()