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.***

#401 2010-11-22 18:03:03

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

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

Hind wrote:
zverik wrote:

2) если вместо forward и backward писать forward108, backward108, forward108:stop, backward108:stop и т.п., то можно корректно замапить все городские маршруты в одном отношении!

2) Гм, а в чем второй вопрос?

Я вижу в отношении две сущности, объединённых через название роли. Убери «forward»/«backward» — маршрут превратится в мешанину. Если есть forward:stop и backward:stop, обозначающих остановки на маршруте в одну сторону и в другую, то что мешает сделать следующий шаг: расширить классификацию? Сделать префиксы «NN:forward» и «NN:backward», где NN — номер маршрута, и собирать все веи и остановки в одно отношение. Для 108-го маршрута, например, будут веи с ролями «108:forward» и просто «108», остановки «108:forward:stop» и «108:backward:stop». Всё это так же красиво будет отражаться на карте, а роутинговым программам будет несложно догадаться, где едет автобус и где он останавливается в каком направлении. Конечно, редактирование получившегося отношения будет непросто, а новичкам вообще сложно объяснить целесообразность, но получается вполне стройная система.

Если после прочтения появились возражения вида «да это смешно» и «зачем вводить дополнительные префиксы», хочу спросить: зачем вообще вводить префиксы? Для чего писать forward и backward для каждого отрезка и точки, когда можно просто разбить отношение на два, foward и backward? Иначе для чего придуманы отношения?

Offline

#402 2010-11-22 18:03:41

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

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

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

1) туда/обратно находятся в двух релейшинах.
2) туда/обратно находятся в одном релейшине, при этом веи по которым автобус проезжает в обоих направлениях должны быть продублированны и вставлены в нужное место.

теги forward/backward ни учитываются(в веях).


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

Offline

#403 2010-11-22 18:06:59

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

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

Hind wrote:
Stud555 wrote:

В твоем маршруте есть разрыв. Для роутинга твой маршрут не подходит!!!

Никаких разрывов нет. Покажите, где он.

Загрузи в JOSM или тут http://www.openstreetmap.org/browse/relation/237344
Вот место разрыва:

Линия ул. Объединения (23437499)
Линия шоссе Энтузиастов (40492144) в роли forward

Эти две улицы не соединены.

Соединены. Был не прав. Маршруты лучше тут проверять: http://tools.doroga.tv/chekroute.php?id=237344

Last edited by Stud555 (2010-11-22 18:13:05)


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

Offline

#404 2010-11-22 18:19:40

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

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

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

Offline

#405 2010-11-22 18:42:30

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

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

Я так думаю, что каждый пускай делает так, как ему нравится. Лично я буду делать из двух релейшинов и ориентировать свой проект по прокладке маршрута(роутинга) именно на такие маршруты. Кто захочет присоединиться, переделает маршруты, ну а кто нет... На того суда и роутинга нет smile


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

Offline

#406 2010-11-22 18:49:58

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

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

2Zverik:
Я исхожу из здравого смысла: 1 машрут - 1 релейшен. Твой вариант создает две сущности из одной.
Объединить все маршруты в 1 не получится из-за ограничения на количество участников релейшена

Ilis wrote:

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

Tell me moar. Я замаппил один кольцевой маршрут, проблем не видел.

Stud555 wrote:

Кто захочет присоединиться, переделает маршруты, ну а кто нет... На того суда и роутинга нет smile

Золотые слова. Если схема победит в видовой борьбе, то так тому и быть. Мои возражения в основном сводятся к бурчанию по поводу семантики. :3

Last edited by Hind (2010-11-22 18:51:16)

Offline

#407 2010-11-22 18:54:54

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

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

zverik wrote:

Рендерить легко: ref одинаковый. «Кольцо» необязательно: достаточно вести маршрут от первой до последней остановки, а как он ездит по площадке на конечной — не важно. «Подчёркивать точку разрыва» — лолшто. Это похоже на усложение для роутинга в угоду упрощения для рендерера.

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

http://bus.ruz.net/routes/163
http://bus.ruz.net/routes/721

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

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

Offline

#408 2010-11-22 19:34:48

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

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

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

edit: вот оно

Last edited by zverik (2010-11-22 19:36:32)

Offline

#409 2010-11-22 19:40:53

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

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

zverik
блин.
Для особо невнимательных повторяю: в кольце НЕМНОЖКО остановок. Для юзеров бОльшей части маршрута он обычный и ни фига не кольцевой. С одного конца у него ярко выраженная конечная. Получается, что мы делаем из костыльной системы костыльное исключение из-за малозначительного кусочка.

Offline

#410 2010-11-22 20:06:54

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

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

Я внимательный, и твой пример укладывается в уже разобранные. Давай я объясню по пунктам.

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

1. первая остановка; к ней автобус, выезжая из отстойника, подъезжает пустым и проворный пассажир может занять сидячее место даже в час пик;
2. вторая остановка, до неё автобус собрал пассажиров с первой;
......
N-1. предпоследняя остановка. На ней в автобусе, кроме кондуктора, не выходят только те пассажиры, кому нужно на конечную;
N. конечная остановка: пассажиры выходят, кто не собирается, тех выгоняет кондуктор.

После конечной автобус идёт в парк или в отстойник, без пассажиров. Любой потенциальный пассажир, сев на остановке [1..N-1], может быть уверен, что доедет до конечной. Иногда человек, сев на N, может доехать до 1 и т.д., но это не обычная ситуация, и с вероятностью от 30% его прогонят, потому что автобус идёт в парк или в отстойник.

