Web Service

Controlling routing

Hide Navigation Pane

Controlling routing

Previous topic Next topic No directory for this topic  

Controlling routing

Previous topic Next topic Topic directory requires JavaScript  

By default the web service does not allow routing through the following:-

The Kiel and Corinth canals, the Magellan, Bonifacio, Messina straits, the Bahama channel, West of Taiwan and Laeso Island, Chelyuskina, inshore at North Cape, and the Norwegian inshore and Indreleia routing.  All other passages, capes and canals are open and used.

When the GetShortestDistance method does not obtain the route that you require we provide two methods of obtaining the 'correct' distance, 'going via' and 'user defined routing' These two methods are explained below.

Going 'via'

This is the simplest method and, for the majority of cases, will provide the route you require without using the more complex method of user defined routing.

There are 21 via codes available, these are tabulated below and are also obtainable via the GetViaCodes method.

Code

Routing

VV0010

Via the shortest route using the default routing restrictions

VV0180

Via the Suez Canal

VV0150

Via the Panama Canal

VV0050

Via the Cape of Good Hope

VV0040

Via Cape Horn

VV0100

Via the Great Belt or Korsor

VV0110

Via the Kiel Canal

VV0080

Via the Dover Strait

VV0020

Via the Bonifacio Strait

VV0140

Via the Messina Strait

VV0160

Via the Singapore Strait

VV0120

Via the Lombok Strait

VV0190

Via the Sunda Strait

VV0170

Via South West Australia

VV0200

Via Thursday Island

VV0210

Via West of Taiwan

VV0130

Via the Magellan Strait

VV0090

Via East of South America (Cape Calcanhar)

VV0030

Via the Cape Cod Canal

VV0070

Via the Chesapeake and Delaware Canal

VV0060

Via Chelyuskina (the North East Passage route over the North of Russia)

The via method 'hides' away the complexity of manipulating routing points and is often the simplest, quickest and most effective method of obtaining the majority of distances and routes.

User defined routing

Where routing 'via' does not get you the route you require, you can define your own routing restrictions and obtain the distance using GetDistanceUsingRouting method.

The 'engine' that powers the web service is very efficient at seeking out the shortest route and needs to be constrained by closing off canals, capes, straits and other passages in order to force it into going the way you want.

When specifying route options, you do so via a code string, the default routing string is shown below.

014ENVGOCASLPANSUZDOVHINLOMSINSUNCHOCGHNCATHUSP1600SP0400SP0410SP5110SP5100SP5120RP4700RP4710RP9995RP9993RP9998SP0700

The code string can be broken into two distinct parts, Primary and Advanced routing, this is analogous with the methods used to display routing options in a number of our commercial products.

Primary routing options are the first part of the string and consist of 3 digits (representing the number of primary codes that follow) and then a number of 3 character codes, there are no spaces between these codes nor the number at the start of the string, thus

014ENVGOCASLPANSUZDOVHINLOMSINSUNCHOCGHNCATHU

translates to 14 primary codes which are ENV, GOC, ASL, PAN, SUZ, DOV, HIN, LOM, SIN, SUN, CHO, CGH, NCA and THU

The three character codes indicate to the engine that the Routing option is IN USE or OPEN, the absence of a code indicates that the routing option is NOT in use or is CLOSED. Experience has shown that these Primary codes provide sufficient routing control for the majority of routes obtained from the tables.

The following table shows the complete list of codes that are available in the current release of the tables, you can sort this table by clicking on the column header.

 

Code

Explanation

ENV

Env/Nav/Reg Routing - Use to ensure routes are environmentally 'friendly' and comply with applicable rules and regulations.

ASL

ASL Compliance - Archipelagic Sea Lanes are followed in Indonesian waters

GOC

Anti-Piracy routing - Use to route via the Gulf of Aden Transit corridor and where applicable, East of Madagascar avoiding the piracy areas off Somali waters

KIE

Keil Canal - Between the Baltic and the North Sea.

SUZ

Suez Canal - Between the Mediterranean and the Red Sea.

PAN

Panama Canal - Between the Caribbean and the Pacific Ocean

COR

Corinth Canal - Between the Aegean Sea and the Ionian Sea

DOV

Dover Strait - Between France and the UK

SIN

Singapore Strait - The Southern tip of Asia

SUN

Sunda Strait - Between Sumatra and Java

LOM

Lombok Strait - Between Bali and Lombok Island

THU

Thursday Island - Passage between Australia and New Guinea

HIN

Hainan Strait - Between Hainan Island and the Chinese mainland

CGH

Cape of Good Hope - The southern tip of Africa

CHO

Cape Horn - The southern tip of South America

MAG

Magellan Strait - Between South America and Tierra del Fuego north of Cape Horn

BON

Bonifacio Strait - Between Corsica and Sardinia

MES

Messina Strait - Between Sicily and the Italian mainland

BAH

Bahama Channel - Between the coast of Cuba and the Bahama Islands

