Skip to content

ISIAPISite Interface

Namespace: SIDRASolutions.SI.API
Assembly: SIDRASolutions.SI.API.dll COM CLSID: 44804DC5-326B-4BA7-B90C-F1D7FDD3AC22

SIDRA INTERSECTION Site wrapper interface

Declaration

[Guid("44804DC5-326B-4BA7-B90C-F1D7FDD3AC22")]
public interface ISIAPISite

Get an instance

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

Properties

Name

Site name

string Name { get; set; }

Type string

Value

The site name, max length = 100.

Code samples
string name = site.Name;
site.Name = @"Example";
Dim name As String = site.Name
site.Name = "Example"
name = site.Name
site.Name = r"Example"
$name = $site.Name
$site.Name = "Example"

Intersectionid

Site ID in the Intersection dialog and reports. It was named as "Intersection ID" in the old versions.

string Intersectionid { get; set; }

Type string

Value

Site ID, max length = 10.

Code samples
string intersectionid = site.Intersectionid;
site.Intersectionid = @"id-1";
Dim intersectionid As String = site.Intersectionid
site.Intersectionid = "id-1"
intersectionid = site.Intersectionid
site.Intersectionid = r"id-1"
$intersectionid = $site.Intersectionid
$site.Intersectionid = "id-1"

Position

The Site Position in the Site Folder's Sites collection. It is a zero-base integer.

int Position { get; }

Type int

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

Site_id

The GUID of the Site object.

string Site_id { get; }

Type string

Code samples
string site_id = site.Site_id;
Dim site_id As String = site.Site_id
site_id = site.Site_id
$site_id = $site.Site_id

MovementClasses

Collection of the Site's Movement Classes

ISIAPIMovementClasses MovementClasses { get; }

Type ISIAPIMovementClasses

Code samples
var movementClasses = site.MovementClasses;
Dim movementClasses As ISIAPIMovementClasses = site.MovementClasses
movement_classes = site.MovementClasses
$movementClasses = $site.MovementClasses

Legs

ISIAPILegs Legs { get; }

Type ISIAPILegs

Code samples
var legs = site.Legs;
Dim legs As ISIAPILegs = site.Legs
legs = site.Legs
$legs = $site.Legs

MovementVehicleODs

Collection of the Site's Vehicle Approach Movements

ISIAPIMovement_vehicle_ods MovementVehicleODs { get; }

Type ISIAPIMovement_vehicle_ods

Code samples
var movementVehicleODs = site.MovementVehicleODs;
Dim movementVehicleODs As ISIAPIMovement_vehicle_ods = site.MovementVehicleODs
movement_vehicle_o_ds = site.MovementVehicleODs
$movementVehicleODs = $site.MovementVehicleODs

MovementPeds

Collection of the Site's Pedestrian Movements

ISIAPIMovement_peds MovementPeds { get; }

Type ISIAPIMovement_peds

Code samples
var movementPeds = site.MovementPeds;
Dim movementPeds As ISIAPIMovement_peds = site.MovementPeds
movement_peds = site.MovementPeds
$movementPeds = $site.MovementPeds

Sequences

ISIAPISequences Sequences { get; }

Type ISIAPISequences

Code samples
var sequences = site.Sequences;
Dim sequences As ISIAPISequences = site.Sequences
sequences = site.Sequences
$sequences = $site.Sequences

ModelSetting

ISIAPIModelSetting ModelSetting { get; }

Type ISIAPIModelSetting

Code samples
var modelSetting = site.ModelSetting;
Dim modelSetting As ISIAPIModelSetting = site.ModelSetting
model_setting = site.ModelSetting
$modelSetting = $site.ModelSetting

Analysis

ISIAPIAnalysis Analysis { get; }

Type ISIAPIAnalysis

Code samples
var analysis = site.Analysis;
Dim analysis As ISIAPIAnalysis = site.Analysis
analysis = site.Analysis
$analysis = $site.Analysis

GapAcceptanceTurnOnRed

ISIAPIGapAcceptanceSpecificApp GapAcceptanceTurnOnRed { get; }

Type ISIAPIGapAcceptanceSpecificApp

Code samples
var gapAcceptanceTurnOnRed = site.GapAcceptanceTurnOnRed;
Dim gapAcceptanceTurnOnRed As ISIAPIGapAcceptanceSpecificApp = site.GapAcceptanceTurnOnRed
gap_acceptance_turn_on_red = site.GapAcceptanceTurnOnRed
$gapAcceptanceTurnOnRed = $site.GapAcceptanceTurnOnRed

TwoWaySignControlAdjMajorNumLanes

ISIAPITwoWaySignControlAdjMajorNumLanes TwoWaySignControlAdjMajorNumLanes { get; }

Type ISIAPITwoWaySignControlAdjMajorNumLanes

