pub struct LaneSpec {
    pub lt: LaneType,
    pub dir: Direction,
    pub width: Distance,
    pub turn_restrictions: Vec<String, Global>,
}

Fields

lt: LaneTypedir: Directionwidth: Distanceturn_restrictions: Vec<String, Global>

Turn indications specific to this lane, from https://wiki.openstreetmap.org/wiki/Key:turn. Turns for specific vehicle types (turn:bus:lanes and such) are not yet captured.

Implementations

Returns the index where the new lane was inserted

Convert the driving lanes of a road between one-way forwards, one-way backwards, and bidirectional. It should be idempotent to apply this 3 times in a row. Even when an existing one-way street is narrow, it can be made bidirectional by splitting into two very narrow lanes.

Transforms a string describing lane types and directions, like “spddps” and “vv^^^^^”, into a list of LaneSpecs. Useful for unit tests.

This is meant for table-driven unit tests. Call this on the transformed / output lanes. If the lanes don’t match, ok will be set to false and appropriate errors will be printed.

For a given lane type, returns some likely widths. This may depend on the OSM highway type of the road. The first value returned will be used as a default.

Pick a reasonable default for a lane width, without any context on locale or tags.

None if bidirectional. If it’s one-way, which direction is that relative to the road? (Usually forwards)

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.