All Cadcorp SIS API Methods

IsoRoute Method

Description

Find Link and Node Items which can be reached from a position, within a given cost.

When the cost is related to time, this query is often called an Isochrone.

Syntax

Visual Basic
Public Function IsoRoute( _
   ByVal list As String, _
   ByVal x As Double, _
   ByVal y As Double, _
   ByVal z As Double, _
   ByVal r As Double, _
   ByVal isoVal As Double, _
   ByVal formula As String, _
   ByVal filter As String, _
   ByVal locusNoGo As String _
) As Integer

Parameters

list

A Named List of Link and Node Items which can be got to. Any Link item whose mid-point can be reached will be put in the Named List.

 
x

The x coordinate of the position to start from.

 
y
The y coordinate of the position to start from.
 
z

The z coordinate of the position to start from.

 
r

The maximum distance from the start point to a Link item. The topological algorithm will spread out from the closest Link found. The distance from the point to the closest Link is not included in the cost calculation. Ideally, the start point should be on a Link item.

 
isoVal

The maximum cost to incur during route finding.

 
formula
The expression, or simple property, to use in the route finding calculation as the "cost" of a Link item. For example, using the simple property Length will find all Link and Node Items within a fixed distance from the point. See Property Expressions Syntax for details.
 
filter

Optionally specifies a named Filter which all Link Items must pass to be considered as part of a route.

 
locusNoGo

Optionally specifies a named Spatial Filter through which no route may pass.

The named Spatial Filter used ("NoGo" in the following examples) will normally have its testing mode set to exclude any Link Items which cross it, using a call similar to the following:

CreateLocusFromItem("NoGo",SIS_GT_INTERSECT,SIS_GM_GEOMETRY)

Remarks

Available: GEO D OM OD OV SISpy

Group:

Example

sis.IsoRoute ("Routes", 2000, 1500, 10, 30, 15,"_length#/((30*5280/3.2808)/60)",_
 "links", "NoGo" )

This would normally be followed by:

sis.CreateBoolean ("Routes",SIS_BOOLEAN_OR)

to create a MultiLineString item of all the selected items.