Code samples
var twoWaySignControlAdjMajorNumLanes = site.TwoWaySignControlAdjMajorNumLanes;
Dim twoWaySignControlAdjMajorNumLanes As ISIAPITwoWaySignControlAdjMajorNumLanes = site.TwoWaySignControlAdjMajorNumLanes
two_way_sign_control_adj_major_num_lanes = site.TwoWaySignControlAdjMajorNumLanes
$twoWaySignControlAdjMajorNumLanes = $site.TwoWaySignControlAdjMajorNumLanes

TwoWaySignControlAdjGeometryControls

ISIAPITwoWaySignControlAdjGeometryControls TwoWaySignControlAdjGeometryControls { get; }

Type ISIAPITwoWaySignControlAdjGeometryControls

Code samples
var twoWaySignControlAdjGeometryControls = site.TwoWaySignControlAdjGeometryControls;
Dim twoWaySignControlAdjGeometryControls As ISIAPITwoWaySignControlAdjGeometryControls = site.TwoWaySignControlAdjGeometryControls
two_way_sign_control_adj_geometry_controls = site.TwoWaySignControlAdjGeometryControls
$twoWaySignControlAdjGeometryControls = $site.TwoWaySignControlAdjGeometryControls

Outputset

Site output data

ISIAPIOutputset Outputset { get; }

Type ISIAPIOutputset

Code samples
var outputset = site.Outputset;
Dim outputset As ISIAPIOutputset = site.Outputset
outputset = site.Outputset
$outputset = $site.Outputset

Project

ISIAPIProject Project { get; }

Type ISIAPIProject

Code samples
var project = site.Project;
Dim project As ISIAPIProject = site.Project
project = site.Project
$project = $site.Project

ProcessingError

Error message after a failed call to Process

string ProcessingError { get; }

Type string

Value

Error message

Code samples
string processingError = site.ProcessingError;
Dim processingError As String = site.ProcessingError
processing_error = site.ProcessingError
$processingError = $site.ProcessingError

ProcessingWarnings

Processing warnings generated during a call to Process

string ProcessingWarnings { get; }

Type string

Code samples
string processingWarnings = site.ProcessingWarnings;
Dim processingWarnings As String = site.ProcessingWarnings
processing_warnings = site.ProcessingWarnings
$processingWarnings = $site.ProcessingWarnings

HasWarnings

Flag indicating whether warnings were generated during a call to Process

bool HasWarnings { get; }

Type bool

Value

True if warnings were generated. False otherwise.

Code samples
bool hasWarnings = site.HasWarnings;
Dim hasWarnings As Boolean = site.HasWarnings
has_warnings = site.HasWarnings
$hasWarnings = $site.HasWarnings

LastErrorMessage

string LastErrorMessage { get; }

Type string

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

DiagnosticStatus

Diagnostic Status

int DiagnosticStatus { get; }

Type int

Value

One of:

  • 1 - Processed
  • 2 - Not Processed
  • 3 - Input Warning
  • 4 - Processing Warning
  • 5 - Error
Code samples
int diagnosticStatus = site.DiagnosticStatus;
Dim diagnosticStatus As Integer = site.DiagnosticStatus
diagnostic_status = site.DiagnosticStatus
$diagnosticStatus = $site.DiagnosticStatus

DiagnosticMsgs

ISIAPIDiagnosticMsgs DiagnosticMsgs { get; }

Type ISIAPIDiagnosticMsgs

Code samples
var diagnosticMsgs = site.DiagnosticMsgs;
Dim diagnosticMsgs As ISIAPIDiagnosticMsgs = site.DiagnosticMsgs
diagnostic_msgs = site.DiagnosticMsgs
$diagnosticMsgs = $site.DiagnosticMsgs

Sitetype

Site Intersection type

int Sitetype { get; }

Type int

Value

One of:

  • 0 - At-Grade Intersection
  • 1 - Roundabout (Unsignalised)
  • 2 - Giveway/Yield (Two-Way)
  • 3 - Stop (Two-Way)
  • 4 - Stop (All-Way)
  • 5 - Single Point Interchange (Signals)
  • 6 - Pedestrian Crossing (Signalised)
  • 7 - Roundabout (Metering Signals)
  • 8 - Pedestrian Crossing (Unsignalised)
  • 9 - Arterial Segment
  • 10 - Freeway Basic Segment
  • 11 - Freeway Segment with Ramps (Two-Way)
  • 12 - Freeway Segment with Ramps (One-Way)
  • 13 - Turbo Roundabout
Code samples
int sitetype = site.Sitetype;
Dim sitetype As Integer = site.Sitetype
sitetype = site.Sitetype
$sitetype = $site.Sitetype

Sitecontroltype

Control method used at site

int Sitecontroltype { get; }

