2ГИС помогает ориентироваться в городе. Открываешь приложение, вводишь в поиск название улицы или организации, находишь, радуешься. После того, как нужная организация найдена, возникает резонный вопрос: как же туда добраться? И если автомобильным сценариям мы в последнее время уделяли значительное внимание, то поиск проезда на общественном транспорте оказался немного подзабыт. Я расскажу про то, как создавался поиск проезда, поделюсь тонкостями сбора и обработки информации.

Откуда взялась задача


Мы любим общаться с пользователями. В конце 2016 года мы провели опрос, дабы выяснить, как пользуются общественным транспортом наши пользователи. Результат получился любопытным — делимся.



«Как часто вы пользуетесь общественным транспортом?»

В целом, во всех городах присутствия 2ГИС более половины респондентов пользуются общественным транспортом каждый день. Чем крупнее город, тем больше людей использует общественный транспорт ежедневно. В будние дни он максимально популярен у жителей Москвы и Санкт-Петербурга, а в остальных городах люди активно пользуются общественным транспортом и в выходные.

С частотой использования разобрались, время посмотреть, какие виды общественного транспорта — фавориты горожан.



«Какие виды транспорта вы предпочитаете?»

Относительно топовых позиций результат вполне ожидаем. В крупных городах предпочтительный вид транспорта — метро. Второе место у автобусов. Более трети москвичей пользуются электричкой. В Новосибирске ездят на маршрутках, а в Петербурге, помимо всего прочего, любят трамваи.

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

Следующим этапом стало выяснение слабых сторон 2ГИС. Мы пришли к пользователям с вопросом — чего нам не хватает?



«Чего не хватает в 2ГИС?»

Задачу с выбором конкретных видов транспорта мы решили с помощью недавно выпущенных фильтров, где пользователь может указать, каким видом транспорта он хочет воспользоваться. А вот вопрос «Когда приедет автобус?» остался актуальным для 64% опрошенных пользователей.

Именно в этот момент мы задумались о добавлении расписания движения общественного транспорта в 2ГИС и о том, как же все наши желания реализовать.

Где взять данные?


Это первый вопрос, с которым мы столкнулись. Ведь в большинстве случаев для нашего продукта мы собираем данные самостоятельно. Когда в городе построен новый микрорайон, специалист по сбору информации едет на заявленное место и выверяет всю необходимые детали «в полях». С новой фичей привычный подход не сработал бы. Отправить специалистов на остановки — бесполезная трата времени и сил, так как расписание постоянно меняется. Появляются новые перевозчики, маршруты оптимизируются, зима сменяется весной. За время сбора плановые расписания и интервалы движения просто-напросто устарели бы.

Да. К сожалению, данные устаревают, и это была вторая проблема, вставшая перед нами. Логичным и вполне очевидным решением было обратиться к тем, кто это расписание составляет и контролирует — в подведомственные учреждения. Зачастую конструктивный диалог начинался только через тернистый бюрократизированный путь и советов, вроде: «Пишите в Минтранс/Дептранс, а потом поговорим».

Нашли ответственного, начали диалог — полбеды.

Далее начинался марафон с:

  1. Объяснениями, что мы хотим и зачем нам это.
  2. Убеждениями, что наша задумка полезна для жителей и гостей города.
  3. Доказательством, что 2ГИС не монетизирует построение маршрутов с учётом периодичности движения.
  4. Заверениями, что это безопасно.

Победа? А вот и нет.

Самое курьёзное — техническая сторона вопроса, а в частности — формат передачи данных. Да, в каких-то городах есть автоматизированные системы по ведению расписания и API для доступа к этим данным (gtfs или передача в json в собственном формате), но это ждало нас далеко не везде. Где-то просто предлагали парсить сайт, опять-таки из соображений безопасности не предоставляя доступа к базам. Где-то были готовы выслать файлы (.xls, .doc, .pdf), но только один раз, без возможности своевременно обновлять информацию в нашем справочнике.

Первое место по оригинальности мы присвоили фотографии листочка бумаги с расписанием движения общественного транспорта.

