ISIAPISite Interface¶
Namespace: SIDRASolutions.SI.API
Assembly: SIDRASolutions.SI.API.dll
COM CLSID: 44804DC5-326B-4BA7-B90C-F1D7FDD3AC22
SIDRA INTERSECTION Site wrapper interface
Declaration¶
Get an instance¶
Properties¶
Name¶
Site name
Type string
Value
The site name, max length = 100.
Code samples
Intersectionid¶
Site ID in the Intersection dialog and reports. It was named as "Intersection ID" in the old versions.
Type string
Value
Site ID, max length = 10.
Code samples
Position¶
The Site Position in the Site Folder's Sites collection. It is a zero-base integer.
Type int
Code samples
Site_id¶
The GUID of the Site object.
Type string
Code samples
MovementClasses¶
Collection of the Site's Movement Classes
Code samples
Legs¶
Type ISIAPILegs
Code samples
MovementVehicleODs¶
Collection of the Site's Vehicle Approach Movements
Type ISIAPIMovement_vehicle_ods
Code samples
MovementPeds¶
Collection of the Site's Pedestrian Movements
Type ISIAPIMovement_peds
Code samples
Sequences¶
Type ISIAPISequences
Code samples
ModelSetting¶
Type ISIAPIModelSetting
Code samples
Analysis¶
Type ISIAPIAnalysis
Code samples
GapAcceptanceTurnOnRed¶
Type ISIAPIGapAcceptanceSpecificApp
Code samples
TwoWaySignControlAdjMajorNumLanes¶
Type ISIAPITwoWaySignControlAdjMajorNumLanes
Code samples
TwoWaySignControlAdjGeometryControls¶
Type ISIAPITwoWaySignControlAdjGeometryControls
Code samples
Outputset¶
Site output data
Type ISIAPIOutputset
Code samples
Project¶
Type ISIAPIProject
Code samples
ProcessingError¶
Error message after a failed call to Process
Type string
Value
Error message
Code samples
ProcessingWarnings¶
Processing warnings generated during a call to Process
Type string
Code samples
HasWarnings¶
Flag indicating whether warnings were generated during a call to Process
Type bool
Value
True if warnings were generated. False otherwise.
Code samples
LastErrorMessage¶
Type string
Code samples
DiagnosticStatus¶
Diagnostic Status
Type int
Value
One of:
1- Processed2- Not Processed3- Input Warning4- Processing Warning5- Error
Code samples
DiagnosticMsgs¶
Type ISIAPIDiagnosticMsgs
Code samples
Sitetype¶
Site Intersection type
Type int
Value
One of:
0- At-Grade Intersection1- 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 Segment10- Freeway Basic Segment11- Freeway Segment with Ramps (Two-Way)12- Freeway Segment with Ramps (One-Way)13- Turbo Roundabout
Code samples
Sitecontroltype¶
Control method used at site
Type int
Value
One of:
0- Signals1- Roundabout2- Sign Control3- All Way Stop4- Uninterrupted
Code samples
Driveonleft¶
Flag indicating the "Drive Rule" of the site
Type bool
Value
True if driving on the left. False if driving on the right.
Code samples
Units¶
General unit system used for data within the site
Type int
Value
One of:
0- Metric1- US Units
Code samples
Hcm¶
Flag indicating whether the site uses HCM
Type bool
Value
True, if site uses HCM, False otherwise.
Modelsignature¶
The internal SIDRA INTERSECTION Software Setup signature GUID used by this site
Type string
Code samples
ModelName¶
The internal SIDRA INTERSECTION Software Setup name
Type string
Code samples
Freeway_orientation¶
Type int
Code samples
Created_date¶
Type DateTime
Code samples
Created_by¶
Type string
Code samples
Created_by_company¶
Type string
Code samples
Created_version¶
Type string
Code samples
Modified_date¶
Type DateTime
Code samples
Modified_by¶
Type string
Code samples
Modified_by_company¶
Type string
Code samples
Modified_version¶
Type string
Code samples
Description¶
Site description
Type string
Value
Site description, max length = 500.
Code samples
Title¶
Site title
Type string
Value
Site title, max length = 500.
Code samples
Unittimeforvolumes¶
Unit time for traffic volumes in minutes
Type int
Code samples
Peakflowperiod¶
Peak flow period in minutes
Type int
Code samples
Signal_analysis_method¶
Signalised Site analysis method
Type int
Value
One of:
0- Fixed-Time/Pretimed1- Actuated
Code samples
Costunit¶
Type string
Code samples
Rou_stopline_setback_dist¶
Type float
Code samples
Rou_metered_start_loss¶
Type float
Code samples
Rou_metered_end_gain¶
Type float
Code samples
Rou_controlling_detector_setback_dist¶
Type float
Code samples
Rou_metered_leg_orientation¶
Type int
Code samples
Rou_controlling_leg_orientation¶
Type int
Code samples
Category¶
Site Category
Type string
Value
Site Category, max length = 100.
Code samples
IsIncludedInProjectSummary¶
Type bool
Code samples
SiteFolder¶
Type ISIAPISiteFolder
Code samples
Is_multi_sequence_enabled¶
Type bool
Code samples
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.
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
SiteScenarios¶
Collection of the Site Scenarios
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
MapCoordinate¶
Type ISIAPIMapCoordinate
Code samples
IsInputDataCompatible¶
Type bool
Code samples
IsOutputDataCompatible¶
Type bool
Code samples
MinViableVersionL1¶
Minimum Viable SIDRA INTERSECTION Version for this Site's Level 1 Compatibility
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
MinViableVersionL2¶
Minimum Viable SIDRA INTERSECTION Version for this Site's Level 2 Compatibility
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
MinViableVersionL3¶
Minimum Viable SIDRA INTERSECTION Version for this Site's Level 3 Compatibility
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
Methods¶
Process()¶
Processes the Site
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
ResetMovementVehicleODMCExists()¶
Reset all Movement_vehicle_od_mc.Exists values according to the LaneApproachMovementMC.Exists values (i.e. Lane Disciplines)
Returns bool
Code samples
ResetLaneMovements()¶
Reset the Lane Movements to the default vaules
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
ResetSitePrioritiesData()¶
Reset Priority Data to the default vaules
Returns bool
Code samples
UpdateModifiedInfo()¶
Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number
Returns bool
Code samples
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.
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
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.
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
RemoveLeg(int)¶
Remove a Leg from the Site.
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
Rotate(int)¶
Rotate the Site.
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
UpdateGeometryData()¶
Update the Geometry Data. Call this method manually after Leg(s) are added / removed, or after Lane(s) are added / removed.
Returns bool
Code samples
AddSequence(string)¶
Add a Sequence. A new Sequence is created and added to this Site.
Parameters
| Name | Type | Description |
|---|---|---|
name |
string |
The name of the new Sequence. |
Returns ISIAPISequence - The new Sequence
Code samples
RemoveSequence(ISIAPISequence)¶
Remove a Sequence from the Site.
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
CreateLayoutPngData()¶
Returns byte[]
Code samples
CreateLayoutPngFile(string)¶
Parameters
| Name | Type | Description |
|---|---|---|
filename |
string |
Returns bool
Code samples
CloneSequence(ISIAPISequence)¶
Clone a Sequence.
Parameters
| Name | Type | Description |
|---|---|---|
sequence |
ISIAPISequence |
The Sequence to be cloned. |
Returns ISIAPISequence - The new cloned Sequence.
Code samples
MoveSequenceTo(ISIAPISequence, int)¶
Move a Sequence to a new position.
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
RemoveOutputData()¶
Remove this Site and relevant Networks' Output data.
Returns bool - true if the Output data are successfully removed
Code samples
AddSiteScenario(ISIAPISiteVolumeBin)¶
Add a new Site Scenario that links to a Site Volume Bin.
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
RemoveSiteScenario(ISIAPISiteScenario)¶
Remove a Site Scenario from this Site.
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
CloneSiteScenario(ISIAPISiteScenario)¶
Clone a Site Scenario.
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
MoveSiteScenarioTo(ISIAPISiteScenario, int)¶
Move a Site Scenario to a new position in the collection.
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.