Type int

Value

One of:

  • 0 - Signals
  • 1 - Roundabout
  • 2 - Sign Control
  • 3 - All Way Stop
  • 4 - Uninterrupted
Code samples
int sitecontroltype = site.Sitecontroltype;
Dim sitecontroltype As Integer = site.Sitecontroltype
sitecontroltype = site.Sitecontroltype
$sitecontroltype = $site.Sitecontroltype

Driveonleft

Flag indicating the "Drive Rule" of the site

bool Driveonleft { get; }

Type bool

Value

True if driving on the left. False if driving on the right.

Code samples
bool driveonleft = site.Driveonleft;
Dim driveonleft As Boolean = site.Driveonleft
driveonleft = site.Driveonleft
$driveonleft = $site.Driveonleft

Units

General unit system used for data within the site

int Units { get; }

Type int

Value

One of:

  • 0 - Metric
  • 1 - US Units
Code samples
int units = site.Units;
Dim units As Integer = site.Units
units = site.Units
$units = $site.Units

Hcm

Flag indicating whether the site uses HCM

bool Hcm { get; }

Type bool

Value

True, if site uses HCM, False otherwise.

Code samples
bool hcm = site.Hcm;
Dim hcm As Boolean = site.Hcm
hcm = site.Hcm
$hcm = $site.Hcm

Modelsignature

The internal SIDRA INTERSECTION Software Setup signature GUID used by this site

string Modelsignature { get; }

Type string

Code samples
string modelsignature = site.Modelsignature;
Dim modelsignature As String = site.Modelsignature
modelsignature = site.Modelsignature
$modelsignature = $site.Modelsignature

ModelName

The internal SIDRA INTERSECTION Software Setup name

string ModelName { get; }

Type string

Code samples
string modelName = site.ModelName;
Dim modelName As String = site.ModelName
model_name = site.ModelName
$modelName = $site.ModelName

Freeway_orientation

int Freeway_orientation { get; }

Type int

Code samples
int freeway_orientation = site.Freeway_orientation;
Dim freeway_orientation As Integer = site.Freeway_orientation
freeway_orientation = site.Freeway_orientation
$freeway_orientation = $site.Freeway_orientation

Created_date

DateTime Created_date { get; }

Type DateTime

Code samples
var created_date = site.Created_date;
Dim created_date As DateTime = site.Created_date
created_date = site.Created_date
$created_date = $site.Created_date

Created_by

string Created_by { get; }

Type string

Code samples
string created_by = site.Created_by;
Dim created_by As String = site.Created_by
created_by = site.Created_by
$created_by = $site.Created_by

Created_by_company

string Created_by_company { get; }

Type string

Code samples
string created_by_company = site.Created_by_company;
Dim created_by_company As String = site.Created_by_company
created_by_company = site.Created_by_company
$created_by_company = $site.Created_by_company

Created_version

string Created_version { get; }

Type string

Code samples
string created_version = site.Created_version;
Dim created_version As String = site.Created_version
created_version = site.Created_version
$created_version = $site.Created_version

Modified_date

DateTime Modified_date { get; }

Type DateTime

Code samples
var modified_date = site.Modified_date;
Dim modified_date As DateTime = site.Modified_date
modified_date = site.Modified_date
$modified_date = $site.Modified_date

Modified_by

string Modified_by { get; }

Type string

Code samples
string modified_by = site.Modified_by;
Dim modified_by As String = site.Modified_by
modified_by = site.Modified_by
$modified_by = $site.Modified_by

Modified_by_company

string Modified_by_company { get; }

Type string

Code samples
string modified_by_company = site.Modified_by_company;
Dim modified_by_company As String = site.Modified_by_company
modified_by_company = site.Modified_by_company
$modified_by_company = $site.Modified_by_company

Modified_version

string Modified_version { get; }

Type string

Code samples
string modified_version = site.Modified_version;
Dim modified_version As String = site.Modified_version
modified_version = site.Modified_version
$modified_version = $site.Modified_version

Description

Site description

string Description { get; set; }

Type string

Value

Site description, max length = 500.

Code samples
string description = site.Description;
site.Description = @"value";
Dim description As String = site.Description
site.Description = "value"
description = site.Description
site.Description = r"value"
$description = $site.Description
$site.Description = "value"

Title

Site title

string Title { get; set; }

Type string

Value

Site title, max length = 500.

Code samples
string title = site.Title;
site.Title = @"value";
Dim title As String = site.Title
site.Title = "value"
title = site.Title
site.Title = r"value"
$title = $site.Title
$site.Title = "value"

Unittimeforvolumes

Unit time for traffic volumes in minutes

int Unittimeforvolumes { get; set; }

Type int