А ведь изначально задачка казалась тривиальной — получить общедоступные данные от первоисточника!

Загрузка данных во внутреннюю систему


Получив доступ и загрузив к себе данные, мы встали ещё перед одной проблемой. Нельзя просто так взять и загрузить чужие данные во внутреннюю систему.

Почему?


Самое время рассказать, как внутри 2ГИС хранятся исходные данные.
Все внутренние продукты для сбора и хранения информации мы разрабатываем сами. Софт для картографов (которые отвечают не только за карту, но и за транспорт) называется Fiji — подробный рассказ здесь (если кратко, то в Fiji картографы рисуют транспортный граф, вносят данные по общественному транспорту, хранят расписание. В систему уже внесены все собранные маршруты).

Первый анализ показал, что маршруты внутри нашей системы и у поставщиков различаются, причём местами — кардинально. Нужно было как-то сопоставить свои собственные маршруты и маршруты поставщика. Можно, конечно, сделать это вручную, но мы решили написать свой собственный матчер.



В качестве промежуточного формата для хранения выбрали GTFS, как уже общепринятый стандарт, плюс некоторые поставщики умеют выдавать расписание в этом формате. Для промежуточной БД, на которой работает матчер, выбрали PostgreSQL, а сам матчер написали для простоты на Python.

Матчить просто по типу и имени маршрута не получилось, так как маршруты очень сильно расходятся по именам у нас и у поставщиков. Матчить по названиям остановок не получилось по той же причине. В итоге матчер работает по достаточно сложной схеме, учитывая геометрию маршрута, тип транспорта и потом уже названия остановок и номера маршрутов.

При этом ошибки в сопоставлении всё равно есть, так как у поставщиков бывает очень большое количество направлений: отдельно на каждый будний день, отдельно на каждый выходной. Также возникают ошибки в сопоставлении кольцевых маршрутов, если они по разному заведены у поставщика и в нашей внутренней системе (Fiji).

Поэтому конечное решение-таки за человеком — картограф может вручную отменить сопоставление расписания, если поймет, что алгоритм отработал неправильно.

Алгоритм


Ядро алгоритма поиска написано на C++. На самом деле, поиск проезда на общественном транспорте это не один алгоритм, а несколько. Поиск прохода до ближайших остановок считается нашим алгоритмом пешеходной маршрутизации, который, в свою очередь, состоит из двух алгоритмов — «пиксельного» (с помощью которого мы строим проход по территории без графа дорог) и обычного (уже по пешеходному графу до остановки).
В качестве же поискового алгоритма проезда между остановками у нас используется сильно модифицированный A*, в который мы добавили поддержку учёта расписания. И если раньше время ожидания транспорта на остановке было неким «среднестатистическим» временем для каждого проекта и каждого типа транспорта, то теперь учитывается или точное или интервальное расписание.

При этом в алгоритме пришлось учитывать много забавных нюансов в данных. Например, маршрут может иметь время отправления с остановки в 25 или даже в 47 часов. С точки зрения данных это значит, что это тот же рейс, что ходил в предыдущих сутках, и он просто ещё не завершил свою работу. Также нужно учитывать, что рейс может начать ходить «завтра» и, если пользователь ищет маршрут в конце текущих суток, то нужно заглядывать и в следующий день (актуально, если вы храните расписание по дням).

Отдельно решали проблему того, как комбинировать данные с расписанием и без расписания. В итоге решили, что маршруты без расписания по-прежнему участвуют в поиске, просто имеют меньший вес. При этом, если маршрут без расписания совпадает по остановочным платформам с маршрутом с расписанием, то мы его просто подклеим в выдачу, а если он идёт как-то по-другому, то это будет отдельный вариант проезда с меньшим весом, так как мы ничего не знаем про время ожидания на остановке.

Поскольку 2ГИС работает как онлайн, так и офлайн, то алгоритм работает и внутри приложения, и на сервере. Несмотря на то, что данные расписания более-менее статичны, серверный поиск у нас также используется, поскольку на медленных устройствах в случае наличия интернета запрос к серверу отработает намного быстрее, чем локальный поиск. Для серверного поиска у нас задействовано 8 поисковых бекендов, расположенных в трёх дата-центрах в Новосибирске, Москве и Дронтене (Голландия).

