Skip to content

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.

  • Getting started


    Prerequisites, adding the reference, and a first program that opens a project.

  • Object model


    The Project, Site, Leg and Lane hierarchy, naming conventions and the call lifecycle.

  • Code samples


    Runnable C#, C++ and Python programs that open a project, process it and read results.

  • API reference


    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.dll and targeting net8.0-windows and 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.


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.