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.