To jest Bardzo Dobre Pytanie.
Ja zasadniczo kombinowałem w taką stronę, żeby podawać adres, do którego Yanosik i tak by poprowadził przez ten wjazd, a nie adres samego wjazdu. Ale zaiste może zdarzyć się, że takiego adresu nie mamy i co nam Pan zrobi?
To może wróćmy do koncepcji z relacją?
Proponuję stworzyć relację typu preferredEntry, zawierającą obiekty o rolach:
address (jeden lub więcej obiektów w relacji) - punkt adresowy do którego podajemy dojazd/dojście
vehicle (0 lub jeden obiektów) - punkt, przez który trzeba przejechać (wjazd, szlaban, brama…).
I Yanosika obchodzą tylko te dwie role, ale analogicznie do vehicle można do relacji wrzucić obiekty o rolach foot, hgv lub emergency.
Yanosik musiałby być rozbudowany w ten sposób, że jak znajdzie adres, to sprawdza czy należy on do dokładnie jednej relacji typu preferredEntry zawierającej dokładnie jeden obiekt z rolą vehicle. Jeśli tak, to ustawia drogę na lub przez współrzędne tego punktu.
EDIT: Zasadniczo wystarczy, jeśli po przeszukaniu wszystkich relacji typu preferredEntry do których należy znaleziony adres, znajdziemy dokładnie jeden obiekt o roli vehicle.