Code samples
int unittimeforvolumes = site.Unittimeforvolumes;
site.Unittimeforvolumes = 0;
Dim unittimeforvolumes As Integer = site.Unittimeforvolumes
site.Unittimeforvolumes = 0
unittimeforvolumes = site.Unittimeforvolumes
site.Unittimeforvolumes = 0
$unittimeforvolumes = $site.Unittimeforvolumes
$site.Unittimeforvolumes = 0

Peakflowperiod

Peak flow period in minutes

int Peakflowperiod { get; set; }

Type int

Code samples
int peakflowperiod = site.Peakflowperiod;
site.Peakflowperiod = 0;
Dim peakflowperiod As Integer = site.Peakflowperiod
site.Peakflowperiod = 0
peakflowperiod = site.Peakflowperiod
site.Peakflowperiod = 0
$peakflowperiod = $site.Peakflowperiod
$site.Peakflowperiod = 0

Signal_analysis_method

Signalised Site analysis method

int Signal_analysis_method { get; set; }

Type int

Value

One of:

  • 0 - Fixed-Time/Pretimed
  • 1 - Actuated
Code samples
int signal_analysis_method = site.Signal_analysis_method;
site.Signal_analysis_method = 0;
Dim signal_analysis_method As Integer = site.Signal_analysis_method
site.Signal_analysis_method = 0
signal_analysis_method = site.Signal_analysis_method
site.Signal_analysis_method = 0
$signal_analysis_method = $site.Signal_analysis_method
$site.Signal_analysis_method = 0

Costunit

string Costunit { get; set; }

Type string

Code samples
string costunit = site.Costunit;
site.Costunit = @"value";
Dim costunit As String = site.Costunit
site.Costunit = "value"
costunit = site.Costunit
site.Costunit = r"value"
$costunit = $site.Costunit
$site.Costunit = "value"

Rou_stopline_setback_dist

float Rou_stopline_setback_dist { get; set; }

Type float

Code samples
float rou_stopline_setback_dist = site.Rou_stopline_setback_dist;
site.Rou_stopline_setback_dist = 0.0;
Dim rou_stopline_setback_dist As Single = site.Rou_stopline_setback_dist
site.Rou_stopline_setback_dist = 0.0
rou_stopline_setback_dist = site.Rou_stopline_setback_dist
site.Rou_stopline_setback_dist = 0.0
$rou_stopline_setback_dist = $site.Rou_stopline_setback_dist
$site.Rou_stopline_setback_dist = 0.0

Rou_metered_start_loss

float Rou_metered_start_loss { get; set; }

Type float

Code samples
float rou_metered_start_loss = site.Rou_metered_start_loss;
site.Rou_metered_start_loss = 0.0;
Dim rou_metered_start_loss As Single = site.Rou_metered_start_loss
site.Rou_metered_start_loss = 0.0
rou_metered_start_loss = site.Rou_metered_start_loss
site.Rou_metered_start_loss = 0.0
$rou_metered_start_loss = $site.Rou_metered_start_loss
$site.Rou_metered_start_loss = 0.0

Rou_metered_end_gain

float Rou_metered_end_gain { get; set; }

Type float

Code samples
float rou_metered_end_gain = site.Rou_metered_end_gain;
site.Rou_metered_end_gain = 0.0;
Dim rou_metered_end_gain As Single = site.Rou_metered_end_gain
site.Rou_metered_end_gain = 0.0
rou_metered_end_gain = site.Rou_metered_end_gain
site.Rou_metered_end_gain = 0.0
$rou_metered_end_gain = $site.Rou_metered_end_gain
$site.Rou_metered_end_gain = 0.0

Rou_controlling_detector_setback_dist

float Rou_controlling_detector_setback_dist { get; set; }

Type float

Code samples
float rou_controlling_detector_setback_dist = site.Rou_controlling_detector_setback_dist;
site.Rou_controlling_detector_setback_dist = 0.0;
Dim rou_controlling_detector_setback_dist As Single = site.Rou_controlling_detector_setback_dist
site.Rou_controlling_detector_setback_dist = 0.0
rou_controlling_detector_setback_dist = site.Rou_controlling_detector_setback_dist
site.Rou_controlling_detector_setback_dist = 0.0
$rou_controlling_detector_setback_dist = $site.Rou_controlling_detector_setback_dist
$site.Rou_controlling_detector_setback_dist = 0.0

Rou_metered_leg_orientation

int Rou_metered_leg_orientation { get; set; }

Type int

Code samples
int rou_metered_leg_orientation = site.Rou_metered_leg_orientation;
site.Rou_metered_leg_orientation = 0;
Dim rou_metered_leg_orientation As Integer = site.Rou_metered_leg_orientation
site.Rou_metered_leg_orientation = 0
rou_metered_leg_orientation = site.Rou_metered_leg_orientation
site.Rou_metered_leg_orientation = 0
$rou_metered_leg_orientation = $site.Rou_metered_leg_orientation
$site.Rou_metered_leg_orientation = 0

