For example, if it says “bear left” versus “turn left”, what process is it using to make that nuanced judgment?

I see two possible ways:

a) It analyzes the map visually and has an algorithm to decide, based on the angle/curve/etc, which way to describe the turn.

b) Every place where two roads meet has metadata keyed in, indicating what type of turn it is in each direction.

I think option (a) is too expensive to be done in real-time by the end-user’s GPS, so most likely if option (a) is used, it’s done periodically on the server side to generate metadata as in option (b). And then perhaps this metadata is hand-checked by a person, and things the analysis gets wrong are overridden by a person, but all of this is just speculation on my part.

This question came up when some turn-by-turn directions incorrectly said to “bear left” at a standard, right angle intersection. I wondered if someone keyed something in wrong or if there is some little blip in the way the map was drawn at the intersection that we wouldn’t visually detect, but threw off the turn-by-turn.

I expected to easily find an article spelling it out, but I haven’t been able to and it’s driving me crazy not knowing for certain!

  • @[email protected]
    link
    fedilink
    3
    edit-2
    11 months ago

    I think it’s analyzing the angles between the curves dynamically, with manual overrides in some places where they have been added. I don’t think this would be very computationally expensive to do on the client side, but it could be cached as metadata.