Overview of mapinfo.routing namespace, Main routing classes – Pitney Bowes MapXtreme User Manual

Page 363

Advertising
background image

Chapter 20: Routing

Overview of MapInfo.Routing Namespace

MapXtreme v7.1

370

Developer Guide

Overview of MapInfo.Routing Namespace

The MapInfo.Routing namespace provides an interface and classes for incorporating a MapXtreme
routing client into your application, in a similar fashion to the geocoding client. The routing client
sends requests via HTTP to Pitney Bowes Software’s routing server or routing web service product.
The server and web service are not included in the purchase of MapXtreme.

Using the routing capabilities, you can determine the shortest or fastest path (route) between two
points, with the ability to add various advanced routing options. You can return the route geometry
(layout of the route for map display), turn-by-turn directions, and a route summary of total distance
and time. Additionally, you can create routes that include intermediate points and preferences that
avoid certain road features, such as highways or certain locations.

The routing capabilities include important analytical tools, allowing you to calculate drive-time and
drive-distance (isoChrone and isoDistance), and the ability to use transient updates to avoid certain
road types or to recalculate a route. The routing client functionality is divided into four logical groups:

Calculating Routes

Advanced Route Options

Iso Routing (Drive-Time and Drive-Distance)

Updating a Request using Routing Data

Main Routing Classes

Routing is supported using either a MapInfo routing server or the Envinsa Route service. One of
these resources needs to be deployed and made available via a URL. To create the appropriate
routing client, use the RouteClientFactory class. The interface for both clients is similar as they both
use the same classes for route requests, preferences, and responses.

Using the routing client you can determine the shortest or fastest path (route) between two locations,
add intermediate locations (ViaPoint class), avoid locations or road types (AvoidList, PointExclude,
SegmentExclude classes), get driving directions (RouteInstructionsRequest class), get the route
geometry (RouteGeometryRequest class), and customize your routes using numerous preferences
resulting in more meaningful analysis. The routing client includes important analytical tools, allowing
you to calculate drive-time and drive-distance (isoChrone and isoDistance), and the ability to use
transient updates to avoid certain road types or to recalculate a route. The routing client functionality
is divided into three logical groups:

1. Calculating routes using the RouteRequest class for point-to-point and multi-point routes, and

the MatrixRouteRequest class for matrix routes.

2. Calculating drive-time and drive-distance using the IsoChroneRequest class for drive-time and

the IsoDistanceRequest class for drive-distance.

3. Calculating routes with transient updates to produce more accurate and meaningful routes using

the TransientUpdate class.

Advertising