Rou_controlling_leg_orientation

int Rou_controlling_leg_orientation { get; set; }

Type int

Code samples
int rou_controlling_leg_orientation = site.Rou_controlling_leg_orientation;
site.Rou_controlling_leg_orientation = 0;
Dim rou_controlling_leg_orientation As Integer = site.Rou_controlling_leg_orientation
site.Rou_controlling_leg_orientation = 0
rou_controlling_leg_orientation = site.Rou_controlling_leg_orientation
site.Rou_controlling_leg_orientation = 0
$rou_controlling_leg_orientation = $site.Rou_controlling_leg_orientation
$site.Rou_controlling_leg_orientation = 0

Category

Site Category

string Category { get; set; }

Type string

Value

Site Category, max length = 100.

Code samples
string category = site.Category;
site.Category = @"value";
Dim category As String = site.Category
site.Category = "value"
category = site.Category
site.Category = r"value"
$category = $site.Category
$site.Category = "value"

IsIncludedInProjectSummary

bool IsIncludedInProjectSummary { get; set; }

Type bool

Code samples
bool isIncludedInProjectSummary = site.IsIncludedInProjectSummary;
site.IsIncludedInProjectSummary = true;
Dim isIncludedInProjectSummary As Boolean = site.IsIncludedInProjectSummary
site.IsIncludedInProjectSummary = true
is_included_in_project_summary = site.IsIncludedInProjectSummary
site.IsIncludedInProjectSummary = True
$isIncludedInProjectSummary = $site.IsIncludedInProjectSummary
$site.IsIncludedInProjectSummary = $true

SiteFolder

ISIAPISiteFolder SiteFolder { get; }

Type ISIAPISiteFolder

Code samples
var siteFolder = site.SiteFolder;
Dim siteFolder As ISIAPISiteFolder = site.SiteFolder
site_folder = site.SiteFolder
$siteFolder = $site.SiteFolder

Is_multi_sequence_enabled

bool Is_multi_sequence_enabled { get; set; }

Type bool

Code samples
bool is_multi_sequence_enabled = site.Is_multi_sequence_enabled;
site.Is_multi_sequence_enabled = true;
Dim is_multi_sequence_enabled As Boolean = site.Is_multi_sequence_enabled
site.Is_multi_sequence_enabled = true
is_multi_sequence_enabled = site.Is_multi_sequence_enabled
site.Is_multi_sequence_enabled = True
$is_multi_sequence_enabled = $site.Is_multi_sequence_enabled
$site.Is_multi_sequence_enabled = $true

IsUserModel

Flag indicating whether the internal SIDRA INTERSECTION Software Setup that is used by this Site is a User Software Setup or a Standard Software Setup.

bool IsUserModel { get; }

Type bool

Value

True if the Software Setup is a User Software Setup. False if the Software Setup is a Standard Software Setup.

Code samples
bool isUserModel = site.IsUserModel;
Dim isUserModel As Boolean = site.IsUserModel
is_user_model = site.IsUserModel
$isUserModel = $site.IsUserModel

SiteScenarios

Collection of the Site Scenarios

ISIAPISiteScenarios SiteScenarios { get; }

Type ISIAPISiteScenarios

Remarks

The first Local Scenario is created when creating a Site. This Scenario's Volume Type == 0 (Local). The Site's local volumes defined in the Vehicle Approach Movement by Movement Class data (ISIAPIMovement_vehicle_od_mc.Volume) are applied.

More Scenarios that link to Site Volume Bins can be added into a Site.

Code samples
var siteScenarios = site.SiteScenarios;
Dim siteScenarios As ISIAPISiteScenarios = site.SiteScenarios
site_scenarios = site.SiteScenarios
$siteScenarios = $site.SiteScenarios

MapCoordinate

ISIAPIMapCoordinate MapCoordinate { get; }

Type ISIAPIMapCoordinate

Code samples
var mapCoordinate = site.MapCoordinate;
Dim mapCoordinate As ISIAPIMapCoordinate = site.MapCoordinate
map_coordinate = site.MapCoordinate
$mapCoordinate = $site.MapCoordinate

IsInputDataCompatible

bool IsInputDataCompatible { get; }

Type bool

Code samples
bool isInputDataCompatible = site.IsInputDataCompatible;
Dim isInputDataCompatible As Boolean = site.IsInputDataCompatible
is_input_data_compatible = site.IsInputDataCompatible
$isInputDataCompatible = $site.IsInputDataCompatible

IsOutputDataCompatible

bool IsOutputDataCompatible { get; }

Type bool