Отрезки маршрута собираются в отношение от первой к конечной остановке по порядку следования, роли forward и backward определяют направление движения относительно направления отрезка.

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

bus-route-koltso.gif

Здесь N=17. Бездумное применение схемы Oxomoa может кого-то заставить разбить маршрут на два отношения с конечной где-то между 7 и 11 остановками, но это явная ошибка, потому что пассажир может, например, сесть на 6-й остановке и доехать до 16-й. И никто ему слова не скажет, потому что таков маршрут. И роутинг должен об этом знать, разумеется, чтобы оптимизировать затраты времени.

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

Разбивается маршрут только если он на деле — два маршрута, и пассажир не может, сев на одной половине, сделать полукруг и выйти на той же остановке с другой стороны улицы.

И нарекая эту систему костыльной, хоть укажи, в чём костыли. В системе «forward:stop»-«backward:stop» они видны сразу (эти самые префиксы).

Offline

#411 2010-11-22 20:43:01

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

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

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

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

Offline

#412 2010-11-22 21:25:01

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

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

Я ничего не понял. Нарисуй.

Offline

#413 2010-11-22 21:43:47

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

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

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


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

Offline

#414 2010-11-22 21:48:39

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

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

По традиции highway=bus_stop рисуется в месте физической остановки, т.е. в стороне от дороги. Нередко встречаю эту точку в составе тротуара highway=footway, да иногда и сам так рисую: для роутинга полезно. Положение на дороге тоже допустимо, но в процентном отношении, как кто-то считал, на дороге ставят дай бог 10% точек. Учитывая дополнительные теги (shelter, lit), считаю, что нужно ставить в месте, где остановка находится физически (павильон или знак автобусной остановки). Да и плагинам по автоматическому поиску остановок для маршрута проще.

Offline

#415 2010-11-22 22:16:41

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

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

zverik wrote:

Я ничего не понял. Нарисуй.

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

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

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

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

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

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

Offline

#416 2010-11-23 09:07:03

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

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

Сейчас в ОСМ России порядка 861 маршрутов. Из них только 71 пригоден для роутинга без какой-то либо предварительной подготовки.

Примеры можно посмотреть тут, в том числе и на карте: http://stud555.sbin.ru/busobl.php

Last edited by Stud555 (2010-11-23 09:09:41)


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

Offline

#417 2010-11-23 10:29:56

Dmitry Terentiev
Member
From: Мурманск
Registered: 2008-09-05
Posts: 366

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

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


www.MurmanskOSM.ru - валидатор адресов Мурманской области по данным  http://www.cikrf.ru

Offline

#418 2010-11-23 10:55:16

Miroff
Member
Registered: 2010-01-26
Posts: 172

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

Dmitry Terentiev wrote:

Я за один номер - одно отношние.

Это довольно гнилая идея. В Томске, например, есть два маршрута #5, которые действуют в разных концах города и никак не пересекаются.

Offline

#419 2010-11-23 11:00:06

Dmitry Terentiev
Member
From: Мурманск
Registered: 2008-09-05
Posts: 366

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

Miroff wrote:
Dmitry Terentiev wrote:

Я за один номер - одно отношние.

Это довольно гнилая идея. В Томске, например, есть два маршрута #5, которые действуют в разных концах города и никак не пересекаются.

Интересно. И оператор один? Наверное, чтобы никто не догадался...


www.MurmanskOSM.ru - валидатор адресов Мурманской области по данным  http://www.cikrf.ru

Offline

#420 2010-11-23 11:22:03

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

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

Dmitry Terentiev wrote:

Я за один номер - одно отношние.

Чего только люди не придумают, лишь бы не придерживаться политики "один маршрут - одно отношение". :3

Offline

#421 2010-11-23 11:25:37

Miroff
Member
Registered: 2010-01-26
Posts: 172

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

Dmitry Terentiev wrote:

Интересно. И оператор один? Наверное, чтобы никто не догадался...

AFAIK, там понятие оператора ничего не значит. Мэрия утверждает список маршрутов, а возят частные перевозчики. У каждого второго автобуса свой "оператор". Дубликат, скорее всего, получился из-за того, что один из маршрутов сезонный дачный, а второй —городской. Просто кто-то обсчитался, но у нас-то truth on the ground.

Offline

#422 2010-11-23 11:27:45

Miroff
Member
Registered: 2010-01-26
Posts: 172

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

Hind wrote:

Чего только люди не придумают, лишь бы не придерживаться политики "один маршрут - одно отношение". :3

Вопрос, что считать маршрутом. ИМХО: маршрут — путь, который можно проделать в автобусе не вылезая из него.

Offline

#423 2010-11-23 11:41:34

Dmitry Terentiev
Member
From: Мурманск
Registered: 2008-09-05
Posts: 366

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

ИМХО, большинство считает маршрутом: туда-обратно, поэтому и процент такой маленький.  Насколько я увидел, только в Псковской и Кировской области направления разделены. Но можно и переделать. Валидатор должен помочь развитию этой схемы. Еще с тегами правильными определиться.


www.MurmanskOSM.ru - валидатор адресов Мурманской области по данным  http://www.cikrf.ru

Offline

#424 2010-11-23 11:49:37

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

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

Miroff wrote:

Вопрос, что считать маршрутом. ИМХО: маршрут — путь, который можно проделать в автобусе не вылезая из него.

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

Offline

#425 2010-11-23 11:54:10

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

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

Через валидатор проходят маршруты в которых от первой точки первого вея нет разрывов до последней точки последнего вея.
Направление вея (или forward/backward) не учитывается. Веи без роли (т.е. туда и сюда) не дублируются.


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

Offline

Board footer

Powered by FluxBB