Introduction¶
The SIDRA INTERSECTION Application Programming Interface (API) lets external applications communicate with SIDRA INTERSECTION: open and create project files, read and change input data, run the analysis, and read the results.
The API provides:
- Extensive programmatic access to the Site and Network input and output data
held in a SIDRA INTERSECTION Project file (extension
.sipx). - The ability to create a Project file; add Sites, Networks, Common Control Groups (CCGs) and Routes; specify geometry data such as intersection legs, lanes, lane configuration and lane disciplines; specify phasing and timing data; and more.
- Processing of a Site or Network (running the analysis) from your own code, with the results read back through the same objects.
The API defines a small set of classes that form a simple hierarchy for a
SIDRA INTERSECTION Project, rooted at
ISIAPI.
-
Prerequisites, adding the reference, and a first program that opens a project.
-
The Project, Site, Leg and Lane hierarchy, naming conventions and the call lifecycle.
-
Runnable C#, C++ and Python programs that open a project, process it and read results.
-
Every public type and member, generated from the API source for this version.
Supported languages
The API is a .NET 8 assembly for 64-bit Windows (net8.0-windows, x64
only). It can be used from:
- C# and VB.NET, by referencing the late-binding wrapper
LB_SI11API.dlland targetingnet8.0-windowsand x64. - C++, through the COM type library that the SIDRA INTERSECTION installer registers.
- Python, through Python.NET, which hosts the .NET 8 runtime and loads the API assembly directly.
Whatever the language, the host process must be 64-bit. See Getting started for each setup and Troubleshooting if the API fails to load.
Licence required¶
A licensed copy of SIDRA INTERSECTION must be installed on the computer before the API can be used. The API drives the installed product; it does not run on its own. Each end user of a program that links to SIDRA INTERSECTION through the API needs a licensed copy, including where the link is provided in another vendor's product.
Your program can check the installed copy with
ISIAPI.IsLicensed, which
returns false for an unlicensed copy or one running in Trial Mode.
-
Request a quote for a SIDRA INTERSECTION licence.
-
Have questions about the API or licensing?
Terms¶
We provide the SIDRA INTERSECTION API to allow development of programs that link to our software for use under the SIDRA SOLUTIONS software licence agreement.
Our provision of access to the SIDRA INTERSECTION API is a non-exclusive, limited right to access and use the API, and it does not create or imply any partnership, agency, or joint venture. The API is provided as is without any warranties, expressed or implied. In using the SIDRA INTERSECTION API, you agree to indemnify and hold us harmless from any losses that may result from third-party claims that relate to your use of the API.
The full terms of use are set out in the SIDRA SOLUTIONS Terms of Use.
Version compatibility
The SIDRA INTERSECTION API is updated for each major version of the software. You will need to update your API program to link to the latest version of SIDRA INTERSECTION. This site is versioned to match: use the version selector in the header to read the reference for the release you have installed.