Syntax
int PCMSSetRoadSpeed(Trip trip, long speed, const char *state, long type, bool urban)
Parameters
Trip trip – Handle to a trip.
long speed – A speed value above 0 for the selected road type.
const char *state – The state/province/country abbreviation of the desired jurisdiction. Examples in North America are “NY” for New York or “QC” for Quebec. If PC*MILER Worldwide or DTOD data is installed, country abbreviations for areas outside of North America can be used.
long type – A new set of defined constants that begin with ROADTYPE. Below are the valid road types, identical to the road types in the PC*MILER user interface:
#define | ROADTYPE_INTERSTATE | 1 |
#define | ROADTYPE_MAJORHIGHWAY | 2 |
#define | ROADTYPE_PRIMARY | 3 |
#define | ROADTYPE_FERRY | 4 |
#define | ROADTYPE_SECONDARY | 5 |
#define | ROADTYPE_RAMP | 6 |
#define | ROADTYPE_LOCAL | 7 |
bool urban – Indicates if the roads are urban or not.
Description
Sets the road speed for the given jurisdiction and road type.
Return Values
Returns non-negative on success.
Returns a -1 and an INVALID ARGUMENT error code if any supplied parameters are out of range, or if an invalid state is passed in.
Sample Code
int _CALLCONV PCMSGetRoadSpeed(Trip trip, const char *state, long type, bool urban) { LOG_PROLOG4(PCMSSetRoadSpeed, trip, state, type, urban); if (type < ROADTYPE_INTERSTATE || type > ROADTYPE_LOCAL) { SetError(PCMS_INVALIDINPUT); LOG_RETURN1(-1); } GET_RT_ENGINE(); GET_ROUTE(trip); GET_OPTIONS(); int roadSpeed = pRt->GetRoadSpeed(state, type, urban); if (roadSpeed < 0) { SetError(PCMS_INVALIDINPUT); LOG_RETURN1(-1); } LOG_RETURN1(roadSpeed); }
Support Since: PC*MILER Connect 29
Category: Trip Management