Code samples
bool isOutputDataCompatible = site.IsOutputDataCompatible;
Dim isOutputDataCompatible As Boolean = site.IsOutputDataCompatible
is_output_data_compatible = site.IsOutputDataCompatible
$isOutputDataCompatible = $site.IsOutputDataCompatible

MinViableVersionL1

Minimum Viable SIDRA INTERSECTION Version for this Site's Level 1 Compatibility

string MinViableVersionL1 { get; }

Type string

Remarks

Level 1 Compatibility means that this Site's Input and Output data are fully compatible with the current SIDRA INTERSECTION version.

Code samples
string minViableVersionL1 = site.MinViableVersionL1;
Dim minViableVersionL1 As String = site.MinViableVersionL1
min_viable_version_l1 = site.MinViableVersionL1
$minViableVersionL1 = $site.MinViableVersionL1

MinViableVersionL2

Minimum Viable SIDRA INTERSECTION Version for this Site's Level 2 Compatibility

string MinViableVersionL2 { get; }

Type string

Remarks

Level 2 Compatibility means that some of this Site's Input and Output data are incompatible with the current SIDRA INTERSECTION version but the current version is still able to edit these Input data, proccess the Site,
and access the Output data.

If the current SIDRA INTERSECTION Version is smaller than the MinViableVersionL2, ISIAPISite.IsInputDataCompatible return false.

Code samples
string minViableVersionL2 = site.MinViableVersionL2;
Dim minViableVersionL2 As String = site.MinViableVersionL2
min_viable_version_l2 = site.MinViableVersionL2
$minViableVersionL2 = $site.MinViableVersionL2

MinViableVersionL3

Minimum Viable SIDRA INTERSECTION Version for this Site's Level 3 Compatibility

string MinViableVersionL3 { get; }

Type string

Remarks

Level 3 Compatibility means that this Site's Input data are not compatible with the current SIDRA INTERSECTION version but the Output data are compatible. The current version cannot access the Input data or process the Site but can access the Output data that were prepared by a later version of SIDRA INTERSECTION.

If the current SIDRA INTERSECTION Version is smaller than the MinViableVersionL3, the Site's Input and Output data are not accessible. The Site cannot be processed. ISIAPISite.IsOutputDataCompatible return false.

Code samples
string minViableVersionL3 = site.MinViableVersionL3;
Dim minViableVersionL3 As String = site.MinViableVersionL3
min_viable_version_l3 = site.MinViableVersionL3
$minViableVersionL3 = $site.MinViableVersionL3

Methods

Process()

Processes the Site

bool Process()

Returns bool - True, if processing was successful. False, if errors were generated during processing - check SIDRASolutions.SI.API.ISIAPISite.ProcessingError for details. Note: The SIDRASolutions.SI.API.ISIAPISite.HasWarnings property should always be checked after processing in case warnings were generated. Warnings may occur even if processing was successful.

Code samples
bool result = site.Process();
Dim result As Boolean = site.Process()
result = site.Process()
$result = $site.Process()

ResetMovementVehicleODMCExists()

Reset all Movement_vehicle_od_mc.Exists values according to the LaneApproachMovementMC.Exists values (i.e. Lane Disciplines)

bool ResetMovementVehicleODMCExists()

Returns bool

Code samples
bool result = site.ResetMovementVehicleODMCExists();
Dim result As Boolean = site.ResetMovementVehicleODMCExists()
result = site.ResetMovementVehicleODMCExists()
$result = $site.ResetMovementVehicleODMCExists()

ResetLaneMovements()

Reset the Lane Movements to the default vaules

bool ResetLaneMovements()

Returns bool

Remarks

This needs to be called manually after Approach / Exit Lanes are added or removed, or after SIAPILaneApproachMovementMC.Exists (i.e. Lane Discipline) values are changed.

Code samples
bool result = site.ResetLaneMovements();
Dim result As Boolean = site.ResetLaneMovements()
result = site.ResetLaneMovements()
$result = $site.ResetLaneMovements()

ResetSitePrioritiesData()

Reset Priority Data to the default vaules

bool ResetSitePrioritiesData()

Returns bool

Code samples
bool result = site.ResetSitePrioritiesData();
Dim result As Boolean = site.ResetSitePrioritiesData()
result = site.ResetSitePrioritiesData()
$result = $site.ResetSitePrioritiesData()

UpdateModifiedInfo()

Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number

bool UpdateModifiedInfo()

Returns bool

Code samples
bool result = site.UpdateModifiedInfo();
Dim result As Boolean = site.UpdateModifiedInfo()
result = site.UpdateModifiedInfo()
$result = $site.UpdateModifiedInfo()

AddLeg(int)

Add a new Leg to the Site at the specified orientation. The Leg is created automatically without any Approach Lane, Exit Lane or Island.

ISIAPILeg AddLeg(int orientation)

