Skip to content

car.lua: winter_road/ice_road highway types and surface=ice/snow not reflected in routing cost #7464

@aki1770-del

Description

@aki1770-del

Problem

car.lua has no entries for highway=winter_road, highway=ice_road, surface=ice, or surface=snow. OSRM routes over these ways at full speed as if they were normal paved roads.

OSM documents winter_road and ice_road as distinct highway values used in northern regions (Russia, Canada, Scandinavia) for seasonally passable routes — roads that exist only in winter when the ground or water is frozen. surface=ice and surface=snow appear on ice crossings and winter tracks.

Routing over these at full highway speed produces dangerously optimistic routes for drivers in winter conditions.

Current behavior

-- surface_speeds in car.lua — no ice or snow entry
-- speeds.highway in car.lua — no winter_road or ice_road entry

WayHandlers.surface() and WayHandlers.speed() already read these tables — the gap is purely missing entries, not missing logic.

Proposed fix

Add to surface_speeds in car.lua:

ice   = 20,
snow  = 30,

Add to speeds.highway in car.lua:

winter_road = 20,
ice_road    = 15,

Four Lua table entries. No logic changes. Speed values are conservative estimates consistent with safe winter driving — open to adjustment based on maintainer judgment.

References

AI-assisted — authored with Claude, reviewed by Komada.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions