You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#426 2010-11-23 11:56:53

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

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

Alexandr Zeinalov wrote:

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

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

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

Кольцевой маршрут в любом случае должен иметь точку начала (совпадающую с точкой конца), потому что список отрезков и остановок упорядочен и в нём есть первый и последний пункты. Разумеется, отрезки маршрута могут формировать собой кольцо, а список остановок содержать все остановки кольца без исключений. По-настоящему кольцевой маршрут можно как-нибудь отмечать в тегах, например, cycle=yes. Двай кольцевых маршрута по одним улицам в разные стороны ничем не отличаются от двух линейных маршрутов по одним улицам в разные стороны (разве что у первых начало и конец в одной точке, а у вторых — в разных), и рисуются двумя отношениями.

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

Разумеется, если бы они не отличались, не было бы необходимости в такой схеме. Но все остановки у разных направлений маршрута разные. По разные стороны перекрёстков, порой с разными названиями и свойствами. Иногда даже количество остановок разное (пример есть недалеко от моего дома). Это легко заметить по «ленивыми» forward/backward-отношениям: все вместе остановки образуют мешанину, поэтому без явного указания роли forward:stop или backward:stop отношение маршрута не имеет смысла. В схеме Oxomoa маршруты линейны, и там достаточно роли stop, да и даже совсем без ролей грамотный парсер сможет допустить, что точки — это остановки, в отличие от веев. Схема с «backward/forward» такой вольности себе позволить не может.

Alexandr Zeinalov wrote:

Автобус 145 http://bus.ruz.net/routes/145 ходит только по кольцу и только в одну сторону. Конечной у него нет, но с м. Беляево автобус может уехать в парк.

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

Троллейбус Б раньше ходил в обе стороны но каждое направление по кольцу, сейчас внутренний переименовали в Бк http://trolley.ruz.net/routes/1000 http://trolley.ruz.net/routes/1100 . На обоих нет конечной станции, кроме тех случаев, когда троллейбус идёт в парк.

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

Троллейбус 34 http://trolley.ruz.net/routes/1034 имеет обычные конечные, однако у него диспетчерский пункт и конечная выхода с маршрута находится на ул. Кравченко. Когда троллейбус приезжает туда и встаёт в общую очередь, большинство пассажиров нередко переходят в первый из стоящих в очереди троллейбусов.

Полукольцевой маршрут с конечной на улице Кравченко, понятно. Я не очень понял этот маршрут, но какой бы они ни была, нарисовать её будет просто, упорядочив остановки и поняв, что где происходит.

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

Ты точно против схемы Oxomoa и за беспорядочную схему с двумя направлениями на отношение и остановками «forward:stop» и «backward:stop»? Потому что ты это написал не про Oxomoa. Последняя именно предназначена для роутинга, и пресловутые списки остановок получаются из неё элементарно. Я бы посоветовал перечитать страницу в вики ещё раз.

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

Если ввести тег, означающий, что маршрут полностью кольцевой (как cycle=yes, предложенный выше), то их можно будет различить. И это не относится к вопросу «сколько отношений на маршрут», потому что кольцевые маршруты любой степени полноты в любой схеме отмечаются одним отношением, вопрос только в упорядоченности и избыточности (последней нет у схемы Oxomoa, но есть у популярной здесь).

Кроме того, рассматривая два разных отношения одного маршрута, мы, полагаясь на ref, будем постоянно натыкаться на маршруты с одинаковыми номерами. Помимо маршрутов в Москве, есть куча похожих маршрутов в других городах, в Мособласти и тд и тп. Например, в Москве есть маршрут 41, а у Мострансавто в области таких маршрутов аж 24, причём два из них одинаковы, но один из этой пары является коммерческим маршрутом того же самого перевозчика.

Конечно. Даже рассматривая два отношения двух маршрутов, как ты замечаешь, мы будем натыкаться на маршруты с одинаковыми номерами. Для этого предназначены теги to и from, значения которых написаны на маршрутных досках и по которым можно различить любую пару маршрутов, едут ли они по одним дорогам или по разным.

Hind wrote:

