queryType: getSpeedAnalysisPerSegment*
The getSpeedAnalysisPerSegment queryType is passed to the API to get speed related metrics on a per road segment basis.
See Special Case APIs for more information.
This API is subject to tighter rate limit restrictions.
You must pass a value for roadTypes to this API in order to retrieve data.
Parameters
| Parameter | Description | Type | Defined Value Set | Value Req'd |
|---|---|---|---|---|
| queryType | Must equal getSpeedAnalysisPerSegment. | STRING | getSpeedAnalysisPerSegment | Y |
| aggregationPeriod |
An object defining the aggregation requirements for the analysis. Each object contains:
For example, if you want the breakdown of road segments by hour that matches your criteria, you would enter 1 for | OBJECT | Unit - “minute”, “hour”, “week” or “*” | Y |
| dateRange |
An object defining the analysis date range. Each object contains:
| OBJECT | - | Y |
| daysOfWeek | Array of integers representing each week day. Can send an empty array to return all days. | ARRAY | [1,7] (1 = Sunday, 2 = Monday, etc.) | N |
| excludeServiceRoads | True to exclude service roads, false to include them. Defaults to true. | BOOLEAN | - | N |
| isDirectional | False means we ignore the direction of the road segment(s) and send back the average of all directions. True means you get one set of data for each direction of the road segment. | BOOLEAN | true or false | Y |
| isMetric | True for data to be returned in metric units, false for imperial. | BOOLEAN | true or false | Y |
| percentiles | Array of integers representing what percentiles you want the metrics broken up into. Default if not provided is [15,50,85]. | ARRAY | - | N |
| roadTypes | Array of strings representing the different road types for which you want data. Must pass at least one type. | ARRAY | List of OSM road types. See the Road Types table. | Y |
| timeRange |
An object representing the analysis time range. Each object contains:
The default is “00:00:00” to “23:59:59.999”. | OBJECT | - | Y |
| vehicleClassSchemeId | Determines which vehicle classification scheme you will receive data for. See the Vehicle class schemas for a list of options. The default value is 2. | INTEGER | [1,4] | N |
| vehicleClasses |
An array of vehicle class objects where each object contains | ARRAY |
See the Vehicle types and Weight class tables. For Vehicle Type: "Truck", "Passenger", "MPV", "Bus", "Other". More information at AFDC Vehicle Categories. To get all vehicle types, pass an empty array. | N |
| zones |
An array of objects representing the zones for which you want information. Each object contains
| ARRAY |
| Y |
Responses
| Code | Type | Description |
|---|---|---|
| 200 | JSON | The requested data. |
| 401 | JSON | Occurs for various unauthorized tasks, such as not providing credentials in your parameters. |
| 500 | JSON | Occurs if an internal server error occurs. Contact altitudesupport@geotab.com if this occurs. |
Response Schema
| Attribute | Description | Data Type | Defined Value Set |
|---|---|---|---|
| AggregationPeriodFrom | The time at the start of the aggregation period. For a summary analysis, the value will be “Summary”. | STRING | - |
| CardinalDirection | The direction of the road segment in terms of “N”, “NE”, “E”, etc | STRING | [“N”, “NE”, “E”, SE”, “S”, “SW”, “W”, “NW”] |
| Direction | Indicates the direction of traffic flow in relation to the definition of the segment geography. For directional analysis: 1 indicates the traffic flow is in the direction of the segment; -1 indicates the traffic flow is in the opposite direction of the segment definition. For non-directional analysis: value is always 0. | INTEGER | [0,1,-1] |
| DominantPace |
An object representing the 10 mph or 10km/h range with the highest share of traffic. The object contains:
| OBJECT | - |
| FreeFlowSpeed | The free flow speed for the given set of filters across the road segment (mph or km/h). | FLOAT | - |
| ObservedCount | The aggregate number of observed vehicle passes for the road segment, given the applied filters. | INTEGER | - |
| ObservedCountByIndustry |
Array of objects representing the observed count of traversals and vehicles of each industry. Each object contains:
| ARRAY | - |
| ObservedCountByVehicleClass |
Array of objects representing the observed count of traversals and vehicles of each vehicle class. Each object contains:
| ARRAY | - |
| ObservedCountByVocation |
Array of objects representing the observed count of traversals and vehicles of each vocation. Each object contains:
| ARRAY | - |
| RoadType | OSM road type. | STRING | See OSM Road Mapping. |
| SampleSizePctByPace |
Array of objects representing the size percentage for each pace band. Each object contains:
| ARRAY | - |
| SegmentId | The ID of the road segment. | STRING | - |
| SegmentLength | The length of the segment in metric units (kilometers) or imperial units (miles) based on the value of isMetric. | FLOAT | - |
| SpeedLimit | The speed limit of the road segment (mph or km/h). | INTEGER | - |
| SpotSpeedAvg | The average Spot Speed (mph or km/h). | FLOAT | - |
| SpotSpeedHarmonic | Harmonic mean of the maximum individual speed observed as a vehicle drives through the selected roads. Measured in km/h or mph (Spot Speed). | FLOAT | - |
| SpotSpeedPctOfFreeFlow | Spot Speed as a percentage of Free-flow speed. | FLOAT | - |
| SpotSpeedPctOfSpeedLimit | The average Spot Speed as a percentage of the weighted average speed limit. | FLOAT | - |
| SpotSpeedPctOverSpeedLimit | The percentage of vehicle passes where the Spot Speed was over the speed limit. | FLOAT | - |
| SpotSpeedPercentiles |
Array of objects representing percentile spot speed values for input percentiles. Each object contains:
Note:
If no percentiles are input, the 15th, 50th and 85th percentiles are provided by default. | ARRAY | - |
| SpotSpeedStdev | Standard deviation of Spot Speed. | FLOAT | - |
| TravelSpeedAvg | The average Travel Speed (mph or km/h). | FLOAT | - |
| TravelSpeedHarmonic | Harmonic mean of the average speed (km/h or mph) calculated by dividing the total length of the selected roads by the travel time across those roads (Travel Speed). | FLOAT | - |
| TravelSpeedPctOfFreeFlow | Travel Time speed as a percentage of Free-flow speed. | FLOAT | - |
| TravelSpeedPctOfSpeedLimit | The average Travel Time speed as a percentage of the weighted average speed limit. | FLOAT | - |
| TravelSpeedPctOverSpeedLimit | The percentage of vehicle passes where the Travel Time speed was over the speed limit. | FLOAT | - |
| TravelSpeedPercentiles |
Array of objects representing percentile travel speed values for input percentiles. Each object contains:
Note:
If no percentiles are input, the 15th, 50th and 85th percentiles are provided by default. | ARRAY | - |
| TravelSpeedStdev | Standard deviation of Travel Speed. | FLOAT | - |
| TravelTimeAvg | Average Travel Time (seconds). | FLOAT | - |
| TravelTimeDelayFromFreeFlow | 50th percentile Travel Time minus Free-flow Travel Time (seconds). | FLOAT | - |
| TravelTimeFreeFlow | Free-flow Travel Time (seconds). | FLOAT | - |
| TravelTimeHarmonic | Harmonic mean of the time taken to travel along the selected roads (Travel Time in seconds). | FLOAT | - |
| TravelTimePercentiles |
Array of objects representing percentile travel time values for input percentiles. Each object contains:
Note:
If no percentiles are input, the 15th, 50th and 85th percentiles are provided by default. | ARRAY | - |
| TravelTimeReliability | Ratio of the 85th percentile Travel Time to the median (50th percentile) Travel Time. | FLOAT | - |
| VehicleCount | The aggregate number of vehicles observed for the road segment, given the applied filters. | INTEGER | - |
Sample parameters
{
"aggregationPeriod":{"Value": 1, "Unit":"*"},
"dateRange":{"DateFrom":"2023-10-01", "DateTo":"2023-10-07"},
"excludeServiceRoads":true,
"isDirectional":true,
"isMetric":false,
"queryType":"getSpeedAnalysisPerSegment",
"roadTypes":['motorway'],
"timeRange":{"TimeFrom":"00:00:00", "TimeTo":"23:59:59.999"},
"vehicleClassSchemeId": 2,
"vehicleClasses":[],
"zones":[{
"ZoneId":"32003",
"ISO_3166_2":"US-NV",
"ZoneType":"County"
}]
}