Parameters

Name Type Description
orientation int One of: - 0 - South - 1 - South East - 2 - East - 3 - North East - 4 - North - 5 - North West - 6 - West - 7 - South West

Returns ISIAPILeg - The new added Leg

Remarks

Call ISIAPISite.UpdateGeometryData() manually after Leg(s) are added or removed.

Code samples
var result = site.AddLeg(0);
Dim result As ISIAPILeg = site.AddLeg(0)
result = site.AddLeg(0)
$result = $site.AddLeg(0)

AddLegWithLanes(int, int)

Add a new Leg to the Site at the specified orientation. The Leg is created automatically with a default set of Approach Lanes, Exit Lanes and / or Island depending on the legGeometry parameter.

ISIAPILeg AddLegWithLanes(int orientation, int legGeometry)

Parameters

Name Type Description
orientation int One of: - 0 - South - 1 - South East - 2 - East - 3 - North East - 4 - North - 5 - North West - 6 - West - 7 - South West
legGeometry int One of: - 1 - Two Way - 2 - One-Way Approach - 3 - One-Way Exit

Returns ISIAPILeg - The new added Leg

Remarks

Call ISIAPISite.UpdateGeometryData() manually after Leg(s) are added or removed.

Code samples
var result = site.AddLegWithLanes(0, 0);
Dim result As ISIAPILeg = site.AddLegWithLanes(0, 0)
result = site.AddLegWithLanes(0, 0)
$result = $site.AddLegWithLanes(0, 0)

RemoveLeg(int)

Remove a Leg from the Site.

bool RemoveLeg(int orientation)

Parameters

Name Type Description
orientation int One of: - 0 - South - 1 - South East - 2 - East - 3 - North East - 4 - North - 5 - North West - 6 - West - 7 - South West

Returns bool - true if the Leg is successfully removed. This method returns false if the Leg does not exist.

Remarks

Call ISIAPISite.UpdateGeometryData() manually after Leg(s) are added or removed.

Code samples
bool result = site.RemoveLeg(0);
Dim result As Boolean = site.RemoveLeg(0)
result = site.RemoveLeg(0)
$result = $site.RemoveLeg(0)

Rotate(int)

Rotate the Site.

bool Rotate(int step)

Parameters

Name Type Description
step int If step is a positive integer, rotate the Site clockwise. If step is a negative integer, rotate the Site anti-clockwise. One step equals 45 degrees.

Returns bool

Remarks

If the Site Geometry has been changed, e.g. a Leg or Lane has been added or removed, call the method UpdateGeometryData() to update the Geometry Data before calling this.

Code samples
bool result = site.Rotate(0);
Dim result As Boolean = site.Rotate(0)
result = site.Rotate(0)
$result = $site.Rotate(0)

UpdateGeometryData()

Update the Geometry Data. Call this method manually after Leg(s) are added / removed, or after Lane(s) are added / removed.

bool UpdateGeometryData()

Returns bool

Code samples
bool result = site.UpdateGeometryData();
Dim result As Boolean = site.UpdateGeometryData()
result = site.UpdateGeometryData()
$result = $site.UpdateGeometryData()

AddSequence(string)

Add a Sequence. A new Sequence is created and added to this Site.

ISIAPISequence AddSequence(string name)

Parameters

Name Type Description
name string The name of the new Sequence.

Returns ISIAPISequence - The new Sequence

Code samples
var result = site.AddSequence(@"Example");
Dim result As ISIAPISequence = site.AddSequence("Example")
result = site.AddSequence(r"Example")
$result = $site.AddSequence("Example")

RemoveSequence(ISIAPISequence)

Remove a Sequence from the Site.

bool RemoveSequence(ISIAPISequence sequence)

Parameters

Name Type Description
sequence ISIAPISequence The Sequence to remove.

Returns bool - true if the Sequence is successfully removed; otherwise, false. This method also returns false if the Sequence does not exist in this Site.

Code samples
bool result = site.RemoveSequence(null);
Dim result As Boolean = site.RemoveSequence(Nothing)
result = site.RemoveSequence(None)
$result = $site.RemoveSequence($null)

CreateLayoutPngData()

byte[] CreateLayoutPngData()

Returns byte[]

Code samples
var result = site.CreateLayoutPngData();
Dim result As  = site.CreateLayoutPngData()
result = site.CreateLayoutPngData()
$result = $site.CreateLayoutPngData()

CreateLayoutPngFile(string)

bool CreateLayoutPngFile(string filename)

Parameters

Name Type Description
filename string

Returns bool

Code samples
bool result = site.CreateLayoutPngFile(@"C:\path\to\project.sip");
Dim result As Boolean = site.CreateLayoutPngFile("C:\path\to\project.sip")
result = site.CreateLayoutPngFile(r"C:\path\to\project.sip")
$result = $site.CreateLayoutPngFile("C:\path\to\project.sip")