Релиз


Итоговый результат добавления расписания общественного транспорта в 2ГИС вы можете оценить в нашем мобильном приложении в Google Play и App Store. В веб-версии появится чуть позднее.

Зарелизившись, мы получили довольно много фидбэка. Проанализировав негативный, выделили две основные причины жалоб:

  1. Мы не рассказали пользователям должным образом, что в поиске проезда сейчас используется расписание и сломали привычные сценарии работы с приложением.
    При поиске маршрута вечером или ночью у пользователей пропали привычные маршруты в выдаче. Контрол выбора даты/времени поездки при построении маршрута выпал из сферы видимости.

    Большая часть обращений в техподдержку выглядела примерно так:

    — Здраствуйте, у вас поиск проезда в общественном транспорте стал неадекватным, потому что …. /описание конкретной проблемы/.
    — Вы знаете, мы выпустили расписание в поиске проезда на общественном транспорте, вот тут контрол, вы можете задать время, на которое планируется поездка.
    — Понятно, большое спасибо!
  2. Алгоритм старался не предлагать маршруты без расписания (или опускать их в выдаче) при наличии альтернативы с расписанием. Из-за этого в каких-то кейсах выдача стала менее релевантной.

    Нашим технологам пришлось в экстренном порядке уточнять и вручную вносить интервальное расписание по всем оставшимся видам транспорта, чтобы вернуть их в выдачу, а нам — проводить дополнительную настройку алгоритмов поиска.

Капитанские выводы


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

  • Если планируете использовать чужие данные у себя в приложении — обязательно подумайте, как будете эти самые данные добывать. Не факт, что ваши ожидания и реальность совпадут. Учитывайте риски.
  • Если сильно меняете текущую логику работы приложения — обязательно расскажите пользователям об этом и научите их пользоваться новыми фичами: «Что нового» в сторах читают единицы.
  • Подготовьте техподдержку к всплеску обращений независимо от того, насколько хорошо вы рассказали про новую фичу и как ей пользоваться.

P.S. Про полноту данных


Поскольку договориться удалось не со всеми Дептрансами/Минтрансами — расписание пока есть только в Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге, Красноярске, Омске, Челябинске, Краснодаре и Ростове-на-Дону. Повышать покрытие транспорта расписанием в этих городах, ровно как и добавлять новые города, мы будем по мере получения данных.

