Как работает транспорт для сайта в Лондоне - PullRequest
0 голосов
/ 25 мая 2010

Здесь позвольте мне уточнить, у меня нет намерений заглядывать или какие-либо злые намерения в отношении базы данных TFLS и другой соответствующей информации.

Но, конечно, миллионы пользователей получают огромную выгоду от предоставления информации. http://journeyplanner.tfl.gov.uk/

Итак, если мы хотим создать какой-то сайт, такой как tfl, tripplanner, о каких основных вещах нам нужно помнить.

  • Какую архитектуру мы должны использовать?

  • Можем ли мы создать этот сайт с помощью ASP.NET (должно быть в состоянии)?

  • TFL интегрирует свой веб-сайт с картами Google или любым другим GPS

Edit:

Когда вы вводите почтовый индекс или название станции, он автоматически создает карту из источника в пункт назначения и рассчитывает расстояние.

Мой вопрос здесь такой: как они рассчитывают расстояние, хранят ли они справку из Карт или GPS, или они создали там собственную веб-службу?

1 Ответ

1 голос
/ 02 июня 2010

Чтобы ответить на баллы, по порядку:

Какую архитектуру мы должны использовать?

Тот, кого вы знаете и понимаете, существует более одного подхода, с которым можно сделать аналогичное.

Можем ли мы создать этот сайт с помощью ASP.NET (должно быть в состоянии)?

Вы могли бы . Точно так же вы можете сделать это как Java-сервлет или PHP-приложение. Если вы чувствуете себя особенно изуродованным, вы, возможно, можете заставить что-то работать в чистом Javascript (но ваши клиенты могут ненавидеть вас)

TFL интегрирует свой веб-сайт с картами Google или любым другим GPS

Они с большей вероятностью используют данные Ordnance Survey, с которых они визуализировали свои собственные карты (конечно, если вы выполнили панорамирование, охват закончится довольно быстро).

С точки зрения маршрутизации, они , вероятно, , используют что-то вроде алгоритма Дейкстры, хотя, вероятно, он очень оптимизирован для работы с расписанием.

Существует множество алгоритмов маршрутизации, которые сводятся к «относительной стоимости» (где эта стоимость может быть расстоянием, временем, финансами или их комбинацией). Не принимая во внимание расписание, вы можете предварительно рассчитать стоимость между подключенными узлами (например, Liverpool St -> Bank через Central Line составляет ~ 5 минут), это даст базовую линию для чего-то вроде Dijkstra, хотя вам все равно придется учитывать стоимость взаимодействия между видами транспорта и ожидания прибытия соединений и т. д.).

Возможно, вы захотите изучить алгоритмы маршрутизации в целом (даже в вики OpenStreetMap есть информация), прежде чем изучать сложности, связанные с запланированными службами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...