Cotares Limited


Technology transfer

We can provide consultancy and technology transfer into customer's own map-based products.

Past projects have included:

  • Helping a major GIS corporation to implement its own fully-time-dependent router incorporating Choice Routing™.
  • Transferring the Choice Routing™ technique into a commercial routing engine.
  • Producing Origin-Destination matrices for commercial planning.
  • Improving customer's own map matching for floating vehicle data analysis.

Routing Service

Cotares routing products are based on a core executable and various service frameworks.

The core has its own GUI for development and debugging, and a low-level control interface for scripting and services.

The server frameworks distribute requests to clusters of core routing threads running on separated machines, offering load balancing and fast fail-over.

Core properties

The core offers routing speeds that are independent of the size of the map. It is designed for many simultaneous threads to minimise their common memory footprint. An i7 with 8 threads running the core can compute more than 100 routes across a country per second, using typically around 12GB RAM. It can be configured with complex cost functions, historical traffic patterns, real-time feeds, and different vehicle characteristics for every query.

Input and output formats are straightforward to add, and already include Point co-ordinates, Links, Significant waypoints and Agora-C. Routes can also be imported from other systems for translation between these formats.

Server properties

Our servers use Windows Communication Foundation (WCF) for interoperabiity with a variety of external systems.

Servers can be configured for specific clients, and help to extend our routing services into domains such as inter-modal routing and delivery optimisation.

They co-ordinate updates to traffic, maps and code to avoid any interruption of service.

The single-queue server design keeps latencies of short routes down to 50ms, even while other complex requests are being processed. The architecture can balance loads across multiple server locations adding resiliency to peaks or failures.


We have extensive experience of powerful optimisation techniques.

These included the design of a framework for jointly optimising the clustering and routing of deliveries that converges rapidly, even in highly symmetrical environments.