Комментарии (71)


  1. aquamakc
    05.12.2017 10:25

    Расписание — это, конечно, хорошо. Вот только в моём городе (указанном в статье — Краснодаре) транспортная обстановка такова, что это расписание не соблюдается от слова СОВСЕМ. Зато есть открытые данные о текущих координатах единиц общественного транспорта на маршрутах. Есть даже софт, который на карте показывает текущее положение и направление движения.
    Было бы неплохо эту информацию видеть и в 2Гис. Сейчас же для построения маршрута приходится пользоваться 3-мя приложениями:
    1) 2Гис, чтобы уточнить адрес и какими маршрутами общественного транспорта туда в принципе можно попасть;
    2) Я.Карты — пробки и аварии, чтобы знать какими маршрутами общественного транспорта туда тяжело попасть;
    3) Приложение с маршрутами общественного транспорта где отображается сам транспорт, чтобы видеть есть ли на нужном мне маршруте сам транспорт физически и как скоро он приедет.


    1. svr_91
      05.12.2017 10:40

      Есть Яндекс Транспорт. Он по идее должен показывать маршруты транспорта


      1. aquamakc
        05.12.2017 10:41

        Пробовал — не показывает.


      1. Stanislavvv
        05.12.2017 17:27

        Маршруты — показывает. Но после того, как по его мнению, мимо меня проехал нужный мне трамвай, в то время, как по мнению сайта ЕТТУ он таки оставался на ближайшей конечной и ждать его ещё минут 10 — как-то я ему не доверяю и не вижу смысла пользоваться с такой точностью.


        1. ainoneko
          06.12.2017 09:56

          Так ЯТ только предполагает, что трамвай где-то едет на основании предыдущих наблюдений — поэтому там транспорт так красиво катается.
          Я (в другом городе) пользуюсь сайтом гортранспорта, который показывает, где был транспорт минуту-две назад и его скорость в тот момент — предполагать, где он сейчас, остаётся мне.


          1. Stanislavvv
            06.12.2017 10:00

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


            1. TheGodfather
              07.12.2017 11:31

              Как-как, если до этого каждый день трамвай выезжал с конечной в примерно одно и то же время в течение месяца, то «прогноз» доступен даже первоклашке — наверное, трамвай сегодня тоже приедет примерно в то же время.


              1. Stanislavvv
                07.12.2017 11:34

                Проблема в том, что несколько лет как трамвай таки выезжает и доезжает до меня примерно в одно и то же время и это время — не совпадает с мнением Яндекс.Транспорта.


            1. saege5b
              09.12.2017 12:36

              Переставили таблички с маршрутами на трамваях. В системе ничего менять не стали.
              У нас так половина ОТ ездит. И менять ничего не будут, потому что «один физический автобус может обслуживать различные маршруты в зависимости от дорожной обстановки».


      1. babylon
        05.12.2017 21:51

        Сделайте пожалуйста, так чтобы когда автобусик подъезжал. Раздавалось вибро или звуковое оповещение.


    1. alltiptop
      05.12.2017 10:44

      Именно — количество рейсов и «расписание» где бы то нибыло (на сайте или остановке) — просто белый шум, совершенно не связанный с действительностью.

      Для построения маршрута достаточно путь (реальный юзкейс):
      1. 2гис чтобы уточнить/убедиться куда ехать
      2. Карты (гугл/яндекс) — построить маршрут
      3. На 15 минуте на остановке вспомнить про приложение с положением транспорта, понять что всё плохо
      4. Открыть убер/гетт/яндекс

      Хотя чаще всё начинается и заканчивается одним гуглом — (по личному опыту он гораздо точнее яндекса и как навигатор и по пробкам, но не тема для холиваров — у кого то опыт противоположный) и оттуда же вызывается такси


      1. aquamakc
        05.12.2017 11:11

        ) я гуглу не доверяю, особенно после того, как он нас в Питере 2 раза подряд завёл на платную магистраль, свёл, сделал круг и завёл обратно ровно в том-же месте, где свёл, при этом найти, где отключаются из маршрута платные дороги мы не смогли.


        1. Yulaw
          07.12.2017 15:37

          Для этого нужно проложить маршрут до нужной точки, нажать на 3 точки срава от выбора маршрута (начало/конец), далее route options -> avoid tolls


          1. aquamakc
            07.12.2017 15:38

            ) Спасибо, но уже не актуально.


    1. kab Автор
      05.12.2017 11:28

      Использование текущего местоположения и расчет времени прибытия (ETA) — это те задачи, которые стоят в ближайших планах.


      1. koot
        05.12.2017 11:37

        Просьба добавить текущее местоположение троллейбусов трамваев и автобусов отсюда http://m.marsruty.ru/krasnodar/#krasnodar/map


        1. AotD
          05.12.2017 12:45

          Нельзя просто так взять и использовать чужое API если в нём явно не указано «берите кто хотите, используйте как хотите» =)
          Нужны гарантии, договора, SLA и вот это всё. Иначе любой чих с той стороны сломает интеграцию. Да и могут судом пойти за неправомерное использование ресурсов организации МинГорТрямЭлекто. А то ишь! На халяву полюзуют все кому не лень!


      1. aquamakc
        05.12.2017 11:37

        Расчёт времени прибытия на каких данных основывается? Надеюсь — не на официальном расписании?
        Опять-же, если брать во внимание мой жизненный опыт в одном конкретном населённом пункте — Краснодаре расчёт времени прибытия даже на основе данных GPS — пальцем в небо.
        Обновление этих данных слишком редкое, судя по приложению — раз в 20-30 секунд в лучшем случае. Иногда данные по некоторым транспортным средствам по 10 минут не обновляются. Хотя допускаю, что это баги самой программы, поскольку я понятия не имею что там под капотом и откуда она эту информацию получает.
        Огромную погрешность вносит транспортная инфраструктура. Допустим, трамвай может в какой-то момент двигаться по огороженным путям со скоростью 30-40 км/ч, вы рассчитали, что он ко мне приедет за 10 минут, но вот беда, на его пути встречается перекрёсток, на котором автомобилисты ПОСТОЯННО перегораживают рельсы. И стоять там трамвай может минут 20. Всё, ваш расчет теперь служит единственной цели — дополнительно раздражать пользователя, ожидающего транспорт.


        1. kab Автор
          05.12.2017 12:59

          Пока готового расчета времени прибытия нет, есть только первые пробы пера. Основывается расчет на данных о реальном местоположении транспорта + некая эвристика (через сколько будет на остановке).
          Но вы правы, частота и точность сильно хромают, есть ощущение, что зачастую датчики на транспорте стоят «чтобы было», а не «чтобы работало».


    1. gibson_dev
      05.12.2017 11:52

      У нас в Екатеринбурге тоже есть информация о расположении общественного транспорта. Только она нифига не работает толком) Есть призраки, некоторые вообще не показаны. По личному опыту там актуальны трамваи (и то не всегда — может зависнуть на маршруте) остальное — вообще полное ерунда(


      1. aquamakc
        05.12.2017 11:53

        И вот так всегда — идея хорошая, технологии давно есть, а реализация — через альтернативное входное отверстие. Я не вижу объективных причин почему эта система может не работать или работать настолько хреново.


        1. bat
          05.12.2017 16:44

          получилось как получилось, деньги освоены, переделывать уже не будут


      1. max1muz
        07.12.2017 15:38

        Это точно, только информации о трамваях доверять можно.


    1. YetAnotherSlava
      05.12.2017 21:12

      А еще желательно, чтобы 2гис завёл специальный штат сотрудников, которые будут ходить по стоянкам, и там, где водитель слишком долго стоит, ожидая забивки салона под завязку, будут аккуратно тыкать шилом такого водителя. От этого транспорт начнёт ходить по расписанию, и повысится качество жизни горожан.


      1. ggo
        06.12.2017 10:42

        Иногда автобусы стоят на остановках из-за SLA. Ходить не чаще Х минут. Если по какой-то причине обогнали график, вот таким образом выправляют.


  1. nerudo
    05.12.2017 10:43

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

    Где??? Или все речь про мобильное приложение?
    PS Оказывается версия для windows уже два года не обновляется…


  1. Seekeer
    05.12.2017 11:07

    Доказательством, что 2ГИС не монетизирует построение маршрутов с учётом периодичности движения.

    То есть в 2ГИС вообще нет монетизации?


    1. aquamakc
      05.12.2017 11:18

      Реклама же…


    1. prostofilya
      06.12.2017 07:59

      На рекламе сидят, у них огромные отделы продаж, они постоянно обзванивают клиентов, впаривают им рекламу, встречаются с ними. Если в веб версии всё выглядит более-менее эстетично (хотя, в последнее время и там начинает резать глаза), то в десктоп-версии рекламы было много всегда. Не знаю, остался ли сейчас этот кейс, но я долго смеялся первое время с баннера, который показывался при закрытии клиента. То есть, вы закрываете программу, программа уже закрыта, но вам в это время показывают баннер с рекламой…


      1. aquamakc
        06.12.2017 09:17

        Всё ещё есть, причём не только при закрытии, но и при запуске.


  1. AlexChekel
    05.12.2017 11:31

    Отличная статья, спасибо! Столкнулся тут недавно с проблемой: нужно было добраться из незнакомой мне части города до дома в воскресенье в 7 утра. Открыл 2гис, построил маршрут и пошел до остановки. Простоял, наверное, минут 20, потом посмотрел на табличку, которая, как правило, всегда висит у остановки, а там надпись «Только по будням».


    1. kab Автор
      05.12.2017 11:31

      Напишите нам пожалуйста сообщение из приложения — мы обязательно проверим и поправим данные.


  1. leshakk
    05.12.2017 13:29

    Очень рад, что Вы начали развивать это направление.


    Надеюсь, что Вы сделаете отображение текущего местоположения общественного транспорта на карте, как в яндекс.транспорте. Очень хотелось бы отказаться от него, уж очень он тормозной (на моём телефоне, по крайней мере).


    И ещё один вариант использования, которого очень не хватает у яндекса: хотелось бы получать на одном экране информацию о прибытии нескольких выбранных маршрутов на несколько выбранных (расположенных недалеко друг от друга) остановок. Дело вот в в чём: от моей работы можно уехать на нескольких разных автобусах/трамваях, которые приходят на разные остановки. Хотелось бы взглянув на один экран, сразу решить, на какую именно остановку стоит идти. Полагаю, что эта фича была бы полезна многим пользователям.


    И да, желаю Вам успехов в дальнейшем развитии Вашей очень нужной и полезной программы.


  1. iklin
    05.12.2017 13:44

    Есть же приложения типа CityBus, которые откуда-то берут инфу о движении транспорта. В крупных городах сейчас каждый автобус оснащён приборчиком для отслеживания ГЛОНАССом.


  1. fedorro
    05.12.2017 13:55

    Не доверяю я 2ГИСу в плане транспорта — каждый раз как пользуюсь случается какой-то казус: остановка не та, остановка на другой стороне, а маршрут вообще проложен против движения на односторонней дороге, при построении маршрута для одного и того-же автобуса строятся разные маршруты, никак не совпадающие (думал показалось, или с троллейбусом перепутал, но нет — проверил сейчас), и т.д. Из приложения писать не получается — т.к. в такой ситуации не до того, а потом забываются детали.


  1. A1exXx
    05.12.2017 15:34

    а не пробовали собирать статистику с телефонов? ну например, человек зашел в 2gis, поискал, что ему нужен 5 автобус, и стоит на остановке 5 автобуса ждет. по расписанию, автобус уже должен быть, а по факту скорость человека начала меняться через 3 минуты после указанного в расписании, может на основании таких данных как то корректировать расписание? Просто, расписаний можно найти навалом. в т.ч. у «первоисточника» (гортранса), а вот кто сделает «расписание» приближенное к реальности, тот и победит.


    1. kab Автор
      05.12.2017 15:37

      Нет, анализом данных пользователя не занимались, да и пользователь чаще всего выключает телефон на остановке и не едет с включенным.
      В будущем попробуем интегрировать реальное местоположение транспорта, это поможет сделать расписание «приближенное к реальности».


  1. strangeraven
    05.12.2017 15:39

    А откуда берут данные яндекс-транспорт и citymapper?
    Из тех же источников что и вы или каких-то других?

    Я понимаю, что вопрос не совсем к вам, но наверняка вы в своих поисках пытались провентилировать этот вопрос.


    1. kab Автор
      05.12.2017 15:41

      Расписание и реальное местоположение есть только у тех, кто владеет/управляет этим транспортом. Поэтому да, источники скорее всего одни.
      Еще есть агрегаторы, которые предлагают тоже самое, но в удобном АПИ и за деньги.


    1. Valpi
      07.12.2017 08:36

      В СПб Citymapper берет данные у организатора перевозок, метро, пассажиравтотранс и горэлектротранс., Я.Транспорт использует данные организатора перевозок.


  1. aquamakc
    05.12.2017 16:02

    Кстати.
    Раз уж вы попались. Вопрос не совсем про транспорт. Когда будут русифицированные иностранные города? Хотя бы основные туристические направления. Был очень неприятно удивлён несколько лет назад Праге только на чешском языке (сейчас вроде есть английская версия, но тоже не то).
    Вроде очевидное решение, но не реализовано.


    1. kab Автор
      05.12.2017 16:11

      Я не смогу назвать точные сроки (да и не совсем в моей компетенции вопрос), но не очень скоро. По причине того, что компания ориентируется на создание сервиса именно для местных жителей, а значит он должен быть прежде всего на нативном языке. Мультиязычность есть в планах, но приоритет у нее не самый высокий.


      1. aquamakc
        05.12.2017 16:19

        Я понимаю, что вопрос не в вашей области, но мало-ли, вдруг что-то известно.
        А вообще, если философствовать — теряется довольно значительная часть пользователей — туристов. Сервис есть, сервис привычный, карта есть, а пользоваться им не могу. Хотя, казалось бы просто переведи уже имеющийся текст и предоставь на русском языке…
        Отвечать не обязательно. Просто мысли в слух.


        1. kab Автор
          05.12.2017 16:59

          Мультиязычность есть в планах во всех проектах, но это затрагивает очень небольшой процент пользователей, а усилия достаточно большие. «Перевести весь текст» == перевести весь справочник — организации, дома, улицы и т.п., добавить синонимы, различные ключевые слова для поиска и т.д.
          Когда она реально востребована (например, Дубаи у нас на английском и на арабском), то мы, конечно, делаем.


        1. eugenebb
          05.12.2017 23:27

          Мне наоборот показалось неудобно пользоваться русскоязычными названиями в другой стране.

          Перед поездкой во Францию (по французски не копенгаген) купили хороший атлас на русском языке.

          Практически невозможно использовать из-за несоответствия написания названий, пришлось покупать карту на французском.


          1. aquamakc
            06.12.2017 09:19

            Это косяк локализаторов. В принципе ничто не мешает дублировать и на нативном и на русском языке, особенно, если карта в электронном виде, а не на бумаге.


  1. Apokalepsis
    05.12.2017 17:02

    А в Иркутске есть приложение, с движением автобусов в реальном времени. Удобно.


  1. ReakTiVe-007
    05.12.2017 17:04

    Для Минска есть классное приложение Avenue. Разраб как то забил на него, но tut.by его выкупил и стал обновлять расписание. Преимуществом считаю то что работает оффлайн и без гаппсов. версия 2.0.4. Выше почему то не видит gps. Не реклама, просто единственное приложение с нормальным отображением маршрутов по карте, временем до приезда транспорта, gps местоположением, и самое главное все это оффлайн.


  1. rixter
    05.12.2017 20:37

    У вас Крым отклеился. Ни одного города нет.


  1. sshikov
    05.12.2017 20:46

    А ведь изначально задачка казалась тривиальной — получить общедоступные данные от первоисточника!

    Вы оптимисты! :)


    По личному опыту даже статического характера информация на картах зачастую далека от реальности. Проверить это сложно, но по впечатлениям число банкоматов, например, просто отличается от реальности в разы.


    1. demonit
      05.12.2017 22:00

      у них еще много чего отклеилось, или, точнее, не приклеилось… Например, нет Таганрога, что делает абсолютно бесполезной 2гис… для жителей и гостей онного


  1. Trotil
    05.12.2017 22:20

    Уточните, само расписание посмотреть нельзя? (в приложении вижу только маршруты и список остановок)


    1. kab Автор
      06.12.2017 14:56

      При просмотре карточки остановки есть кнопочка «Полное расписание» (для всех маршрутов), либо кликнуть в конкретный номер маршрута.


  1. TheGodfather
    05.12.2017 23:28

    Расписание общественного транспорта в России? Да вы оптимисты, я смотрю… Может, конечно, в других городах автобусы ходят с немецкой точностью, но в Нижнем Новгороде фактического расписания у автобусов не существовало от слова «совсем».


    1. Karakhan
      06.12.2017 14:50

      Возможно, не оптимисты, а просто москвичи. Тут всё более-менее по расписанию, за исключением, возможно, маршруток.


  1. prostofilya
    06.12.2017 08:07

    del


  1. akimovpro
    06.12.2017 09:44

    В Москве в итоге в каком формате отдали данные?


    1. akimovpro
      06.12.2017 09:44

      Знаю только про www.mosgortrans.org/pass3


    1. kab Автор
      06.12.2017 15:05

      Москва большая. Город — в json, МО — сайт или отдельные файлики (в зависимости от перевозчика).


  1. BigDflz
    06.12.2017 14:51

    В Екатеринбурге есть что-то про отслеживание транспорта, но только это такое убожество, что просто ужОс… пытался пользоваться — это бессмысленно… Подхожу к остановке, по проге — трамвай ещё только с предыдущей остановки отошёл, — а реально с моей…
    задержка отображения — перечеркивает весь смысл такого приложения. Позвонил разработчикам — почему так при современных технологиях? В ответ — у нас такие данные, чаще получать не получается и прочая туфта. Открыл их страницу в браузере, технология из прошлого века, ajax запросы бомбят сервер. про websocket и не слышали. И зачем тогда ставить трекеры на транспорт? В городе — ну пара/тройка сотен транспортных средств для общественного использования — это нулевая нагрузка для сервера для получения данных в реальном времени. А столько шуму по общественному транспорту в городе, столько распиленных бабок. Если видеть реальную обстановку с положением транспорта в пути — можно кучу времени сэкономить, просто выбрать вариант — или ждать или на перекладных ехать. Как можно о расписании говорить, когда реальных данных нет.


    1. kab Автор
      06.12.2017 15:01

      Там проблема обычно не в сервере, а в датчиках. Ставят очень дешевые датчики на транспорт и сильно занижают частоту передачи координат, вплоть до 1 раза в 10-20 минут. При таких частотах любая модель экстраполяции будет ошибаться. Если исходные данные неплохие (хотя бы 1 раз в минуту или чаще), то и результат значительно лучше.


      1. BigDflz
        06.12.2017 16:02

        это называется — деньги распилили. Весь смысл теряется. Для дальнобойщков -ещё такое можно, а для городского транспорта…
        Смысл занижать частоту опроса? В чем экономия? Трафик? Делал для себя трекер на смартфоне — с использованием websоcket — трафик практически нулевой, единицы байт.


        1. aquamakc
          06.12.2017 16:15

          Не все люди это понимают. Чиновники от гортранспорта — не исключение.


  1. sumanai
    06.12.2017 16:20

    У меня андроид 4.1, и приложение, увы, уже давно не обновляется. Хотя и ладно, Самары там всё равно нет, маршрутки ходят как хотят, что я вижу своими глазами, так как живу на конечной.


  1. DjOnline
    06.12.2017 17:35

    Вы молодцы!
    Основаная проблема, что вроде бы одна страна, одни и те же цели и задачи у транспорта, но каждый мать его регион изобретает велосипед заново, вместо того чтобы всей страной использовать единый формат обмена данными о расписании и движении транспорта в реальном времени.
    В США например Гугл продвигает Google Transit и GTFS-realtime, и это прекрасно, что именно в нём вы в итоге и храните.

    И очень не хватает realtime данных от маршруток, что у вас, что у Яндекса. В Волгоградской области они например состовляют основу транспортной системы.


    1. aquamakc
      06.12.2017 17:47

      Маршрутки — это частники. Причём, судя по нашим — южным — ещё те жуки, экономящие на всём, чём можно. За свой счёт они точно не будут GPS трекеры ставить.


      1. sumanai
        06.12.2017 18:01

        Встроить в регистраторы, сейчас у всех газелистов есть.


      1. areht
        08.12.2017 04:05

        В мск были плохо говорящие по-русски «частники» на раздолбанных газельках. За месяц заменились на новые синенькие микроавтобусы с трекерами и валидаторами.

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


  1. areht
    07.12.2017 01:16

    А можно понять, что маршрут с низким приоритетом из-за отсутствия расписания? Или такие вообще не показываются?

    Ощущение, что некоторые маршрутки полностью выпали из маршрутов.


    1. kab Автор
      07.12.2017 08:42

      А можете написать через приложение — какие именно маршрутки пропали в выдаче? Постараемся починить!
      В целом, в приложении показываются весь транспорт, независимо от наличия расписания у него.


      1. areht
        07.12.2017 15:39

        Я говорю про маршруты с 2 пересадками, например. Я знаю о наличии совсем другой цепочки, но не знаю почему вы её отбросили.