How to implement restriction on routing?

1117
1
06-15-2017 12:55 AM
LeoDeng
Occasional Contributor II

All, 

   I'm using esri javascript api 3.20.

   I want to implement an ONE-WAY restriction for route analysis.

  The network server (NAServer) has an attribute "Driving a Passenger Car". (TomTom North America data)

  In arcmap, the results are as expected.

But when using esri js api, the results was

How to apply the one-way restriction?

var layer = new GraphicsLayer({id: 'route'});
map.addLayer(layer);

var features = [];
var p1 = new Graphic(new Point(-73.936131, 42.818060), stopSymbol);
var p2 = new Graphic(new Point(-73.936946, 42.819637), stopSymbol);
features.push(p1);
features.push(p2);

layer.add(p1);
layer.add(p2);

var featureSet = new FeatureSet();
featureSet.features = features;
parameters.stops = featureSet;

parameters.outSpatialReference = {wkid: 3857};
parameters.returnStops = true;
parameters.returnDirections = true;
parameters.directionsTimeAttributes = "Minutes";
parameters.outputLines = NATypes.OutputLine.TRUE_SHAPE;
parameters.doNotLocateOnRestrictedElements = false;
parameters.attributeParameterValues = [{
     "attributeName": "Driving a Passenger Car",
     "parameterName": "Restriction Usage",
     "value": "Prohibited"
}];
parameters.restrictionAttributes = ['Driving a Passenger Car'];

task.solve(parameters).then(function(results){

     var routeResults = results.routeResults[0],
          route = routeResults.route;
     
     route.setSymbol(routeSymbol);
     
     layer.add(route);  // the route without restriction
     
}.bind(this), function(error){
     console.log(error);
}.bind(this));‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
Tags (1)
1 Reply
LeoDeng
Occasional Contributor II

I'm trying to use travel mode option, but the result is same as before.

var featureSet = new FeatureSet();
featureSet.features = features;
parameters.stops = featureSet;

parameters.outSpatialReference = {wkid: 3857};
parameters.returnStops = true;
parameters.returnDirections = true;
parameters.directionsTimeAttributes = "Minutes";
parameters.outputLines = NATypes.OutputLine.TRUE_SHAPE;
parameters.doNotLocateOnRestrictedElements = false;


task.getServiceDescription().then(function(results){
    var travelMode = results.supportedTravelModes.filter(function(item) { return item.name == "Driving Time" })[0];
    parameters.travelMode = travelMode;
    
    task.solve(parameters).then(function(results){

        var routeResults = results.routeResults[0],
            route = routeResults.route;
        
        route.setSymbol(routeSymbol);
        
        layer.add(route);
        
    }.bind(this), function(error){
        console.log(error);
    }.bind(this));
    
}.bind(this));‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

The travel mode description

"
{"name":"Driving Time",
"id":"1",
"type":"AUTOMOBILE",
"description":"Models the movement of cars and other similar small automobiles, such as pickup trucks, and finds solutions that optimize travel time. Travel obeys one-way roads, avoids illegal turns, and follows other rules that are specific to cars. Dynamic travel speeds based on traffic are used where it is available when you specify a start time.",
"timeAttributeName":"TravelTime",
"distanceAttributeName":"Kilometers",
"impedanceAttributeName":"TravelTime",
"restrictionAttributeNames":
["Avoid Unpaved Roads",
"Avoid Private Roads",
"Driving a Passenger Car",
"Through Traffic Prohibited",
"Roads Under Construction Prohibited",
"Avoid Gates",
"Avoid Express Lanes",
"Avoid Carpool Roads",
"Avoid Pedestrian Zones",
"Avoid Roads for Authorities",
"Avoid Service Roads",
"Avoid Walkways"],
"attributeParameterValues":
[
{"attributeName":"Driving a Passenger Car",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Driving a Public Bus",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Driving a Residential Vehicle",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Driving a Taxi",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Driving a Commercial Vehicle",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Driving a Truck",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Ferries",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Avoid Toll Roads",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Avoid Service Roads",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Pedestrian Zones",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Walkways",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Roads for Authorities",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Roads in Poor Condition",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Avoid Private Roads",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Roads Under Construction Prohibited",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Back Roads",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Avoid Limited Access Roads",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Avoid Unpaved Roads",
"parameterName":"Restriction Usage",
"value":"Avoid_High"},
{"attributeName":"Through Traffic Prohibited",
"parameterName":"Restriction Usage",
"value":"Avoid_High"},
{"attributeName":"Avoid Express Lanes",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Carpool Roads",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Avoid Gates",
"parameterName":"Restriction Usage",
"value":"Avoid_Medium"},
{"attributeName":"Avoid Truck Restricted Roads",
"parameterName":"Restriction Usage",
"value":"Avoid_High"},
{"attributeName":"Any Hazmat Prohibited",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Height Restriction",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Height Restriction",
"parameterName":"Vehicle Height (meters)",
"value":0},
{"attributeName":"Length Restriction",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Length Restriction",
"parameterName":"Vehicle Length (meters)",
"value":0},
{"attributeName":"Trailer Length Restriction",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Trailer Length Restriction",
"parameterName":"Trailer Length (meters)",
"value":0},
{"attributeName":"Use Preferred Hazmat Routes",
"parameterName":"Restriction Usage",
"value":"Prefer_Medium"},
{"attributeName":"Use Preferred Truck Routes",
"parameterName":"Restriction Usage",
"value":"Prefer_Medium"},
{"attributeName":"Weight Restriction",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Weight Restriction",
"parameterName":"Vehicle Weight (kilograms)",
"value":0},
{"attributeName":"Weight per Axle Restriction",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Weight per Axle Restriction",
"parameterName":"Vehicled Weight per Axle (kilograms)",
"value":0},
{"attributeName":"Width Restriction",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"Width Restriction",
"parameterName":"Vehicle Width (meters)",
"value":0},
{"attributeName":"Riding a Bicycle",
"parameterName":"Restriction Usage",
"value":"Prohibited"},
{"attributeName":"WalkTime",
"parameterName":"Walking Speed (km/h)",
"value":5},
{"attributeName":"Walking",
"parameterName":"Restriction Usage",
"value":"Prohibited"}],
"useHierarchy":true,"uturnAtJunctions":"esriNFSBAtDeadEndsAndIntersections",
"simplificationTolerance":null,"simplificationToleranceUnits":"esriUnknownUnits"}"
0 Kudos