WOT

West of Taiwan - The route between the island of Taiwan and the Chinese mainland

NCA

North Cape - At the northern tip of Norway

NCI

North Cape Inshore - The inshore route at the northen tip of Norway

CHL

Chelyuskina - On the Northern seaboard of Russia in the North East passage

NIR

Norway - Indreleia Routing - routes through the fjords on the west coast of Norway

N10

Norway - Inshore routing - Inshore routing round Norway

CCN

Cape Cod Canal - Northern entrance - Sandwich Oil Terminal can only be approached from the North

CCS

Cape Cod Canal - Southern entrance

CDE

Chesapeake and Delaware Canal - Eastern entrance

CDW

Chesapeake and Delaware Canal - Western entrance

 

The remainder of the routing string consists of groups of 6 character codes that represent Advanced routing points, unlike Primary codes the presence of a code in this section of the string indicates to the service that this routing point should be CLOSED. The Advanced routing codes are provided to allow absolute control over routing when abnormal conditions apply or specific routing is required. Routing through Korsor (the Great Belt) rather than the Sound or avoiding routing via the Bangka passage are examples.

The default Advanced codes are show below and expanded into a table for clarity.

SP1600SP0400SP0410SP5110SP5100SP5120RP4700RP4710RP9995RP9993RP9998SP0700

Code

Explanation

SP1600

West of Gotland

SP0400

Route B West of Laeso Island - North bound

SP0410

Route B West of Laeso Island - South bound

SP5110

Maas Junction North Bound

SP5100

Maas Junction South Bound

SP5120

Steenbank

RP4700

Terschellinger Bank - NE Bound

RP4710

Terschellinger Bank - SW Bound

RP9995

ASL - Buru Passage

RP9993

ASL - Gorong

RP9998

ASL - Selat Gelasha

SP0700

Bangka Passage

 

This single 'routing string' is capable of controlling all routing in the web service.

You may have noticed that by default a number of Advanced codes are missing from the default routing string, these are:-

KIE, COR, MAG, BON, MES, BAH, WOT, NCI, CHL, NIR, N10, CCN, CCS, CDE and CDW - All these Primary routing points are closed by default as are Advanced routing points SP1600, SP0400, SP0410, SP5110, SP5100, SP5120, RP4700, RP4710, RP9995, RP9993, RP9998 and SP0700.

There is a relationship between certain Primary and Advanced routing points. A method called GetRoutingPointXml has been provided that returns XML that contains the full list of Primary and Advanced routing points and their relationships where it exists. This XML is used in the demonstration program to load a property inspector, you should study the demo source to familiarise yourself with setting Primary routing points and ensuring that Advanced routing points 'follow'.

 

Example North Cape Inshore

Routing through North Cape Inshore TSS's (Traffic Separation Schemes) is controlled by the Primary code of NCI. There are however two Advanced routing points for North Cape Inshore, North Cape - Inshore - East Bound and North Cape - Inshore - West Bound. When the Primary North Cape Inshore routing point is closed, these two will be closed automatically and should NOT BE opened unless the Primary routing point is also Open. In the demo project the object inspector for Routing points will disable the two advanced routing points whilst the Primary routing point is closed and enable them when it is open, see the display of Advanced routing below (note that Chelyuskina is also disabled as the Primary is also closed):

NCI-Advanced

 

The table below shows which Primary routing points are 'controllers' and which Advanced routing points they control:

Code

Primary Routing Point

Controls Advanced routing point codes

ASL

ASL Compliance

RP9998,RP9995,RP9993,SP0700

CCN

Cape Cod Canal - North

SP9996

CCS

Cape Cod Canal - South

SP9997

CDE

Chesapeake and Delaware Canal - East

SP9994

CDW

Chesapeake and Delaware Canal - West

SP9995

BAH

Bahama Channel

RP2500,RP2510

BON

Bonifacio Strait

RP1300,RP1310

DOV

Dover Strait

CP1700,CP1710

HIN

Hainan Island

SP5011,SP5012

LOM

Lombok Strait

CP2500

MAG

Magellan Strait

SP0060

MES

Messina Strait

RP2200,RP2210

SIN

Singapore Strait

CP3800,CP3810,CP2900,CP2910

SUN

Sunda Strait

CP3300,CP3310

CHO

Cape Horn

CP1100

CGH

Cape of Good Hope

CP1300

CHL

Chelyuskina

SP1500

NCA

North Cape

SP1700,SP1710

NCI

North Cape - Inshore

SP1800,SP1810

NIR

Norway - Indreleia Routing

SP3050,SP3040,SP3010,SP3060,SP3020,SP3030,SP3000

N10

Norway - Inshore routing

SP3100,SP3110,SP3120

THU

Thursday Island

CP3500

WOT

West of Taiwan

RP3100

You are urged to look at the Demo program for the web service which includes the source code. This will give you a valuable insight into the way that user defined routing is designed to work.