CloneSequence(ISIAPISequence)

Clone a Sequence.

ISIAPISequence CloneSequence(ISIAPISequence sequence)

Parameters

Name Type Description
sequence ISIAPISequence The Sequence to be cloned.

Returns ISIAPISequence - The new cloned Sequence.

Code samples
var result = site.CloneSequence(null);
Dim result As ISIAPISequence = site.CloneSequence(Nothing)
result = site.CloneSequence(None)
$result = $site.CloneSequence($null)

MoveSequenceTo(ISIAPISequence, int)

Move a Sequence to a new position.

bool MoveSequenceTo(ISIAPISequence sequence, int newPosition)

Parameters

Name Type Description
sequence ISIAPISequence The Sequence to move.
newPosition int The zero-based position that the Sequence should be moved to.

Returns bool - true if the Sequence is successfully moved; otherwise, false. This method also returns false if the Sequence does not exist in this Site.

Code samples
bool result = site.MoveSequenceTo(null, 0);
Dim result As Boolean = site.MoveSequenceTo(Nothing, 0)
result = site.MoveSequenceTo(None, 0)
$result = $site.MoveSequenceTo($null, 0)

RemoveOutputData()

Remove this Site and relevant Networks' Output data.

bool RemoveOutputData()

Returns bool - true if the Output data are successfully removed

Code samples
bool result = site.RemoveOutputData();
Dim result As Boolean = site.RemoveOutputData()
result = site.RemoveOutputData()
$result = $site.RemoveOutputData()

AddSiteScenario(ISIAPISiteVolumeBin)

Add a new Site Scenario that links to a Site Volume Bin.

ISIAPISiteScenario AddSiteScenario(ISIAPISiteVolumeBin siteVolumeBin)

Parameters

Name Type Description
siteVolumeBin ISIAPISiteVolumeBin The Site Volume Bin to be linked to the new Site Scenario.

Returns ISIAPISiteScenario - The new added Site Scenario.

Code samples
var result = site.AddSiteScenario(null);
Dim result As ISIAPISiteScenario = site.AddSiteScenario(Nothing)
result = site.AddSiteScenario(None)
$result = $site.AddSiteScenario($null)

RemoveSiteScenario(ISIAPISiteScenario)

Remove a Site Scenario from this Site.

bool RemoveSiteScenario(ISIAPISiteScenario siteScenario)

Parameters

Name Type Description
siteScenario ISIAPISiteScenario The Site Scenario to remove.

Returns bool - true if the Site Scenario is successfully removed; otherwise, false. This method also returns false if the Site Scenario does not exist in this Site.

Remarks

The first Site Local Scenario that links to the Site Local Volumes data cannot be removed.

Code samples
bool result = site.RemoveSiteScenario(null);
Dim result As Boolean = site.RemoveSiteScenario(Nothing)
result = site.RemoveSiteScenario(None)
$result = $site.RemoveSiteScenario($null)

CloneSiteScenario(ISIAPISiteScenario)

Clone a Site Scenario.

ISIAPISiteScenario CloneSiteScenario(ISIAPISiteScenario siteScenario)

Parameters

Name Type Description
siteScenario ISIAPISiteScenario The Site Scenario to be cloned.

Returns ISIAPISiteScenario - The new cloned Site Scenario.

Remarks

The first Site Local Scenario that links to the Site Local Volumes data cannot be cloned.

Code samples
var result = site.CloneSiteScenario(null);
Dim result As ISIAPISiteScenario = site.CloneSiteScenario(Nothing)
result = site.CloneSiteScenario(None)
$result = $site.CloneSiteScenario($null)

MoveSiteScenarioTo(ISIAPISiteScenario, int)

Move a Site Scenario to a new position in the collection.

bool MoveSiteScenarioTo(ISIAPISiteScenario siteScenario, int newPosition)

Parameters

Name Type Description
siteScenario ISIAPISiteScenario The Site Scenario to move.
newPosition int The zero-based position that the Site Scenario should be moved to. The newPosition cannot be 0 because it is for the Site Local Scenario that links to the Site Local Volumes data.

Returns bool - true if the Site Scenario is successfully moved; otherwise, false. This method also returns false if the Site Scenario does not exist in this Site.

Remarks

The first Site Local Scenario that links to the Site Local Volumes data cannot be moved. The other Scenarios cannot be moved to the first, i.e. Position 0.

Code samples
bool result = site.MoveSiteScenarioTo(null, 0);
Dim result As Boolean = site.MoveSiteScenarioTo(Nothing, 0)
result = site.MoveSiteScenarioTo(None, 0)
$result = $site.MoveSiteScenarioTo($null, 0)