А вот во всех маршрутках и автобусах, в которых я ездил, висит бумажка "Утвержденный машрут" и его (а не "их") схема.

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

Last edited by zverik (2010-11-23 11:59:12)

Offline

#427 2010-11-23 11:57:04

Stud555
Member
From: г.Истра, МО
Registered: 2010-07-05
Posts: 572
Website

Re: Маршруты общественного транспорта

Dmitry Terentiev wrote:

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

Вот тут все маршруты. http://stud555.sbin.ru/buserror.php Обращайте внимание на поле "Роутинг". Если "1" - прошел проверку, если "0" - то нет.
Могу в принципе и покрасить строчки, если надо.


Мапим прям с дивана город Дедовск
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики

Offline

#428 2010-11-23 12:10:14

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Маршруты общественного транспорта

Надо просто разделять понятия "Маршрут" и "Трасса маршрута". У кольцевых маршрутов обычно одна трасса. У стандартных - две (туда/обратно).
Поэтому логичнее использовать схему из нескольких relation: один для маршрута (с тегами ref/name/transport) и по одному relation на каждую трассу, который входит с соответствующей ролью в relation маршрута.

Last edited by Sergey Astakhov (2010-11-23 12:10:36)

Offline

#429 2010-11-23 12:12:39

Stud555
Member
From: г.Истра, МО
Registered: 2010-07-05
Posts: 572
Website

Re: Маршруты общественного транспорта

Коллеги. Мне интересно знать, зачем Вам нужен роутинг общественного транспорта? Т.е. как его нужно будет использовать и для каких целей? т.е. роутингом будет скорее всего (89%) житель другого региона. Как будет происходить идентификация им остановок и маршрутов, которые связывают эти остановки?

Вот приведу пример из моего личного опыта. Летом я ездил отдыхать на Азовское море. Поезд шел до Ростова-на-Дону, ну а дальше пришлось добираться на ОТ. Схема получилась такая(я ее примерно 2 месяца из местных жителей на форумах вытягивал). Сажусь в Р-н-Д в автобус, на нем доезжаю до г.Таганрог, в Таганроге сажусь на другой автобус и доезжаю до нужного хутора. Все вроде выглядит просто здорово, но вот например как сделать роутинг, который бы составил эту схему, если в Таганроге автобусы из Ростова приезжаю на один вокзал, а по району автобусы ходят с другого вокзала, которые физически находятся на приличном друг от друге расстоянии.  Вот и опять задаю вопрос: что нам нужно от роутинга?


Мапим прям с дивана город Дедовск
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики

Offline

#430 2010-11-23 12:33:51

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Маршруты общественного транспорта

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

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

Offline

#431 2010-11-23 12:42:55

Felis Pimeja
Member
Registered: 2010-10-27
Posts: 1,035

Re: Маршруты общественного транспорта

Я понимаю, что это давно уже топик религиозных войн... Но если отвлечься. Я тут маршрут попробовал нарисовать. Проверьте, пожалуйста. Хочу знать где-чего на будущее учитывать. )
http://www.openstreetmap.org/browse/relation/1283352

Offline

#432 2010-11-23 12:48:39

Stud555
Member
From: г.Истра, МО
Registered: 2010-07-05
Posts: 572
Website

Re: Маршруты общественного транспорта

Felis Pimeja wrote:

Проверьте, пожалуйста. Хочу знать где-чего на будущее учитывать. )
http://www.openstreetmap.org/browse/relation/1283352

На мое мнение все на месте и так как нужно smile


Мапим прям с дивана город Дедовск
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики

Offline

#433 2010-11-23 12:50:21

Stud555
Member
From: г.Истра, МО
Registered: 2010-07-05
Posts: 572
Website

Re: Маршруты общественного транспорта

Hind wrote:

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

На сколько далеко ты согласишься топать пешком? Интересуюсь чисто с технической точки зрения. Ведь должен же быть предел для длины дуги для графа.


Мапим прям с дивана город Дедовск
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики

Offline

#434 2010-11-23 12:50:44

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Маршруты общественного транспорта

Felis Pimeja wrote:

