Может есть где-то уже готовый скрипт? или не готовый.
Я делаю так:
1. вытаскиваю все остановки
2. высчитываю расстояние от начальной точки до каждой из них
3. сортирую по расстоянию.
тоже самое и для конечной точки.
4. в цикле:
беру первую точку, близкую к начальным координатам, получаю номера всех автобусов, которые через нее проходят.
дальше проверяю каждый маршрут. проходит ли он через 5 ближайших точек к конечным координатам.
вроде как-то криво это работает даже.
но как строить маршрут с пересадками? я думаю у ближайшей остановки получать номера автобусов. у каждого номера автобуса проверять все его остановки и искать ближайшую к конечным координатам. там так же получать номера автобусов....
но получается слишком ресурсоемко же: после каждого изменения начальной/конечной точки чуть ли не 100 запросов в базу.
|