2ГИС помогает ориентироваться в городе. Открываешь приложение, вводишь в поиск название улицы или организации, находишь, радуешься. После того, как нужная организация найдена, возникает резонный вопрос: как же туда добраться? И если автомобильным сценариям мы в последнее время уделяли значительное внимание, то поиск проезда на общественном транспорте оказался немного подзабыт. Я расскажу про то, как создавался поиск проезда, поделюсь тонкостями сбора и обработки информации.
Откуда взялась задача
Мы любим общаться с пользователями. В конце 2016 года мы провели опрос, дабы выяснить, как пользуются общественным транспортом наши пользователи. Результат получился любопытным — делимся.
«Как часто вы пользуетесь общественным транспортом?»
В целом, во всех городах присутствия 2ГИС более половины респондентов пользуются общественным транспортом каждый день. Чем крупнее город, тем больше людей использует общественный транспорт ежедневно. В будние дни он максимально популярен у жителей Москвы и Санкт-Петербурга, а в остальных городах люди активно пользуются общественным транспортом и в выходные.
С частотой использования разобрались, время посмотреть, какие виды общественного транспорта — фавориты горожан.
«Какие виды транспорта вы предпочитаете?»
Относительно топовых позиций результат вполне ожидаем. В крупных городах предпочтительный вид транспорта — метро. Второе место у автобусов. Более трети москвичей пользуются электричкой. В Новосибирске ездят на маршрутках, а в Петербурге, помимо всего прочего, любят трамваи.
Интересным открытием стало, что половина опрошенных могут дойти до точки назначения пешком.
Следующим этапом стало выяснение слабых сторон 2ГИС. Мы пришли к пользователям с вопросом — чего нам не хватает?
«Чего не хватает в 2ГИС?»
Задачу с выбором конкретных видов транспорта мы решили с помощью недавно выпущенных фильтров, где пользователь может указать, каким видом транспорта он хочет воспользоваться. А вот вопрос «Когда приедет автобус?» остался актуальным для 64% опрошенных пользователей.
Именно в этот момент мы задумались о добавлении расписания движения общественного транспорта в 2ГИС и о том, как же все наши желания реализовать.
Где взять данные?
Это первый вопрос, с которым мы столкнулись. Ведь в большинстве случаев для нашего продукта мы собираем данные самостоятельно. Когда в городе построен новый микрорайон, специалист по сбору информации едет на заявленное место и выверяет всю необходимые детали «в полях». С новой фичей привычный подход не сработал бы. Отправить специалистов на остановки — бесполезная трата времени и сил, так как расписание постоянно меняется. Появляются новые перевозчики, маршруты оптимизируются, зима сменяется весной. За время сбора плановые расписания и интервалы движения просто-напросто устарели бы.
Да. К сожалению, данные устаревают, и это была вторая проблема, вставшая перед нами. Логичным и вполне очевидным решением было обратиться к тем, кто это расписание составляет и контролирует — в подведомственные учреждения. Зачастую конструктивный диалог начинался только через тернистый бюрократизированный путь и советов, вроде: «Пишите в Минтранс/Дептранс, а потом поговорим».
Нашли ответственного, начали диалог — полбеды.
Далее начинался марафон с:
- Объяснениями, что мы хотим и зачем нам это.
- Убеждениями, что наша задумка полезна для жителей и гостей города.
- Доказательством, что 2ГИС не монетизирует построение маршрутов с учётом периодичности движения.
- Заверениями, что это безопасно.
Победа? А вот и нет.
Самое курьёзное — техническая сторона вопроса, а в частности — формат передачи данных. Да, в каких-то городах есть автоматизированные системы по ведению расписания и API для доступа к этим данным (gtfs или передача в json в собственном формате), но это ждало нас далеко не везде. Где-то просто предлагали парсить сайт, опять-таки из соображений безопасности не предоставляя доступа к базам. Где-то были готовы выслать файлы (.xls, .doc, .pdf), но только один раз, без возможности своевременно обновлять информацию в нашем справочнике.
Первое место по оригинальности мы присвоили фотографии листочка бумаги с расписанием движения общественного транспорта.
А ведь изначально задачка казалась тривиальной — получить общедоступные данные от первоисточника!
Загрузка данных во внутреннюю систему
Получив доступ и загрузив к себе данные, мы встали ещё перед одной проблемой. Нельзя просто так взять и загрузить чужие данные во внутреннюю систему.
Почему?
Самое время рассказать, как внутри 2ГИС хранятся исходные данные.
Все внутренние продукты для сбора и хранения информации мы разрабатываем сами. Софт для картографов (которые отвечают не только за карту, но и за транспорт) называется Fiji — подробный рассказ здесь (если кратко, то в Fiji картографы рисуют транспортный граф, вносят данные по общественному транспорту, хранят расписание. В систему уже внесены все собранные маршруты).
Первый анализ показал, что маршруты внутри нашей системы и у поставщиков различаются, причём местами — кардинально. Нужно было как-то сопоставить свои собственные маршруты и маршруты поставщика. Можно, конечно, сделать это вручную, но мы решили написать свой собственный матчер.
В качестве промежуточного формата для хранения выбрали GTFS, как уже общепринятый стандарт, плюс некоторые поставщики умеют выдавать расписание в этом формате. Для промежуточной БД, на которой работает матчер, выбрали PostgreSQL, а сам матчер написали для простоты на Python.
Матчить просто по типу и имени маршрута не получилось, так как маршруты очень сильно расходятся по именам у нас и у поставщиков. Матчить по названиям остановок не получилось по той же причине. В итоге матчер работает по достаточно сложной схеме, учитывая геометрию маршрута, тип транспорта и потом уже названия остановок и номера маршрутов.
При этом ошибки в сопоставлении всё равно есть, так как у поставщиков бывает очень большое количество направлений: отдельно на каждый будний день, отдельно на каждый выходной. Также возникают ошибки в сопоставлении кольцевых маршрутов, если они по разному заведены у поставщика и в нашей внутренней системе (Fiji).
Поэтому конечное решение-таки за человеком — картограф может вручную отменить сопоставление расписания, если поймет, что алгоритм отработал неправильно.
Алгоритм
Ядро алгоритма поиска написано на C++. На самом деле, поиск проезда на общественном транспорте это не один алгоритм, а несколько. Поиск прохода до ближайших остановок считается нашим алгоритмом пешеходной маршрутизации, который, в свою очередь, состоит из двух алгоритмов — «пиксельного» (с помощью которого мы строим проход по территории без графа дорог) и обычного (уже по пешеходному графу до остановки).
В качестве же поискового алгоритма проезда между остановками у нас используется сильно модифицированный A*, в который мы добавили поддержку учёта расписания. И если раньше время ожидания транспорта на остановке было неким «среднестатистическим» временем для каждого проекта и каждого типа транспорта, то теперь учитывается или точное или интервальное расписание.
При этом в алгоритме пришлось учитывать много забавных нюансов в данных. Например, маршрут может иметь время отправления с остановки в 25 или даже в 47 часов. С точки зрения данных это значит, что это тот же рейс, что ходил в предыдущих сутках, и он просто ещё не завершил свою работу. Также нужно учитывать, что рейс может начать ходить «завтра» и, если пользователь ищет маршрут в конце текущих суток, то нужно заглядывать и в следующий день (актуально, если вы храните расписание по дням).
Отдельно решали проблему того, как комбинировать данные с расписанием и без расписания. В итоге решили, что маршруты без расписания по-прежнему участвуют в поиске, просто имеют меньший вес. При этом, если маршрут без расписания совпадает по остановочным платформам с маршрутом с расписанием, то мы его просто подклеим в выдачу, а если он идёт как-то по-другому, то это будет отдельный вариант проезда с меньшим весом, так как мы ничего не знаем про время ожидания на остановке.
Поскольку 2ГИС работает как онлайн, так и офлайн, то алгоритм работает и внутри приложения, и на сервере. Несмотря на то, что данные расписания более-менее статичны, серверный поиск у нас также используется, поскольку на медленных устройствах в случае наличия интернета запрос к серверу отработает намного быстрее, чем локальный поиск. Для серверного поиска у нас задействовано 8 поисковых бекендов, расположенных в трёх дата-центрах в Новосибирске, Москве и Дронтене (Голландия).
Релиз
Итоговый результат добавления расписания общественного транспорта в 2ГИС вы можете оценить в нашем мобильном приложении в Google Play и App Store. В веб-версии появится чуть позднее.
Зарелизившись, мы получили довольно много фидбэка. Проанализировав негативный, выделили две основные причины жалоб:
- Мы не рассказали пользователям должным образом, что в поиске проезда сейчас используется расписание и сломали привычные сценарии работы с приложением.
При поиске маршрута вечером или ночью у пользователей пропали привычные маршруты в выдаче. Контрол выбора даты/времени поездки при построении маршрута выпал из сферы видимости.
Большая часть обращений в техподдержку выглядела примерно так:
— Здраствуйте, у вас поиск проезда в общественном транспорте стал неадекватным, потому что …. /описание конкретной проблемы/.
— Вы знаете, мы выпустили расписание в поиске проезда на общественном транспорте, вот тут контрол, вы можете задать время, на которое планируется поездка.
— Понятно, большое спасибо! - Алгоритм старался не предлагать маршруты без расписания (или опускать их в выдаче) при наличии альтернативы с расписанием. Из-за этого в каких-то кейсах выдача стала менее релевантной.
Нашим технологам пришлось в экстренном порядке уточнять и вручную вносить интервальное расписание по всем оставшимся видам транспорта, чтобы вернуть их в выдачу, а нам — проводить дополнительную настройку алгоритмов поиска.
Капитанские выводы
Какие же выводы можно сделать по итогам запуска?
- Если планируете использовать чужие данные у себя в приложении — обязательно подумайте, как будете эти самые данные добывать. Не факт, что ваши ожидания и реальность совпадут. Учитывайте риски.
- Если сильно меняете текущую логику работы приложения — обязательно расскажите пользователям об этом и научите их пользоваться новыми фичами: «Что нового» в сторах читают единицы.
- Подготовьте техподдержку к всплеску обращений независимо от того, насколько хорошо вы рассказали про новую фичу и как ей пользоваться.
P.S. Про полноту данных
Поскольку договориться удалось не со всеми Дептрансами/Минтрансами — расписание пока есть только в Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге, Красноярске, Омске, Челябинске, Краснодаре и Ростове-на-Дону. Повышать покрытие транспорта расписанием в этих городах, ровно как и добавлять новые города, мы будем по мере получения данных.
Комментарии (71)
nerudo
05.12.2017 10:43> Задачу с выбором конкретных видов транспорта мы решили с помощью недавно выпущенных фильтров, где пользователь может указать, каким видом транспорта он хочет воспользоваться.
Где??? Или все речь про мобильное приложение?
PS Оказывается версия для windows уже два года не обновляется…
Seekeer
05.12.2017 11:07Доказательством, что 2ГИС не монетизирует построение маршрутов с учётом периодичности движения.
То есть в 2ГИС вообще нет монетизации?prostofilya
06.12.2017 07:59На рекламе сидят, у них огромные отделы продаж, они постоянно обзванивают клиентов, впаривают им рекламу, встречаются с ними. Если в веб версии всё выглядит более-менее эстетично (хотя, в последнее время и там начинает резать глаза), то в десктоп-версии рекламы было много всегда. Не знаю, остался ли сейчас этот кейс, но я долго смеялся первое время с баннера, который показывался при закрытии клиента. То есть, вы закрываете программу, программа уже закрыта, но вам в это время показывают баннер с рекламой…
AlexChekel
05.12.2017 11:31Отличная статья, спасибо! Столкнулся тут недавно с проблемой: нужно было добраться из незнакомой мне части города до дома в воскресенье в 7 утра. Открыл 2гис, построил маршрут и пошел до остановки. Простоял, наверное, минут 20, потом посмотрел на табличку, которая, как правило, всегда висит у остановки, а там надпись «Только по будням».
kab Автор
05.12.2017 11:31Напишите нам пожалуйста сообщение из приложения — мы обязательно проверим и поправим данные.
leshakk
05.12.2017 13:29Очень рад, что Вы начали развивать это направление.
Надеюсь, что Вы сделаете отображение текущего местоположения общественного транспорта на карте, как в яндекс.транспорте. Очень хотелось бы отказаться от него, уж очень он тормозной (на моём телефоне, по крайней мере).
И ещё один вариант использования, которого очень не хватает у яндекса: хотелось бы получать на одном экране информацию о прибытии нескольких выбранных маршрутов на несколько выбранных (расположенных недалеко друг от друга) остановок. Дело вот в в чём: от моей работы можно уехать на нескольких разных автобусах/трамваях, которые приходят на разные остановки. Хотелось бы взглянув на один экран, сразу решить, на какую именно остановку стоит идти. Полагаю, что эта фича была бы полезна многим пользователям.
И да, желаю Вам успехов в дальнейшем развитии Вашей очень нужной и полезной программы.
iklin
05.12.2017 13:44Есть же приложения типа CityBus, которые откуда-то берут инфу о движении транспорта. В крупных городах сейчас каждый автобус оснащён приборчиком для отслеживания ГЛОНАССом.
fedorro
05.12.2017 13:55Не доверяю я 2ГИСу в плане транспорта — каждый раз как пользуюсь случается какой-то казус: остановка не та, остановка на другой стороне, а маршрут вообще проложен против движения на односторонней дороге, при построении маршрута для одного и того-же автобуса строятся разные маршруты, никак не совпадающие (думал показалось, или с троллейбусом перепутал, но нет — проверил сейчас), и т.д. Из приложения писать не получается — т.к. в такой ситуации не до того, а потом забываются детали.
A1exXx
05.12.2017 15:34а не пробовали собирать статистику с телефонов? ну например, человек зашел в 2gis, поискал, что ему нужен 5 автобус, и стоит на остановке 5 автобуса ждет. по расписанию, автобус уже должен быть, а по факту скорость человека начала меняться через 3 минуты после указанного в расписании, может на основании таких данных как то корректировать расписание? Просто, расписаний можно найти навалом. в т.ч. у «первоисточника» (гортранса), а вот кто сделает «расписание» приближенное к реальности, тот и победит.
kab Автор
05.12.2017 15:37Нет, анализом данных пользователя не занимались, да и пользователь чаще всего выключает телефон на остановке и не едет с включенным.
В будущем попробуем интегрировать реальное местоположение транспорта, это поможет сделать расписание «приближенное к реальности».
strangeraven
05.12.2017 15:39А откуда берут данные яндекс-транспорт и citymapper?
Из тех же источников что и вы или каких-то других?
Я понимаю, что вопрос не совсем к вам, но наверняка вы в своих поисках пытались провентилировать этот вопрос.kab Автор
05.12.2017 15:41Расписание и реальное местоположение есть только у тех, кто владеет/управляет этим транспортом. Поэтому да, источники скорее всего одни.
Еще есть агрегаторы, которые предлагают тоже самое, но в удобном АПИ и за деньги.
Valpi
07.12.2017 08:36В СПб Citymapper берет данные у организатора перевозок, метро, пассажиравтотранс и горэлектротранс., Я.Транспорт использует данные организатора перевозок.
aquamakc
05.12.2017 16:02Кстати.
Раз уж вы попались. Вопрос не совсем про транспорт. Когда будут русифицированные иностранные города? Хотя бы основные туристические направления. Был очень неприятно удивлён несколько лет назад Праге только на чешском языке (сейчас вроде есть английская версия, но тоже не то).
Вроде очевидное решение, но не реализовано.kab Автор
05.12.2017 16:11Я не смогу назвать точные сроки (да и не совсем в моей компетенции вопрос), но не очень скоро. По причине того, что компания ориентируется на создание сервиса именно для местных жителей, а значит он должен быть прежде всего на нативном языке. Мультиязычность есть в планах, но приоритет у нее не самый высокий.
aquamakc
05.12.2017 16:19Я понимаю, что вопрос не в вашей области, но мало-ли, вдруг что-то известно.
А вообще, если философствовать — теряется довольно значительная часть пользователей — туристов. Сервис есть, сервис привычный, карта есть, а пользоваться им не могу. Хотя, казалось бы просто переведи уже имеющийся текст и предоставь на русском языке…
Отвечать не обязательно. Просто мысли в слух.kab Автор
05.12.2017 16:59Мультиязычность есть в планах во всех проектах, но это затрагивает очень небольшой процент пользователей, а усилия достаточно большие. «Перевести весь текст» == перевести весь справочник — организации, дома, улицы и т.п., добавить синонимы, различные ключевые слова для поиска и т.д.
Когда она реально востребована (например, Дубаи у нас на английском и на арабском), то мы, конечно, делаем.
eugenebb
05.12.2017 23:27Мне наоборот показалось неудобно пользоваться русскоязычными названиями в другой стране.
Перед поездкой во Францию (по французски не копенгаген) купили хороший атлас на русском языке.
Практически невозможно использовать из-за несоответствия написания названий, пришлось покупать карту на французском.aquamakc
06.12.2017 09:19Это косяк локализаторов. В принципе ничто не мешает дублировать и на нативном и на русском языке, особенно, если карта в электронном виде, а не на бумаге.
Apokalepsis
05.12.2017 17:02А в Иркутске есть приложение, с движением автобусов в реальном времени. Удобно.
ReakTiVe-007
05.12.2017 17:04Для Минска есть классное приложение Avenue. Разраб как то забил на него, но tut.by его выкупил и стал обновлять расписание. Преимуществом считаю то что работает оффлайн и без гаппсов. версия 2.0.4. Выше почему то не видит gps. Не реклама, просто единственное приложение с нормальным отображением маршрутов по карте, временем до приезда транспорта, gps местоположением, и самое главное все это оффлайн.
sshikov
05.12.2017 20:46А ведь изначально задачка казалась тривиальной — получить общедоступные данные от первоисточника!
Вы оптимисты! :)
По личному опыту даже статического характера информация на картах зачастую далека от реальности. Проверить это сложно, но по впечатлениям число банкоматов, например, просто отличается от реальности в разы.
demonit
05.12.2017 22:00у них еще много чего отклеилось, или, точнее, не приклеилось… Например, нет Таганрога, что делает абсолютно бесполезной 2гис… для жителей и гостей онного
TheGodfather
05.12.2017 23:28Расписание общественного транспорта в России? Да вы оптимисты, я смотрю… Может, конечно, в других городах автобусы ходят с немецкой точностью, но в Нижнем Новгороде фактического расписания у автобусов не существовало от слова «совсем».
Karakhan
06.12.2017 14:50Возможно, не оптимисты, а просто москвичи. Тут всё более-менее по расписанию, за исключением, возможно, маршруток.
BigDflz
06.12.2017 14:51В Екатеринбурге есть что-то про отслеживание транспорта, но только это такое убожество, что просто ужОс… пытался пользоваться — это бессмысленно… Подхожу к остановке, по проге — трамвай ещё только с предыдущей остановки отошёл, — а реально с моей…
задержка отображения — перечеркивает весь смысл такого приложения. Позвонил разработчикам — почему так при современных технологиях? В ответ — у нас такие данные, чаще получать не получается и прочая туфта. Открыл их страницу в браузере, технология из прошлого века, ajax запросы бомбят сервер. про websocket и не слышали. И зачем тогда ставить трекеры на транспорт? В городе — ну пара/тройка сотен транспортных средств для общественного использования — это нулевая нагрузка для сервера для получения данных в реальном времени. А столько шуму по общественному транспорту в городе, столько распиленных бабок. Если видеть реальную обстановку с положением транспорта в пути — можно кучу времени сэкономить, просто выбрать вариант — или ждать или на перекладных ехать. Как можно о расписании говорить, когда реальных данных нет.kab Автор
06.12.2017 15:01Там проблема обычно не в сервере, а в датчиках. Ставят очень дешевые датчики на транспорт и сильно занижают частоту передачи координат, вплоть до 1 раза в 10-20 минут. При таких частотах любая модель экстраполяции будет ошибаться. Если исходные данные неплохие (хотя бы 1 раз в минуту или чаще), то и результат значительно лучше.
BigDflz
06.12.2017 16:02это называется — деньги распилили. Весь смысл теряется. Для дальнобойщков -ещё такое можно, а для городского транспорта…
Смысл занижать частоту опроса? В чем экономия? Трафик? Делал для себя трекер на смартфоне — с использованием websоcket — трафик практически нулевой, единицы байт.
sumanai
06.12.2017 16:20У меня андроид 4.1, и приложение, увы, уже давно не обновляется. Хотя и ладно, Самары там всё равно нет, маршрутки ходят как хотят, что я вижу своими глазами, так как живу на конечной.
DjOnline
06.12.2017 17:35Вы молодцы!
Основаная проблема, что вроде бы одна страна, одни и те же цели и задачи у транспорта, но каждый мать его регион изобретает велосипед заново, вместо того чтобы всей страной использовать единый формат обмена данными о расписании и движении транспорта в реальном времени.
В США например Гугл продвигает Google Transit и GTFS-realtime, и это прекрасно, что именно в нём вы в итоге и храните.
И очень не хватает realtime данных от маршруток, что у вас, что у Яндекса. В Волгоградской области они например состовляют основу транспортной системы.aquamakc
06.12.2017 17:47Маршрутки — это частники. Причём, судя по нашим — южным — ещё те жуки, экономящие на всём, чём можно. За свой счёт они точно не будут GPS трекеры ставить.
areht
08.12.2017 04:05В мск были плохо говорящие по-русски «частники» на раздолбанных газельках. За месяц заменились на новые синенькие микроавтобусы с трекерами и валидаторами.
Т.е. эти «частники» закупили не просто трекеры, а новые мерседесы, как только их прижали — денег там хватает.
areht
07.12.2017 01:16А можно понять, что маршрут с низким приоритетом из-за отсутствия расписания? Или такие вообще не показываются?
Ощущение, что некоторые маршрутки полностью выпали из маршрутов.kab Автор
07.12.2017 08:42А можете написать через приложение — какие именно маршрутки пропали в выдаче? Постараемся починить!
В целом, в приложении показываются весь транспорт, независимо от наличия расписания у него.areht
07.12.2017 15:39Я говорю про маршруты с 2 пересадками, например. Я знаю о наличии совсем другой цепочки, но не знаю почему вы её отбросили.
aquamakc
Расписание — это, конечно, хорошо. Вот только в моём городе (указанном в статье — Краснодаре) транспортная обстановка такова, что это расписание не соблюдается от слова СОВСЕМ. Зато есть открытые данные о текущих координатах единиц общественного транспорта на маршрутах. Есть даже софт, который на карте показывает текущее положение и направление движения.
Было бы неплохо эту информацию видеть и в 2Гис. Сейчас же для построения маршрута приходится пользоваться 3-мя приложениями:
1) 2Гис, чтобы уточнить адрес и какими маршрутами общественного транспорта туда в принципе можно попасть;
2) Я.Карты — пробки и аварии, чтобы знать какими маршрутами общественного транспорта туда тяжело попасть;
3) Приложение с маршрутами общественного транспорта где отображается сам транспорт, чтобы видеть есть ли на нужном мне маршруте сам транспорт физически и как скоро он приедет.
svr_91
Есть Яндекс Транспорт. Он по идее должен показывать маршруты транспорта
aquamakc
Пробовал — не показывает.
Stanislavvv
Маршруты — показывает. Но после того, как по его мнению, мимо меня проехал нужный мне трамвай, в то время, как по мнению сайта ЕТТУ он таки оставался на ближайшей конечной и ждать его ещё минут 10 — как-то я ему не доверяю и не вижу смысла пользоваться с такой точностью.
ainoneko
Так ЯТ только предполагает, что трамвай где-то едет на основании предыдущих наблюдений — поэтому там транспорт так красиво катается.
Я (в другом городе) пользуюсь сайтом гортранспорта, который показывает, где был транспорт минуту-две назад и его скорость в тот момент — предполагать, где он сейчас, остаётся мне.
Stanislavvv
Аналогично, но проблема-то в том, что совершенно стороннее приложение показывает примерно правильно, несмотря на то, что использует тот же источник.
Вообще я не знаю, КАК можно спрогнозировать, что трамвай проезжает мимо меня, если не было информации о том, что он вообще выехал с конечной.
TheGodfather
Как-как, если до этого каждый день трамвай выезжал с конечной в примерно одно и то же время в течение месяца, то «прогноз» доступен даже первоклашке — наверное, трамвай сегодня тоже приедет примерно в то же время.
Stanislavvv
Проблема в том, что несколько лет как трамвай таки выезжает и доезжает до меня примерно в одно и то же время и это время — не совпадает с мнением Яндекс.Транспорта.
saege5b
Переставили таблички с маршрутами на трамваях. В системе ничего менять не стали.
У нас так половина ОТ ездит. И менять ничего не будут, потому что «один физический автобус может обслуживать различные маршруты в зависимости от дорожной обстановки».
babylon
Сделайте пожалуйста, так чтобы когда автобусик подъезжал. Раздавалось вибро или звуковое оповещение.
alltiptop
Именно — количество рейсов и «расписание» где бы то нибыло (на сайте или остановке) — просто белый шум, совершенно не связанный с действительностью.
Для построения маршрута достаточно путь (реальный юзкейс):
1. 2гис чтобы уточнить/убедиться куда ехать
2. Карты (гугл/яндекс) — построить маршрут
3. На 15 минуте на остановке вспомнить про приложение с положением транспорта, понять что всё плохо
4. Открыть убер/гетт/яндекс
Хотя чаще всё начинается и заканчивается одним гуглом — (по личному опыту он гораздо точнее яндекса и как навигатор и по пробкам, но не тема для холиваров — у кого то опыт противоположный) и оттуда же вызывается такси
aquamakc
) я гуглу не доверяю, особенно после того, как он нас в Питере 2 раза подряд завёл на платную магистраль, свёл, сделал круг и завёл обратно ровно в том-же месте, где свёл, при этом найти, где отключаются из маршрута платные дороги мы не смогли.
Yulaw
Для этого нужно проложить маршрут до нужной точки, нажать на 3 точки срава от выбора маршрута (начало/конец), далее route options -> avoid tolls
aquamakc
) Спасибо, но уже не актуально.
kab Автор
Использование текущего местоположения и расчет времени прибытия (ETA) — это те задачи, которые стоят в ближайших планах.
koot
Просьба добавить текущее местоположение троллейбусов трамваев и автобусов отсюда http://m.marsruty.ru/krasnodar/#krasnodar/map
AotD
Нельзя просто так взять и использовать чужое API если в нём явно не указано «берите кто хотите, используйте как хотите» =)
Нужны гарантии, договора, SLA и вот это всё. Иначе любой чих с той стороны сломает интеграцию. Да и могут судом пойти за неправомерное использование ресурсов организации МинГорТрямЭлекто. А то ишь! На халяву полюзуют все кому не лень!
aquamakc
Расчёт времени прибытия на каких данных основывается? Надеюсь — не на официальном расписании?
Опять-же, если брать во внимание мой жизненный опыт в одном конкретном населённом пункте — Краснодаре расчёт времени прибытия даже на основе данных GPS — пальцем в небо.
Обновление этих данных слишком редкое, судя по приложению — раз в 20-30 секунд в лучшем случае. Иногда данные по некоторым транспортным средствам по 10 минут не обновляются. Хотя допускаю, что это баги самой программы, поскольку я понятия не имею что там под капотом и откуда она эту информацию получает.
Огромную погрешность вносит транспортная инфраструктура. Допустим, трамвай может в какой-то момент двигаться по огороженным путям со скоростью 30-40 км/ч, вы рассчитали, что он ко мне приедет за 10 минут, но вот беда, на его пути встречается перекрёсток, на котором автомобилисты ПОСТОЯННО перегораживают рельсы. И стоять там трамвай может минут 20. Всё, ваш расчет теперь служит единственной цели — дополнительно раздражать пользователя, ожидающего транспорт.
kab Автор
Пока готового расчета времени прибытия нет, есть только первые пробы пера. Основывается расчет на данных о реальном местоположении транспорта + некая эвристика (через сколько будет на остановке).
Но вы правы, частота и точность сильно хромают, есть ощущение, что зачастую датчики на транспорте стоят «чтобы было», а не «чтобы работало».
gibson_dev
У нас в Екатеринбурге тоже есть информация о расположении общественного транспорта. Только она нифига не работает толком) Есть призраки, некоторые вообще не показаны. По личному опыту там актуальны трамваи (и то не всегда — может зависнуть на маршруте) остальное — вообще полное ерунда(
aquamakc
И вот так всегда — идея хорошая, технологии давно есть, а реализация — через альтернативное входное отверстие. Я не вижу объективных причин почему эта система может не работать или работать настолько хреново.
bat
получилось как получилось, деньги освоены, переделывать уже не будут
max1muz
Это точно, только информации о трамваях доверять можно.
YetAnotherSlava
А еще желательно, чтобы 2гис завёл специальный штат сотрудников, которые будут ходить по стоянкам, и там, где водитель слишком долго стоит, ожидая забивки салона под завязку, будут аккуратно тыкать шилом такого водителя. От этого транспорт начнёт ходить по расписанию, и повысится качество жизни горожан.
ggo
Иногда автобусы стоят на остановках из-за SLA. Ходить не чаще Х минут. Если по какой-то причине обогнали график, вот таким образом выправляют.