ISIAPINetwork Interface¶
Namespace: SIDRASolutions.SI.API
Assembly: SIDRASolutions.SI.API.dll
COM CLSID: 6D6D19FC-A076-43CE-BBCB-003F18F1A852
Declaration¶
Get an instance¶
Properties¶
Network_id¶
The GUID of the Network object.
Type string
Code samples
Name¶
Type string
Code samples
NetworkID¶
Network ID in the Network Data dialog and reports.
Type string
Code samples
Position¶
The Network Position in the Network Folder's Networks collection. It is a zero-base integer.
Type int
Code samples
Title¶
Type string
Code samples
ModelSignature¶
Type string
Code samples
ModelName¶
Type string
Code samples
DriveOnLeft¶
Type bool
Code samples
Units¶
General unit system used for data within the Network
Type int
Value
One of:
0- Metric1- US Units
Code samples
Description¶
Type string
Code samples
CostUnit¶
Type string
Code samples
IsShortlaneQueueStorageRatioIncl¶
Flag indicating if Short Lanes are included in determining Queue Storage Ratio
Type bool
Code samples
LOSMethod¶
Network Level of Service Method
Type int
Value
One of:
1- SIDRA Speed Efficiency2- HCM 2010 Speed Efficiency3- HCM 6 Speed Efficiency
Code samples
LOSTarget¶
Network Level of Service Target
Type int
Value
One of:
1- LOS A2- LOS B3- LOS C4- LOS D5- LOS E6- LOS F
Code samples
HoursPerYear¶
Type int
Code samples
MaxIterations¶
Type int
Code samples
StoppingDxPercent¶
Percentage Stopping Condition for the One-Loop Convergence Method.
Type float
Code samples
SignalOffsetOption¶
Signal Offset Option
Type int
Value
One of:
0- Program1- User-Given
Code samples
OffsetDefinition¶
Signal Offset Definition
Type int
Value
One of:
0- Offsets (Phase Start)1- Offsets (Green Start)
Code samples
IsPlatoonDispersionApplied¶
Type bool
Code samples
Cycle_time_option¶
Cycle Time Option
Type int
Value
One of:
0- Program2- User-Given Cycle Time
Code samples
NetworkCycleTime¶
Type float
Code samples
Practical_max_cycle_time¶
Type float
Code samples
Practical_cycle_rounding_applied¶
Type bool
Code samples
Practical_cycle_rounding¶
Type int
Code samples
SitePhaseTimesOption¶
Site or CCG Phase Times Option. It is applied when Cycle Time Option is User-Given Cycle Time.
Type int
Value
One of:
0- Program1- User-Given
Code samples
MultiRoutesSummaryOption¶
Network Output by Routes Option
Type int
Value
One of:
2- Approaches3- Sites
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
ProcessingError¶
Error nessage after a failed call to Process
Type string
Value
Error message
Code samples
NetworkSites¶
Collection of Sites in the Network
Type ISIAPINetworkSites
Code samples
NetworkLegConnections¶
Collection of Leg Connections between the Sites in the Network
Type ISIAPINetworkLegConnections
Code samples
OutputNetwork¶
Network Output Data for the summary of the Whole Network
Type ISIAPIOutputNetwork
Code samples
OutputNetworkByRoutes¶
Network Output Data for the statistics summary of the selected Routes
Type ISIAPIOutputNetwork
Code samples
Site_los_method¶
Type int
Code samples
Performance_measure¶
Type int
Code samples
Percentile_queue_option¶
Type int
Code samples
Percentile_queue¶
Type int
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
Project¶
Type ISIAPIProject
Code samples
NetworkCCGs¶
Collection of Common Control Group (CCG) in the Network
Type ISIAPINetworkCCGs
Code samples
Routes¶
Collection of Routes in the Network
Type ISIAPIRoutes
Code samples
Category¶
Network Category
Type string
Value
Network Category, max length = 100.
Code samples
Peakflowperiod¶
Type int
Code samples
Lane_blockage_effect_option¶
Lane Blockage Effect Option:
In Network analysis, include Lane Blockage effects in determining Phase Times.
Type int
Value
One of:
0- Without Lane Blockage Effects1- With Lane Blockage Effects
Code samples
Optimum_cycle_time_lower_user¶
Type bool
Code samples
Optimum_cycle_time_lower¶
Type int
Code samples
Optimum_cycle_time_upper¶
Type int
Code samples
Optimum_cycle_time_increment¶
Type int
Code samples
Optimum_cycle_time_perf_measure¶
Type int
Code samples
Optimum_cycle_time_optim_method¶
Type int
Code samples
Optimum_max_green_percent_lower¶
Type int
Code samples
Optimum_max_green_percent_upper¶
Type int
Code samples
Optimum_max_green_percent_increment¶
Type int
Code samples
Optimum_max_green_perf_measure¶
Type int
Code samples
Optimum_max_green_optim_method¶
Type int
Code samples
Variable_phasing_perf_measure¶
Type int
Code samples
Green_split_priority_option¶
Green Split Priority
Type int
Value
One of:
0- None1- Coordinated Movements2- User-Specified Movements
Code samples
Is_timing_optimised_for_selected_result¶
Type bool
Code samples
IsIncludedInProjectSummary¶
Type bool
Code samples
DemandSensitivity¶
Type ISIAPINetworkDemandSensitivity
Code samples
NetworkFolder¶
Type ISIAPINetworkFolder
Code samples
SpeedEfficiencyLOSUpperLimit_B¶
Type float
Code samples
SpeedEfficiencyLOSUpperLimit_C¶
Type float
Code samples
SpeedEfficiencyLOSUpperLimit_D¶
Type float
Code samples
SpeedEfficiencyLOSUpperLimit_E¶
Type float
Code samples
SpeedEfficiencyLOSUpperLimit_F¶
Type float
Code samples
Is_geometric_delay_excluded¶
Type bool
Code samples
Is_hcm_delay_formula_applied¶
Type bool
Code samples
Is_hcm_queue_formula_applied¶
Type bool
Code samples
IsLaneBlockageModelApplied¶
Type bool
Code samples
NetworkMCs¶
Type ISIAPINetworkMCs
Code samples
IsUserModel¶
Flag indicating whether the internal SIDRA INTERSECTION Software Setup that is used by this Network 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
NetworkType¶
Network Type
Type int
Value
One of:
0- Basic Network1- Assign Network
Code samples
NetworkScenarios¶
Collection of the Network Scenarios
Remarks
The first Network Local Scenario is created when creating a Network. This Scenario's Volume Type == 0 (Local). The Local Site Scenario of each Site in this Network is applied.
More Network Scenarios that link to different Site Scenarios can be added into a Network.
Code samples
IsInputDataCompatible¶
Type bool
Code samples
IsOutputDataCompatible¶
Type bool
Code samples
MinViableVersionL1¶
Minimum Viable SIDRA INTERSECTION Version for this Network's Level 1 Compatibility
Type string
Remarks
Level 1 Compatibility means that this Network's Input and Output data are fully compatible with the current SIDRA INTERSECTION version.
Code samples
MinViableVersionL2¶
Minimum Viable SIDRA INTERSECTION Version for this Network's Level 2 Compatibility
Type string
Remarks
Level 2 Compatibility means that some of this Network'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 Network,
and access the Output data.
If the current SIDRA INTERSECTION Version is smaller than the MinViableVersionL2, ISIAPINetwork.IsInputDataCompatible return false.
Code samples
MinViableVersionL3¶
Minimum Viable SIDRA INTERSECTION Version for this Network's Level 3 Compatibility
Type string
Remarks
Level 3 Compatibility means that this Network'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 Network 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, this Network's Input and Output data are not accessible. The Network cannot be processed. ISIAPINetwork.IsOutputDataCompatible return false.
Code samples
ConvergenceMethod¶
Network Convergence Method
Type int
Value
One of:
0- One-Loop Convergence Method (Default)1- Two-Loop Convergence Method
Code samples
TwoLoops_OuterMaxIterations¶
Maximum number of iterations for the Outer Loop in the Two-Loop Convergence Method.
Type int
Code samples
TwoLoops_InnerMaxIterations¶
Maximum number of iterations for the Inner Loop in the Two-Loop Convergence Method.
Type int
Code samples
TwoLoops_StoppingPercent¶
Percentage Stopping Condition for the Two-Loop Convergence Method, applies to both Inner and Outer Loops.
Type float
Code samples
Methods¶
Process()¶
Processes the Whole Network
This method generates the SIDRASolutions.SI.API.ISIAPINetwork.OutputNetwork data.
Returns bool - True, if processing was successful. False, if errors were generated during processing - check SIDRASolutions.SI.API.ISIAPINetwork.ProcessingError for details.
Code samples
UpdateModifiedInfo()¶
Update the Last Modified Information, such as Date, User Name, Organisation Name, Software Version Number
Returns bool
Code samples
AddNetworkSite(ISIAPISite, float, float)¶
Add a Site into the Network. The Site's Drive Rule and Units must match this Network's ones.
Parameters
| Name | Type | Description |
|---|---|---|
site |
ISIAPISite |
The Site to add. |
layoutX |
float |
The X-coordinate value of the Site position in the Network Configuration Layout. |
layoutY |
float |
The Y-coordinate value of the Site position in the Network Configuration Layout. |
Returns ISIAPINetworkSite - The new added NetworkSite.
Remarks
The Network Configuration Layout is used in the Network Configuration Dialog in the SIDRA INTERSECTION program. The dimension of any Site in the Network Configuration Layout is 200 x 200 pixels. In the Network Configuration Dialog, the start point of view is (5000, 5000). So the NetworkSites created through this dialog are usually located around the point (5000, 5000). For example, Site1 (5200, 5100), Site2 (5550, 5100). The Sites' positions in the detailed Network Layout Display are based on the relative ratio of the Sites' positions in the Network Configuration Layout.
We suggest the layoutX and layoutY values to be around 5000, and between 0 and 10000.
Code samples
RemoveNetworkSite(ISIAPINetworkSite)¶
Remove a NetworkSite from the Network. If the NetworkSite is used in any Route(s), remove the Route(s) before removing the NetworkSite.
Parameters
| Name | Type | Description |
|---|---|---|
networkSite |
ISIAPINetworkSite |
The NetworkSite to remove. |
Returns bool - true if the NetworkSite is successfully removed; otherwise, false. This method also returns false if the NetworkSite does not exist in this Network.
Code samples
AddNetworkLegConnection(ISIAPINetworkSite, int, ISIAPINetworkSite, int)¶
ISIAPINetworkLegConnection AddNetworkLegConnection(ISIAPINetworkSite nwSite1, int legOrientation1, ISIAPINetworkSite nwSite2, int legOrientation2)
Parameters
| Name | Type | Description |
|---|---|---|
nwSite1 |
ISIAPINetworkSite |
|
legOrientation1 |
int |
|
nwSite2 |
ISIAPINetworkSite |
|
legOrientation2 |
int |
Returns ISIAPINetworkLegConnection
Code samples
RemoveNetworkLegConnection(ISIAPINetworkLegConnection)¶
Parameters
| Name | Type | Description |
|---|---|---|
nwLegConn |
ISIAPINetworkLegConnection |
Returns bool
Code samples
AddNetworkCCG()¶
Add a new Common Control Group (CCG) into the Network.
Returns ISIAPINetworkCCG - The new added Common Control Group (CCG).
Code samples
RemoveNetworkCCG(ISIAPINetworkCCG)¶
Remove a Common Control Group (CCG) from the Network.
Parameters
| Name | Type | Description |
|---|---|---|
ccg |
ISIAPINetworkCCG |
The Common Control Group (CCG) to remove. |
Returns bool - true if the Common Control Group (CCG) is successfully removed; otherwise, false. This method also returns false if the CCG does not exist in this Network.
Code samples
AddRoute()¶
Add a new Route into the Network.
Returns ISIAPIRoute - The new added Route
Code samples
RemoveRoute(ISIAPIRoute)¶
Remove a Route from the Network.
Parameters
| Name | Type | Description |
|---|---|---|
route |
ISIAPIRoute |
The Route to remove. |
Returns bool - true if the Route is successfully removed; otherwise, false. This method also returns false if the Route does not exist in this Network.
Code samples
ProcessByRoutes()¶
Process this Network by selected Routes. The Whole Network needs to be processed before Network by selected Routes statistics can be calculated.
If the Network has not been processed, process the Network. The Network by selected Routes statistics will be calculated as well. It is not required to call this method again.
If Route(s) are set to be included into Network by Routes after the Network is processed, call this method to calculate the Network by selected Routes statistics.
This method generates the SIDRASolutions.SI.API.ISIAPINetwork.OutputNetworkByRoutes data.
Returns bool - true if this is processed successfully.
Code samples
MoveNetworkCCGTo(ISIAPINetworkCCG, int)¶
Move a Common Control Group (CCG) to a new position.
Parameters
| Name | Type | Description |
|---|---|---|
ccg |
ISIAPINetworkCCG |
The Common Control Group to move. |
newPosition |
int |
The zero-based position that the CCG should be moved to. |
Returns bool - true if the CCG is successfully moved; otherwise, false. This method also returns false if the CCG does not exist in this Network.
Code samples
ResetRouteSignalOffsetPriority()¶
Reset the Offset Priority of all valid Routes for the program calculation of Signal Offsets.
Returns bool
Code samples
CloneRoute(ISIAPIRoute)¶
Clone a Route.
Parameters
| Name | Type | Description |
|---|---|---|
route |
ISIAPIRoute |
The Route to be cloned. |
Returns ISIAPIRoute - The new cloned Route.
Code samples
MoveRouteTo(ISIAPIRoute, int)¶
Move a Route to a new position.
Parameters
| Name | Type | Description |
|---|---|---|
route |
ISIAPIRoute |
The Route to move. |
newPosition |
int |
The zero-based position that the Route should be moved to. |
Returns bool - true if the Route is successfully moved; otherwise, false. This method also returns false if the Route does not exist in this Network.
Code samples
CreateLayoutPngData()¶
Returns byte[]
Code samples
CreateLayoutPngFile(string)¶
Parameters
| Name | Type | Description |
|---|---|---|
filename |
string |
Returns bool
Code samples
RemoveOutputData()¶
Remove this Network and its Routes Output data.
Returns bool - true if the Output data are successfully removed
Code samples
AddNetworkScenario()¶
Add a new Network Scenario.
Returns ISIAPINetworkScenario - The new added Network Scenario. Its Volume Type is 2 = Custom, the Site Scenarios defined in the ISIAPINetworkScenario.NetworkSiteScenarios collection are applied.
Code samples
RemoveNetworkScenario(ISIAPINetworkScenario)¶
Remove a Network Scenario from this Network.
Parameters
| Name | Type | Description |
|---|---|---|
networkScenario |
ISIAPINetworkScenario |
The Network Scenario to remove. |
Returns bool - true if the Network Scenario is successfully removed; otherwise, false. This method also returns false if the Network Scenario does not exist in this Network.
Remarks
The first Network Local Scenario that links to the Sites' Local Scenarios cannot be removed.
Code samples
CloneNetworkScenario(ISIAPINetworkScenario)¶
Clone a Network Scenario.
Parameters
| Name | Type | Description |
|---|---|---|
networkScenario |
ISIAPINetworkScenario |
The Network Scenario to be cloned. |
Returns ISIAPINetworkScenario - The new cloned Network Scenario.
Remarks
The first Network Local Scenario that links to the Sites' Local Scenarios cannot be cloned.
Code samples
MoveNetworkScenarioTo(ISIAPINetworkScenario, int)¶
Move a Network Scenario to a new position in the collection.
Parameters
| Name | Type | Description |
|---|---|---|
networkScenario |
ISIAPINetworkScenario |
The Network Scenario to move. |
newPosition |
int |
The zero-based position that the Network Scenario should be moved to. The newPosition cannot be 0 because it is for the Network Local Scenario that links to the Site Local Scenarios. |
Returns bool - true if the Network Scenario is successfully moved; otherwise, false. This method also returns false if the Network Scenario does not exist in this Network.
Remarks
The first Network Local Scenario that links to the Sites' Local Scenarios cannot be moved. The other Scenarios cannot be moved to the first, i.e. Position 0.