Я понимаю, что это давно уже топик религиозных войн... Но если отвлечься. Я тут маршрут попробовал нарисовать. Проверьте, пожалуйста. Хочу знать где-чего на будущее учитывать. )
http://www.openstreetmap.org/browse/relation/1283352

У тебя там веи, по которым автобус едет в обе стороны, включены по 2 раза с разными ролями. Это не по канонам relation:route, поэтому аналайзер возмущается, зато твой маршрут очень легко разделить на 2 маршрута Зверика-Стада. Достаточно продублировать и убрать из каждого варианта одно направление. :3

Stud555 wrote:

На сколько далеко ты согласишься топать пешком? Интересуюсь чисто с технической точки зрения. Ведь должен же быть предел для длины дуги для графа.

Конечно. Вопрос очень интересный. Лично я в пределах города соглашусь до 1 км (если это не конечный/начальный этап).

Last edited by Hind (2010-11-23 12:53:20)

Offline

#435 2010-11-23 12:53:00

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Маршруты общественного транспорта

--

Last edited by Hind (2010-11-23 12:53:11)

Offline

#436 2010-11-23 13:12:04

Felis Pimeja
Member
Registered: 2010-10-27
Posts: 1,035

Re: Маршруты общественного транспорта

Hind wrote:

У тебя там веи, по которым автобус едет в обе стороны, включены по 2 раза с разными ролями. Это не по канонам relation:route, поэтому аналайзер возмущается, зато твой маршрут очень легко разделить на 2 маршрута Зверика-Стада. Достаточно продублировать и убрать из каждого варианта одно направление. :3

Собственно, этот момент меня и напрягал. Но на него ругался только валидатор JOSMа, поэтому так и оставил. Значит буду поправлять.

Stud555 wrote:

На сколько далеко ты согласишься топать пешком? Интересуюсь чисто с технической точки зрения. Ведь должен же быть предел для длины дуги для графа.

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

Offline

#437 2010-11-23 14:03:26

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,699
Website

Re: Маршруты общественного транспорта

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

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

Почитай внимательно описание маршрута.

Ты точно против схемы Oxomoa и за беспорядочную схему с двумя направлениями на отношение и остановками «forward:stop» и «backward:stop»?

Я не сказал, что я за *:stop. Это ты мне приписал. Зато я точно против разбиения одного маршрута на два.

пресловутые списки остановок получаются из неё элементарно.

Хорошо, как я получу раздельный список остановок от м. Новые Черёмушки до ул. Новаторов и от ул. Новаторов до м. Новые Черёмушки?

Offline

#438 2010-11-23 14:11:59

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

Alexandr Zeinalov wrote:

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

Почитай внимательно описание маршрута.

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

Я не сказал, что я за *:stop. Это ты мне приписал. Зато я точно против разбиения одного маршрута на два.

пресловутые списки остановок получаются из неё элементарно.

Хорошо, как я получу раздельный список остановок от м. Новые Черёмушки до ул. Новаторов и от ул. Новаторов до м. Новые Черёмушки?

А как их получить, когда оба направления в одном отношении?
Со схемой Oxomoa просто: есть два отношения, в каждом — упорядоченные остановки. Просто вытаскивать объекты с ролью stop и брать у них name. Сначала из отношения с тегом to=ул. Новаторов, затем — из to=м. Новые Черёмушки. Вот и раздельный список.

Offline

#439 2010-11-23 14:18:48

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,699
Website

Re: Маршруты общественного транспорта

zverik wrote:

А как их получить, когда оба направления в одном отношении?

Я привёл тебе конечные остановки маршрута 721. Теперь ответь на мой вопрос ещё раз.

Со схемой Oxomoa просто: есть два отношения, в каждом — упорядоченные остановки. Просто вытаскивать объекты с ролью stop и брать у них name. Сначала из отношения с тегом to=ул. Новаторов, затем — из to=м. Новые Черёмушки. Вот и раздельный список.

Offline

#440 2010-11-23 14:39:46

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

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

Offline

#441 2010-11-23 15:11:31

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,699
Website

Re: Маршруты общественного транспорта

Это тот самый маршрут с кольцом, который ты предложил рисовать одной линией.

