{ "name": "FindRoutes", "displayName": "Find Routes", "description": "", "category": "", "helpUrl": "https://maps.cityofmadison.com/arcgis/rest/directories/arcgisoutput/Web/SaltRouteService_GPServer/Web_SaltRouteService/FindRoutes.htm", "executionType": "esriExecutionTypeSynchronous", "parameters": [ { "name": "Stops", "dataType": "GPFeatureRecordSetLayer", "displayName": "Stops", "description": "This tool routes between the stops specified in this parameter. A minimum of two stops are \nnecessary to solve an analysis.When specifying the stops, you can set properties for each one, such as its name or service time, by using attributes. The stops can be specified with the following attributes:OBJECTID\u2014The system-managed ID field.SHAPE\u2014The geometry field indicating the geographic location of the incident.Name\u2014The name of the stop. The name is used in the driving\ndirections. If the name is not specified, a unique name prefixed\nwith Location is automatically generated in the output stops, routes, and\ndirections.RouteName\u2014The name of the route to which the stop is assigned. Assigning the same route name to different stops causes those stops to be grouped together and visited by the same route. You can generate many routes in a single solve by assigning unique route names to different groups of stops. With this tool you can group up to 150 stops into one route.Sequence\u2014The output routes will visit the stops in the order you specify with this attribute. Within a group of stops that have the same route name value, the sequence number should be greater than 0 but not greater than the total number of stops. Also, the sequence number should not be duplicated. If Reorder Stops To Find Optimal Routes is checked (True), all but possibly the first and last sequence values for each route name are ignored so the tool can find the sequence that minimizes overall travel for each route. (The settings for Preserve Ordering of Stops and Return to Start determine whether the first or last sequence values for each route are ignored.)AdditionalTime\u2014The amount of time spent at the stop, which is added to the total time of the route. The units for this attribute value are specified by the Measurement Units parameter. The attribute value is included in the analysis only when the measurement units are time based. The default value is 0. Generally, the location of a stop, such as a home, isn't exactly on the street; it is set back somewhat from the road. This attribute value can be used to model the distance between the actual stop location and its location on the street, if it is important to include that distance in the total travel distance.AdditionalDistance\u2014The extra distance traveled at the stops, which is added to the total distance of the route. The units for this attribute value are specified by the Measurement Units parameter. The attribute value is included in the analysis only when the measurement units are distance based. The default value is 0.Generally, the location of a stop, such as a home, isn't exactly on the street; it is set back somewhat from the road. This attribute value can be used to model the distance between the actual stop location and its location on the street, if it is important to include that distance in the total travel distance.TimeWindowStart\u2014The earliest time the stop can be visited. Make sure you specify the value as a date and time value, such as 8/12/2015 12:15 PM. By specifying a start and end time for a stop's time window, you are defining when a route should visit the stop. As long as Use Time Windows is checked and you've chosen a time-based unit for Measurement Units, the tool will try to find a solution that minimizes overall travel and reaches the stop within the prescribed time window. When solving a problem that spans multiple time zones, time-window values refer to the time zone in which the stop is located.This field can contain a null value; a null value\nindicates a route can arrive at any time before the time indicated in the TimeWindowEnd attribute. If a null value is also present in TimeWindowEnd, a route can visit the stop at any time.TimeWindowEnd\u2014The latest time the stop can be visited. Make sure you specify the value as a date and time value, such as 8/12/2015 12:15 PM. By specifying a start and end time for a stop's time window, you are defining when a route should visit the stop. As long as Use Time Windows is checked and you've chosen a time-based unit for Measurement Units, the tool will try to find a solution that minimizes overall travel and reaches the stop within the prescribed time window. When solving a problem that spans multiple time zones, time-window values refer to the time zone in which the stop is located.This field can contain a null value; a null value\nindicates a route can arrive at any time after the time indicated in the TimeWindowStart attribute. If a null value is also present in TimeWindowStart, a route can visit the stop at any time.CurbApproach\u2014Specifies the direction a vehicle may arrive at and depart\nfrom the stop. The field value is specified as one of the\nfollowing integers (use the numeric code, not the name in parentheses): 0 (Either side of vehicle)\u2014The vehicle can approach and depart the stop in either direction, so a U-turn is allowed at the stop. This setting can be chosen if it is possible and practical for your vehicle to turn around at the stop. This decision may depend on the width of the road and the amount of traffic or whether the stop has a parking lot where vehicles can enter and turn around. 1 ( Right side of vehicle)\u2014When the vehicle approaches and departs the stop, the stop must be on the right side of the vehicle. A U-turn is prohibited. This is typically used for vehicles such as buses that must arrive with the bus stop on the right-hand side. 2 (Left side of vehicle)\u2014When the vehicle approaches and departs\nthe stop, the curb must be on the left side of the vehicle. A\nU-turn is prohibited. This is typically used for vehicles such as buses that must arrive with the bus stop on the left-hand side. 3 (No U-Turn)\u2014When\nthe vehicle approaches the stop, the curb can be on either side\nof the vehicle; however, the vehicle must depart without turning\naround. The CurbApproach property is designed to work with both kinds of national driving standards: right-hand traffic (United States) and left-hand traffic (United Kingdom). First, consider a stop on the left side of a vehicle. It is always on the left side regardless of whether the vehicle travels on the left or right half of the road. What may change with national driving standards is your decision to approach a stop from one of two directions, that is, so it ends up on the right or left side of the vehicle. For example, if you want to arrive at a stop and not have a lane of traffic between the vehicle and the stop, you would choose Right side of vehicle (1) in the United States but Left side of vehicle (2) in the United Kingdom.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "RouteName", "type": "esriFieldTypeString", "alias": "Route Name", "length": 1024 }, { "name": "Sequence", "type": "esriFieldTypeInteger", "alias": "Sequence" }, { "name": "AdditionalTime", "type": "esriFieldTypeDouble", "alias": "Additional Time" }, { "name": "AdditionalDistance", "type": "esriFieldTypeDouble", "alias": "Additional Distance" }, { "name": "TimeWindowStart", "type": "esriFieldTypeDate", "alias": "Time Window Start", "length": 8 }, { "name": "TimeWindowEnd", "type": "esriFieldTypeDate", "alias": "Time Window End", "length": 8 }, { "name": "CurbApproach", "type": "esriFieldTypeSmallInteger", "alias": "Curb Approach" }, { "name": "LocationType", "type": "esriFieldTypeInteger", "alias": "Location Type" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "Measurement_Units", "dataType": "GPString", "displayName": "Measurement Units", "description": "Specify the units that should be used to measure and report the total travel time or travel distance for the output routes. The units you choose for this parameter determine whether the tool will measure distance or time to find the best routes. Choose a time unit to minimize travel time for your chosen travel mode (driving or walking time, for instance). To minimize travel distance for the given travel mode, choose a distance unit. Your choice also determines in which units the tool will report total time or distance in the results. The choices include the following:MetersKilometersFeetYardsMilesNauticalMilesSecondsMinutesHoursDaysThe tool chooses whether to use the network cost attribute specified in the Time Attribute or Distance Attribute parameter depending on whether the chosen measurement units are time or distance based. The tool performs the necessary unit conversion when the Measurement Units value differs from the units of the corresponding time or distance cost attribute.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Minutes", "parameterType": "esriGPParameterTypeRequired", "category": "", "choiceList": [ "Minutes", "Seconds", "Hours", "Days", "Miles", "Kilometers", "Meters", "Feet", "Yards", "NauticalMiles" ] }, { "name": "Network_Dataset", "dataType": "GPString", "displayName": "Network Dataset", "description": "The network dataset on which the analysis will be performed. Network datasets most often represent street networks but may represent other kinds of transportation networks as well. The network dataset needs at least one time-based and one distance-based cost attribute.", "direction": "esriGPParameterDirectionInput", "defaultValue": "madison.DATA_ADMIN.SaltRoutes_ND", "parameterType": "esriGPParameterTypeRequired", "category": "", "choiceList": [ "madison.DATA_ADMIN.SaltRoutes_ND" ] }, { "name": "Output_Routes_Name", "dataType": "GPString", "displayName": "Output Routes Name", "description": "The name of the output feature class containing routes or the lines that connect stops. This feature class also contains, as an attribute, the total travel time or distance.Output from Find Routes describes the schema of this output feature class.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Routes", "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "Output_Route_Edges_Name", "dataType": "GPString", "displayName": "Output Route Edges Name", "description": "The name of the output feature class containing the route edges. Route edges represent the individual street features that are traversed by a route.Output from Find Routes describes the schema of this output feature class.", "direction": "esriGPParameterDirectionInput", "defaultValue": "RouteEdges", "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "Output_Directions_Name", "dataType": "GPString", "displayName": "Output Directions Name", "description": "The name of the output feature class containing directions.\nOutput from Find Routes describes the schema of this output feature class.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Directions", "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "Output_Stops_Name", "dataType": "GPString", "displayName": "Output Stops Name", "description": "The name of the output feature class containing the output stops.\nOutput from Find Routes describes the schema of this output feature class.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Stops", "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "Reorder_Stops_to_Find_Optimal_Routes", "dataType": "GPBoolean", "displayName": "Reorder Stops to Find Optimal Routes", "description": "Specify whether to visit the stops in the order you define or the order the tool determines will minimize overall travel. Checked (True):The tool determines the sequence that will minimize overall travel distance or time. It can reorder stops and account for time windows at stops. Additional parameters allow you to preserve the first or last stops while allowing the tool to reorder the intermediary stops.Unchecked (False):The stops are visited in the order you define. This is the default option. You can set the order of stops using a Sequence attribute in the input stops features or let the sequence be determined by the Object ID of the stops. Finding the optimal stop order and the best routes is commonly known as solving the traveling salesman problem (TSP).", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "" }, { "name": "Preserve_Terminal_Stops", "dataType": "GPString", "displayName": "Preserve Terminal Stops", "description": "When Reorder Stops to Find Optimal Routes is checked (or True), you have options to preserve the starting or ending stops and the tool can reorder the rest. The first and last stops are determined by their Sequence attribute values or, if the Sequence values are null, by their Object ID values.PRESERVE_BOTH\u2014Preserves the first and last stops by input order as the first and last stops in the route. PRESERVE_FIRST\u2014Preserves the first stop by input order as the first stop in the route, but the last stop is free to be reordered. PRESERVE_LAST\u2014Preserves the last stop by input order as the last stop in the route, but the first stop is free to be reordered. PRESERVE_NONE\u2014Frees both the first and last stop to be reordered. Preserve Terminal Stops is ignored when Reorder Stops to Find Optimal Routes is unchecked (or False).", "direction": "esriGPParameterDirectionInput", "defaultValue": "PRESERVE_FIRST", "parameterType": "esriGPParameterTypeOptional", "category": "", "choiceList": [ "PRESERVE_FIRST", "PRESERVE_LAST", "PRESERVE_BOTH", "PRESERVE_NONE" ] }, { "name": "Return_to_Start", "dataType": "GPBoolean", "displayName": "Return to Start", "description": "Choose whether routes should start and end at the same location. With this option you can avoid duplicating the first stop feature and sequencing the duplicate stop at the end.The starting location of the route is the stop feature with the lowest value in the Sequence attribute. If the Sequence values are null, it is the stop feature with the lowest Object ID value.Checked (True) - The route should start and end at the first stop feature. This is the default value.\nUnchecked (False) - The route won't start and end at the first stop feature.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "" }, { "name": "Use_Time_Windows", "dataType": "GPBoolean", "displayName": "Use Time Windows", "description": "Check this option (or set it to True) if any input stops have time windows that specify when the route should reach the stop. You can add time windows to input stops by entering time values in the TimeWindowStart and TimeWindowEnd attributes.Checked (True):The input stops have time windows and you want the tool to try to honor them.Unchecked (False):The input stops don't have time windows, or if they do, you don't want the tool to try to honor them. This is the default value.\nThe tool will take slightly longer to run when Use Time Windows is checked (or True), even when none of the input stops have time windows, so it is recommended to uncheck this option (set to False) if possible.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Advanced Analysis" }, { "name": "Time_of_Day", "dataType": "GPDate", "displayName": "Time of Day", "description": "Specifies the time and date at which the routes should\nbegin. If your network dataset contains live or historical traffic data, specifying a time-of-day results in a more accurate estimation of travel time between stops because the travel times account for the traffic conditions that are applicable for that date and time.The Time Zone for Time of Day parameter specifies whether this time and date refer to UTC or the time zone in which the stop is located.The tool ignores this parameter when Measurement Units isn't set to a time-based unit.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Advanced Analysis" }, { "name": "Time_Zone_for_Time_of_Day", "dataType": "GPString", "displayName": "Time Zone for Time of Day", "description": "Specifies the time zone of the Time of Day parameter.GEO_LOCAL\u2014The Time of Day parameter refers to the time zone in which the first stop of a route is located. If you are generating many routes that start in multiple times zones, the start times are staggered in Coordinated Universal Time (UTC). For example, a Time of Day value of 10:00 a.m., 2 January, would mean a start time of 10:00 a.m. Eastern Standard Time (3:00 p.m. UTC) for routes beginning in the Eastern Time Zone and 10:00 a.m. Central Standard Time (4:00 p.m. UTC) for routes beginning in the Central Time Zone. The start times are offset by one hour in UTC.The arrive and depart times and dates recorded in the output Stops feature class will refer to the local time zone of the first stop for each route.UTC\u2014The Time of Day parameter refers to Coordinated Universal Time (UTC). Choose this option if you want to generate a route for a specific time, such as now, but aren't certain in which time zone the first stop will be located.If you are generating many routes spanning multiple times zones, the start times in UTC are simultaneous. For example, a Time of Day value of 10:00 a.m., 2 January, would mean a start time of 5:00 a.m. Eastern Standard Time(UTC-5:00) for routes beginning in the Eastern Time Zone and 4:00 a.m. Central Standard Time (UTC-6:00) for routes beginning in the Central Time Zone. Both routes would start at 10:00 a.m. UTC.The arrive and depart times and dates recorded in the output Stops feature class will refer to UTC.", "direction": "esriGPParameterDirectionInput", "defaultValue": "GEO_LOCAL", "parameterType": "esriGPParameterTypeOptional", "category": "Advanced Analysis", "choiceList": [ "UTC", "GEO_LOCAL" ] }, { "name": "UTurn_Policy", "dataType": "GPString", "displayName": "UTurn Policy", "description": "The U-Turn policy at junctions. Allowing U-turns implies the solver can turn around at a junction and double back on the same street.\n\n Given that junctions represent street intersections and dead ends, different vehicles may be able to turn around at some junctions but not at others\u2014it depends on whether the junction represents an intersection or dead end. To accommodate, the U-turn policy parameter is implicitly specified by how many edges, or streets, connect to the junction, which is known as junction valency. The acceptable values for this parameter are listed below; each is followed by a description of its meaning in terms of junction valency. \nALLOW_UTURNS\u2014U-turns are permitted at junctions with any number of connected edges, or streets. This is the default value. NO_UTURNS\u2014U-turns are prohibited at all junctions, regardless of junction valency.ALLOW_DEAD_ENDS_ONLY\u2014U-turns are prohibited at all junctions, except those that have only one adjacent edge (a dead end).ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY\u2014U-turns are prohibited at junctions where exactly two adjacent edges meet but are permitted at intersections (junctions with three or more adjacent edges) and dead ends (junctions with exactly one adjacent edge). Oftentimes, networks modeling streets have extraneous junctions in the middle of road segments. This option prevents vehicles from making U-turns at these locations.The value of this parameter is\noverridden when Travel Mode (Travel_Mode in Python) is set to any value other than custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": "ALLOW_UTURNS", "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode", "choiceList": [ "ALLOW_UTURNS", "NO_UTURNS", "ALLOW_DEAD_ENDS_ONLY", "ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY" ] }, { "name": "Point_Barriers", "dataType": "GPFeatureRecordSetLayer", "displayName": "Point Barriers", "description": "Specifies point barriers, which are split into two types: restriction and added cost point barriers. They temporarily restrict traversal across or add impedance to points on the network. The point barriers are defined by a feature set, and the attribute values you specify for the point features determine whether they are restriction or added cost barriers. The fields in the attribute table are listed and described below.\nObjectID:\nThe system-managed ID field.\nShape:\nThe geometry field indicating the geographic location of the network analysis object.Name:\nThe name of the barrier.BarrierType:\n Specifies whether the barrier restricts travel completely or adds cost when traveling through it. There are two options: Restriction (0)\u2014Prohibits traversing through the barrier. This is the default value. Added Cost (2)\u2014Traversing through the barrier increases the network cost by the amount specified in the Additional_Time and Additional_Distance fields. Use the value 0 for Restriction and 2 for Added Cost.Additional_Time:Indicates how much travel time is added when the\nbarrier is traversed. This field is applicable only for added-cost\nbarriers and only if the measurement units are time based. This field\nvalue must be greater than or equal to zero, and its units are the same as those specified in the\nMeasurement Units parameter.Additional_Distance:Indicates how much distance is added when the barrier is\ntraversed. This field is applicable only for added-cost barriers\nand only if the measurement units are distance based. The field value\nmust be greater than or equal to zero, and its units are the same as those specified in the\nMeasurement Units parameter.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "BarrierType", "type": "esriFieldTypeInteger", "alias": "Barrier Type" }, { "name": "Additional_Time", "type": "esriFieldTypeDouble", "alias": "Additional Time" }, { "name": "Additional_Distance", "type": "esriFieldTypeDouble", "alias": "Additional Distance" }, { "name": "CurbApproach", "type": "esriFieldTypeSmallInteger", "alias": "CurbApproach" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Barriers" }, { "name": "Line_Barriers", "dataType": "GPFeatureRecordSetLayer", "displayName": "Line Barriers", "description": "Specifies line barriers, which temporarily restrict traversal across them. The line barriers are defined by a feature set. The fields in the attribute table are listed and described below.\nObjectID:\nThe system-managed ID field.Shape:\n\nThe geometry field indicating the geographic location of the network analysis object.\nName:\nThe name of the barrier.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPolyline", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "BarrierType", "type": "esriFieldTypeInteger", "alias": "BarrierType" }, { "name": "SHAPE_Length", "type": "esriFieldTypeDouble", "alias": "SHAPE_Length" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Barriers" }, { "name": "Polygon_Barriers", "dataType": "GPFeatureRecordSetLayer", "displayName": "Polygon Barriers", "description": "Specifies polygon barriers, which are split into two types: restriction and scaled cost polygon barriers. They temporarily restrict traversal or scale impedance on the parts of the network they cover. The polygon barriers are defined by a feature set, and the attribute values you specify for the polygon features determine whether they are restriction or scaled cost barriers. The fields in the attribute table are listed and described below.\nObjectID:\nThe system-managed ID field.\nShape:\nThe geometry field indicating the geographic location of the network analysis object.\nName:\nThe name of the barrier.\nBarrierType:\n Specifies whether the barrier restricts travel completely or scales the cost of traveling through it. There are two options:Restriction (0)\u2014Prohibits traversing through any part of the barrier. This is the default value.Scaled Cost (1)\u2014Scales the impedance of underlying edges by multiplying them by the value of the ScaledCostFactor property. If edges are partially covered by the barrier, the impedance is apportioned and multiplied.Use the value 0 for Restriction and 1 for Scaled Cost.ScaledTimeFactor:This is the factor by which the travel time of the streets\nintersected by the barrier is multiplied. This field is applicable\nonly for scaled-cost barriers and only if the measurement units are time\nbased. The field value must be greater than zero.ScaledDistanceFactor:This is the factor by which the distance of the streets\nintersected by the barrier is multiplied. This attribute is\napplicable only for scaled-cost barriers and only if the measurement\nunits are distance based. The attribute value must be greater than\nzero.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPolygon", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "BarrierType", "type": "esriFieldTypeInteger", "alias": "Barrier Type" }, { "name": "ScaledTimeFactor", "type": "esriFieldTypeDouble", "alias": "Scaled Time Factor" }, { "name": "ScaledDistanceFactor", "type": "esriFieldTypeDouble", "alias": "Scaled Distance Factor" }, { "name": "SHAPE_Length", "type": "esriFieldTypeDouble", "alias": "SHAPE_Length" }, { "name": "SHAPE_Area", "type": "esriFieldTypeDouble", "alias": "SHAPE_Area" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Barriers" }, { "name": "Time_Attribute", "dataType": "GPString", "displayName": "Time Attribute", "description": "Defines the network cost attribute to use when the measurement units value is a time unit. \nThe tool performs the necessary time-unit conversion when the measurement units value differs from the units of the cost attribute defined here. In other words, the time units of the default cutoff and the network cost attribute don't need to be the same.The value of this parameter is\noverridden when Travel Mode (Travel_Mode in Python) is set to any value other than Custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Time", "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode", "choiceList": [ "Time" ] }, { "name": "Time_Attribute_Units", "dataType": "GPString", "displayName": "Time Attribute Units", "description": "The units of the network cost attribute specified by the Time Attribute parameter. This is merely an informational parameter that cannot be changed without directly editing the network dataset. It is also unnecessary to change since the unit conversions between measurement units and the cost attribute are handled for you.The value of this parameter is\noverridden when Travel Mode is set to any value other than Custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Seconds", "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode" }, { "name": "Distance_Attribute", "dataType": "GPString", "displayName": "Distance Attribute", "description": "Defines the network cost attribute to use when the measurement units value is a distance unit.The tool performs the necessary distance-unit conversion when the measurement units value differs from the units of the cost attribute defined here. In other words, the measurement units and the distance units of the network cost attribute don't need to be the same.The value of this parameter is\noverridden when Travel Mode (Travel_Mode in Python) is set to any value other than Custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Length", "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode", "choiceList": [ "Length" ] }, { "name": "Distance_Attribute_Units", "dataType": "GPString", "displayName": "Distance Attribute Units", "description": "The units of the network cost attribute specified by the Distance Attribute parameter. This is merely an informational parameter that cannot be changed without directly editing the network dataset. It is also unnecessary to change since the unit conversions between measurement units and the cost attribute are handled for you.The value of this parameter is\noverridden when Travel Mode is set to any value other than Custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Feet", "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode" }, { "name": "Use_Hierarchy_in_Analysis", "dataType": "GPBoolean", "displayName": "Use Hierarchy in Analysis", "description": "Specify whether hierarchy should be used when finding the shortest\nroutes between points.Checked (True) - Use hierarchy when finding routes. When hierarchy is used, the tool prefers higher-order streets (such as freeways) to lower-order streets (such as local roads) and can be used to simulate the driver preference of traveling on freeways instead of local roads even if that means a longer trip. This is especially true when finding routes to faraway facilities, because drivers on long-distance trips tend to prefer traveling on freeways where stops, intersections, and turns can be avoided. Using hierarchy is computationally faster, especially for long-distance routes, because the tool has to select the best route from a relatively smaller subset of streets. This is the default value.Unchecked (False) - Do not use hierarchy when finding routes. If hierarchy is not used, the tool considers all the streets and doesn't prefer higher-order streets when finding the route. This is often used when finding short-distance routes within a city.The parameter is disabled if a hierarchy attribute is not defined on the network dataset used to perform the analysis.You can use the Force Hierarchy Beyond Distance parameter to force the solver to use hierarchy even if Use Hierarchy in Analysis is set to false.This parameter is ignored unless Travel Mode is set to Custom. When modeling a custom walking mode, it is recommended to turn off hierarchy since the hierarchy is designed for motorized vehicles.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode" }, { "name": "Restrictions", "dataType": "GPMultiValue:GPString", "displayName": "Restrictions", "description": "Indicates which network restriction attributes are respected during solve time.\nThe value of this parameter is\noverridden when Travel Mode (Travel_Mode in Python) is set to any value other than custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": [ "Oneway" ], "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode", "choiceList": [ "Oneway" ] }, { "name": "Attribute_Parameter_Values", "dataType": "GPRecordSet", "displayName": "Attribute Parameter Values", "description": "Specifies the parameter values for network attributes that have parameters. The record set has two columns that work together to uniquely identify parameters and another column that specifies the parameter value.The value of this parameter is\noverridden when Travel Mode (Travel_Mode in Python) is set to any value other than custom.The attribute parameter values record set has associated attributes. The fields in the attribute table are listed below and described.\nObjectID:\nThe system-managed ID field.AttributeName:The name of the network attribute whose attribute parameter is set by the table row.ParameterName:The name of the attribute parameter whose value is set by the table row. (Object type parameters cannot be updated using this tool.) ParameterValue:The value you want for the attribute parameter. If a value is not specified, the attribute parameter is set to null.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "AttributeName", "type": "esriFieldTypeString", "alias": "AttributeName", "length": 255 }, { "name": "ParameterName", "type": "esriFieldTypeString", "alias": "ParameterName", "length": 255 }, { "name": "ParameterValue", "type": "esriFieldTypeString", "alias": "ParameterValue", "length": 25 } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode" }, { "name": "Accumulate_Attributes", "dataType": "GPMultiValue:GPString", "displayName": "Accumulate Attributes", "description": "List of cost attributes to be accumulated during analysis. These accumulation attributes are purely for reference; the solver only uses the cost attribute specified by the Time Attribute (Time_Attribute in Python) or Distance Attribute (Distance_Attribute in Python) parameter to calculate the shortest paths.\n For each cost attribute that is accumulated, a Total_[attribute] field is added to the routes that are output by the solver.", "direction": "esriGPParameterDirectionInput", "defaultValue": [], "parameterType": "esriGPParameterTypeOptional", "category": "Network Dataset" }, { "name": "Maximum_Snap_Tolerance", "dataType": "GPLinearUnit", "displayName": "Maximum Snap Tolerance", "description": "The maximum snap tolerance is the furthest distance that Network Analyst searches when locating or relocating a point onto the network.\nThe search looks for suitable edges or junctions and snaps the point to the nearest one. If a suitable location isn't found within the maximum snap tolerance, the object is marked as unlocated.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "distance": 20, "units": "esriKilometers" }, "parameterType": "esriGPParameterTypeOptional", "category": "Network Locations" }, { "name": "Feature_Locator_WHERE_Clause", "dataType": "GPString", "displayName": "Feature Locator WHERE Clause", "description": "A SQL expression used to select a subset of source features that limits on which network elements stops can be located. The syntax for this parameter consists of two parts: the first is the source feature class name (followed by a space) and the second is the SQL expression. To write a SQL expression for two or more source feature classes, separate them with a semicolon.\nTo ensure facilities are not located on limited-access highways, for example, write a SQL expression like the following to exclude those source features: \"Streets\" \"FUNC_CLASS not in('1', '2')\". Note that barriers ignore the feature locator WHERE clause when loading.", "direction": "esriGPParameterDirectionInput", "defaultValue": "\"Madison.DATA_ADMIN.SaltRoutes\" #;\"Madison.DATA_ADMIN.RampSaltRoutes\" #;\"Madison.DATA_ADMIN.Salt_Routes_ND_Junctions\" #", "parameterType": "esriGPParameterTypeOptional", "category": "Network Locations" }, { "name": "Route_Shape", "dataType": "GPString", "displayName": "Route Shape", "description": "Specify the type of route features that are output by the\ntool. The parameter can be specified using one of the following\nvalues:TRUE_LINES_WITHOUT_MEASURES\u2014 Return the exact shape of the resulting route based on the underlying streets.TRUE_LINES_WITH_MEASURES\u2014 Return the exact shape of the resulting route based on the underlying streets. Additionally, construct measures so the shape may be used in linear referencing.STRAIGHT_LINES\u2014 Return a straight line between the stops.NO_LINES\u2014 Do not return any shapes for the routes. This value can be useful in cases where you are only interested in determining the total travel time or travel distance between the stops. When the Route Shape parameter is set to True Shape, the\ngeneralization of the route shape can be further controlled using\nthe appropriate value for the Route Line Simplification Tolerance\nparameter. No matter which value you choose for the Route Shape\nparameter, the best route is always determined by minimizing the\ntravel time or the travel distance, never using the straight-line\ndistance between stops. This means that only the route shapes are different,\nnot the underlying streets that are searched when finding the\nroute.", "direction": "esriGPParameterDirectionInput", "defaultValue": "TRUE_LINES_WITHOUT_MEASURES", "parameterType": "esriGPParameterTypeOptional", "category": "Output", "choiceList": [ "TRUE_LINES_WITHOUT_MEASURES", "TRUE_LINES_WITH_MEASURES", "STRAIGHT_LINES", "NO_LINES" ] }, { "name": "Route_Line_Simplification_Tolerance", "dataType": "GPLinearUnit", "displayName": "Route Line Simplification Tolerance", "description": "Specify by how much you want to simplify the route\ngeometry.The tool ignores this parameter if the Route Shape parameter isn't set to True lines with measures or True lines without measures.\n Simplification maintains critical\npoints on a route, such as turns at intersections, to define the\nessential shape of the route and removes other points. The\nsimplification distance you specify is the maximum allowable offset\nthat the simplified line can deviate from the original line.\nSimplifying a line reduces the number of vertices that are part of\nthe route geometry. This improves the tool execution\ntime.The value of this parameter is\noverridden when Travel Mode (Travel_Mode in Python) is set to any value other than custom.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "distance": 10, "units": "esriMeters" }, "parameterType": "esriGPParameterTypeOptional", "category": "Custom Travel Mode" }, { "name": "Populate_Route_Edges", "dataType": "GPBoolean", "displayName": "Populate Route Edges", "description": "Specify whether the tool should generate edges for each route. Route edges represent the individual street features or other similar features that are traversed by a route. The output Route Edges layer is commonly used to see which streets or paths are traveled on the most or least by the resultant routes. Checked (True):Generate route edges. The output Route Edges layer is populated with line features. Unchecked (False):Don't generate route edges. The output Route Edges layer is returned, but it is empty.", "direction": "esriGPParameterDirectionInput", "defaultValue": true, "parameterType": "esriGPParameterTypeOptional", "category": "Output" }, { "name": "Populate_Directions", "dataType": "GPBoolean", "displayName": "Populate Directions", "description": "Specify whether the tool should generate driving directions for\neach route. Checked (True): Indicates that the directions will be generated\nand configured based on the values for the Directions Language,\nDirections Style Name, and Directions Distance Units\nparameters. Unchecked (False):Directions are not generated, and the tool\nreturns an empty Directions layer.", "direction": "esriGPParameterDirectionInput", "defaultValue": true, "parameterType": "esriGPParameterTypeOptional", "category": "Output" }, { "name": "Directions_Language", "dataType": "GPString", "displayName": "Directions Language", "description": "Specify the language that should be used when generating\ndriving directions. This parameter is used only when the Populate\nDirections parameter is checked, or set to True. The directions languages that are available depend on what ArcGIS language packs you have installed on your computer. The values are entered in two- or five-character language codes, for example, en for English or zh-CN for simplified Chinese. If an unsupported language code is specified, the tool\nreturns the directions using the default language,\nEnglish.", "direction": "esriGPParameterDirectionInput", "defaultValue": "en", "parameterType": "esriGPParameterTypeOptional", "category": "Output", "choiceList": [ "en" ] }, { "name": "Directions_Distance_Units", "dataType": "GPString", "displayName": "Directions Distance Units", "description": "Specify the units for displaying travel distance in the\ndriving directions. This parameter is used only when the Populate\nDirections parameter is checked, or set to True.MilesKilometersMetersFeetYardsNauticalMiles", "direction": "esriGPParameterDirectionInput", "defaultValue": "Miles", "parameterType": "esriGPParameterTypeOptional", "category": "Output", "choiceList": [ "Miles", "Kilometers", "Meters", "Feet", "Yards", "NauticalMiles" ] }, { "name": "Directions_Style_Name", "dataType": "GPString", "displayName": "Directions Style Name", "description": "Specify the name of the formatting style for the\ndirections. This parameter is used only when the Populate\nDirections parameter is checked, or set to True. The parameter can be specified\nusing the following values:NA Desktop\u2014 Generates turn-by-turn directions suitable for printing.NA Navigation\u2014 Generates turn-by-turn directions designed for an in-vehicle navigation device.NA Campus\u2014Generates directions appropriate for pedestrian networks, including sidewalks and building interiors.", "direction": "esriGPParameterDirectionInput", "defaultValue": "NA Desktop", "parameterType": "esriGPParameterTypeOptional", "category": "Output", "choiceList": [ "NA Desktop", "NA Navigation", "NA Campus" ] }, { "name": "Maximum_Features_Affected_by_Point_Barriers", "dataType": "GPLong", "displayName": "Maximum Features Affected by Point Barriers", "description": "Limits how many features can be affected by point barriers. This parameter helps you govern the amount of processing that occurs when solving. For example, you could assign a low value to this parameter for a free version of the service you are creating and use a higher value for a paid-subscription version of the service.A null value indicates there is no limit.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Service Capabilities" }, { "name": "Maximum_Features_Affected_by_Line_Barriers", "dataType": "GPLong", "displayName": "Maximum Features Affected by Line Barriers", "description": "Limits how many features can be affected by line barriers. This parameter helps you govern the amount of processing that occurs when solving. For example, you could assign a low value to this parameter for a free version of the service you are creating and use a higher value for a paid-subscription version of the service.A null value indicates there is no limit.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Service Capabilities" }, { "name": "Maximum_Features_Affected_by_Polygon_Barriers", "dataType": "GPLong", "displayName": "Maximum Features Affected by Polygon Barriers", "description": "Limits how many features can be affected by polygon barriers. This parameter helps you govern the amount of processing that occurs when solving. For example, you could assign a low value to this parameter for a free version of the service you are creating and use a higher value for a paid-subscription version of the service.A null value indicates there is no limit.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Service Capabilities" }, { "name": "Maximum_Stops", "dataType": "GPLong", "displayName": "Maximum Stops", "description": "Limits how many stops can be added to the route analysis. \nThis parameter is related to the Stops parameter.This parameter helps you govern the amount of processing that occurs when solving. For example, you could assign a low value to this parameter for a free version of the service you are creating and use a higher value for a paid-subscription version of the service.A null value indicates there is no limit.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Service Capabilities" }, { "name": "Maximum_Stops_per_Route", "dataType": "GPLong", "displayName": "Maximum Stops per Route", "description": "Limits the maximum number of stops that can be assigned to each route in an analysis.Stops are preassigned to routes using the RouteName field of points in the Stops parameter.This parameter helps you govern the amount of processing that occurs when solving. For example, you could assign a low value to this parameter for a free version of the service you are creating and use a higher value for a paid-subscription version of the service.A null value indicates there is no limit.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Service Capabilities" }, { "name": "Force_Hierarchy_Beyond_Distance", "dataType": "GPDouble", "displayName": "Force Hierarchy Beyond Distance", "description": "Specifies the distance after which the solver will force hierarchy when finding routes, even if hierarchy is not enabled. The units of this parameter are the same as those shown in the Distance Attribute Units parameter.Finding routes between stops that are far away while using the network's hierarchy tends to incur much less processing than finding the same routes without using the hierarchy. This parameter helps you govern the amount of processing that occurs when solving.A null value indicates that the hierarchy will never be enforced and the value of the Use Hierarchy in Analysis parameter will always be honored. If the input network dataset does not support hierarchy, specifying a value for this parameter will result in an error. A null value should be used in this case. This parameter is disabled unless the network dataset includes a hierarchy attribute.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Service Capabilities" }, { "name": "Save_Output_Network_Analysis_Layer", "dataType": "GPBoolean", "displayName": "Save Output Network Analysis Layer", "description": "Choose whether the output includes a network analysis layer of the results. In either case, feature classes containing the results are returned. However, a server administrator may want to choose to output a network analysis layer as well so that the setup and results of the tool can be debugged using the Network Analyst controls in the ArcGIS Desktop environment. This can make the debugging process much easier. In ArcGIS Desktop, the default output location for the network analysis layer is in the scratch folder. You can determine the location of the scratch folder by evaluating the value of arcpy.env.scratchFolder geoprocessing environment in the Python window. The output network analysis layer is stored as an LYR file whose name begins with _ags_gpna and is followed by an alphanumeric GUID.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Output" }, { "name": "Travel_Mode", "dataType": "GPString", "displayName": "Travel Mode", "description": "Choose the mode of transportation for the analysis. Custom is always a choice. For other travel mode names to appear, they must be present in the network dataset specified in the Network Dataset parameter. A travel mode is defined on a network dataset and provides override values for parameters that, together, model cars, trucks, pedestrians, or other modes of travel. By choosing a travel mode here, you don't need to provide values for the following parameters, which are overridden by values specified in the network dataset:UTurn PolicyTime AttributeTime Attribute UnitsDistance AttributeDistance Attribute UnitsUse Hierarchy in AnalysisRestrictionsAttribute Parameter ValuesRoute Line Simplification Tolerance CUSTOM\u2014Define a travel mode that fits your specific needs. When Custom is chosen, the tool does not override the travel mode parameters listed above. This is the default value.", "direction": "esriGPParameterDirectionInput", "defaultValue": "CUSTOM", "parameterType": "esriGPParameterTypeOptional", "category": "" }, { "name": "Solve_Succeeded", "dataType": "GPBoolean", "displayName": "Solve Succeeded", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": null, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "Output_Routes", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Routes", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": {}, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "Output_Route_Edges", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Route Edges", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": {}, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "Output_Directions", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Directions", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": {}, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "Output_Stops", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Stops", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": {}, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "Time_Zone_for_Time_Windows", "dataType": "GPString", "displayName": "Time Zone for Time Windows", "description": "Specifies the time zone for the time window values on stops. The time windows are specified as part of TimeWindowStart and TimeWindowEnd fields on stops. This parameter is applicable only when the Use Time Windows parameter is checked (or set to True).\nGEO_LOCAL\u2014 The time window values associated with the stops are in the time zone in which the stops are located. For example, if the stop is located in an area that follows Eastern Standard Time and has time window values of 8 a.m. and 10 a.m., the time window values will be treated as 8 a.m. and 10 a.m. in Eastern Standard Time.UTC\u2014 The time window values associated with the stops are in the Coordinated Universal Time (UTC). For example, if the stop is located in an area that follows Eastern Standard Time and has time window values of 8 a.m. and 10 a.m., the time window values will be treated as 12 p.m. and 2 p.m. Eastern Standard Time, assuming the Eastern Standard Time is obeying the Daylight Saving Time. Specifying the time window values in UTC is useful if you do not know the time zone in which the stops are located or when you have stops in multiple time zones and you want all the time windows to start simultaneously. The UTC option is applicable only when your network dataset defines a time zone attribute. If your network dataset does not define a time zone attribute, then all time window values are always treated as GEO_LOCAL.", "direction": "esriGPParameterDirectionInput", "defaultValue": "GEO_LOCAL", "parameterType": "esriGPParameterTypeOptional", "category": "Advanced Analysis", "choiceList": [ "GEO_LOCAL", "UTC" ] }, { "name": "Overrides", "dataType": "GPString", "displayName": "Overrides", "description": "Specify additional settings that can influence the behavior of the solver when finding solutions for the network analysis problems.\n The value for this parameter needs to be specified in JavaScript Object Notation (JSON). For example, a valid value is of the following form {\"overrideSetting1\" : \"value1\", \"overrideSetting2\" : \"value2\"}. The override setting name is always enclosed in double quotation marks. The values can be a number, Boolean, or a string. The default value for this parameter is no\nvalue, which indicates not to override any solver\nsettings. Overrides are advanced settings that should be\nused only after careful analysis of the results obtained before and\nafter applying the settings. A list of supported override settings\nfor each solver and their acceptable values can be obtained by\ncontacting Esri Technical Support.", "direction": "esriGPParameterDirectionInput", "defaultValue": "", "parameterType": "esriGPParameterTypeOptional", "category": "Advanced Analysis" }, { "name": "Save_Route_Data", "dataType": "GPBoolean", "displayName": "Save Route Data", "description": "Choose whether the output includes a zip file\nthat contains a file geodatabase holding the inputs and outputs of\nthe analysis in a format that can be used to share route layers\nwith ArcGIS Online or Portal for ArcGIS. In ArcGIS Desktop, the default output location\nfor this output file is in the scratch folder. You can determine\nthe location of the scratch folder by evaluating the value of\nthe arcpy.env.scratchFolder geoprocessing environment.Checked (True): The tool writes out a .zip archive containing a file geodatabase workspace that contains the inputs and outputs of the analysis.Unchecked (False): Route data is not saved. This is the default.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Output" }, { "name": "Output_Network_Analysis_Layer", "dataType": "GPDataFile", "displayName": "Output Network Analysis Layer", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": null, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "Output_Route_Data", "dataType": "GPDataFile", "displayName": "Output Route Data", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": null, "parameterType": "esriGPParameterTypeDerived", "category": "" } ] }