Offline

#442 2010-11-23 15:24:50

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

Если он кольцевой, то почему на сайте он нарисован как двусторонний? На сайте ошибка, выходит, потому что нет направления «обратно».

Offline

#443 2010-11-23 15:48:04

luch86
Member
Registered: 2010-05-29
Posts: 199

Re: Маршруты общественного транспорта

Рассматривая ÖPNV-Karte, заметил интересную вещь. Он не поддерживает роли *:stop, зато поддерживает *_stop, об этом написано и на соответствующей вики-странице: http://wiki.openstreetmap.org/wiki/%C3%96pnvkarte
Такие же роли *_stop указаны в русском (а также немецком и французском) описании отношения: http://wiki.openstreetmap.org/wiki/RU:Relation:route
А вот в английской вики роли *:stop: http://wiki.openstreetmap.org/wiki/Relation:route

Информация об использовании этих ролей (привязка к линии или направлению маршрута) тоже противоречивая — в одном месте одно, в другом другое. ÖPNV-Karte поддерживает вариант привязки к направлению маршрута.

Как разгребать весь этот бардак с этими forward и backward? smile

Попытался откорректировать под ÖPNV-Karte и навигацию городские маршруты по Щёлково:
http://www.openstreetmap.org/browse/relation/962843
http://www.openstreetmap.org/browse/relation/962835
http://www.openstreetmap.org/browse/relation/962904
http://www.openstreetmap.org/browse/relation/962840

Обращаю внимание на этот маршрут:
http://www.openstreetmap.org/browse/relation/962844
Его сделать нормально не вышло, т.к. разные рейсы идут разными путями, но это один маршрут. Как тут правильнее обозначить — не представляю.

Offline

#444 2010-11-23 15:49:29

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Маршруты общественного транспорта

Подчеркивание (_) уже deprecated, разве нет?

Offline

#445 2010-11-23 15:52:19

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

luch86 wrote:

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

вот так.
В Германии все рисуют по этой схеме, и openbusmap (ÖPNV-Karte) отлично поддерживает.
Хватит изобретать велосипед, всё-таки.

Offline

#446 2010-11-23 16:06:33

luch86
Member
Registered: 2010-05-29
Posts: 199

Re: Маршруты общественного транспорта

zverik wrote:
luch86 wrote:

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

вот так.
В Германии все рисуют по этой схеме, и openbusmap (ÖPNV-Karte) отлично поддерживает.
Хватит изобретать велосипед, всё-таки.

Причём тут эта схема? Не нашёл там ответа на вопрос по данному случаю, когда разные рейсы идут разными улицами. Вот расписание: http://www.mostransavto.ru/?page=rasp&c … 0&n=2&com= (часть рейсов через Площадь, часть через Пенсионный фонд)

Offline

#447 2010-11-23 16:16:18

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

нарисовать разными отношениями, в теги отношения вбить description, opening_hours и что ещё придумаешь

Offline

#448 2010-11-23 16:24:00

luch86
Member
Registered: 2010-05-29
Posts: 199

Re: Маршруты общественного транспорта

zverik wrote:

нарисовать разными отношениями, в теги отношения вбить description, opening_hours и что ещё придумаешь

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

Offline

#449 2010-11-23 16:27:48

zverik
Member
From: Saint-Petersburg
Registered: 2009-07-31
Posts: 771

Re: Маршруты общественного транспорта

эх. Ваша Москва, вы и мучайтесь потом.

(если продлят рейс, продлите два из существующих отношений. Если добавит ещё одну трассу — сделаете новые, благо copy-paste в плагине public_transport).

Last edited by zverik (2010-11-23 16:45:35)

Offline

#450 2010-11-23 18:33:51

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,699
Website

Re: Маршруты общественного транспорта

zverik wrote:

Если он кольцевой, то почему на сайте он нарисован как двусторонний? На сайте ошибка, выходит, потому что нет направления «обратно».

Он не кольцевой. Он линейный, но кусок его представляет из себя кольцо. И ошибка у тебя в понимании. Формальный конец этого маршрута на петле есть.

Offline

Board footer

Powered by FluxBB