You are not logged in.
- Topics: Active | Unanswered
Announcement
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: Маршруты общественного транспорта
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: Маршруты общественного транспорта
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: Маршруты общественного транспорта
Я так думаю, что каждый пускай делает так, как ему нравится. Лично я буду делать из двух релейшинов и ориентировать свой проект по прокладке маршрута(роутинга) именно на такие маршруты. Кто захочет присоединиться, переделает маршруты, ну а кто нет... На того суда и роутинга нет ![]()
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#406 2010-11-22 18:49:58
- Hind
- Member

- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Маршруты общественного транспорта
2Zverik:
Я исхожу из здравого смысла: 1 машрут - 1 релейшен. Твой вариант создает две сущности из одной.
Объединить все маршруты в 1 не получится из-за ограничения на количество участников релейшена
куча других проблем, в частности с пересадками, кольцевыми маршрутами, и несимметричными маршрутами
Tell me moar. Я замаппил один кольцевой маршрут, проблем не видел.
Кто захочет присоединиться, переделает маршруты, ну а кто нет... На того суда и роутинга нет
Золотые слова. Если схема победит в видовой борьбе, то так тому и быть. Мои возражения в основном сводятся к бурчанию по поводу семантики. :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: Маршруты общественного транспорта
Рендерить легко: 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 определяют направление движения относительно направления отрезка.
Чаще всего первых и конечных остановок на маршруте две: в начале и в конце. Но бывают т.н. кольцевые маршруты, которые оборачиваются в середине, или вообще делают полноценное кольцо. Вот так:

Здесь 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: Маршруты общественного транспорта
Я ничего не понял. Нарисуй.
Автобус 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: Маршруты общественного транспорта
Я за один номер - одно отношние.
Это довольно гнилая идея. В Томске, например, есть два маршрута #5, которые действуют в разных концах города и никак не пересекаются.
Offline
#419 2010-11-23 11:00:06
- Dmitry Terentiev
- Member
- From: Мурманск
- Registered: 2008-09-05
- Posts: 366
Re: Маршруты общественного транспорта
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: Маршруты общественного транспорта
Я за один номер - одно отношние.
Чего только люди не придумают, лишь бы не придерживаться политики "один маршрут - одно отношение". :3
Offline
#421 2010-11-23 11:25:37
- Miroff
- Member
- Registered: 2010-01-26
- Posts: 172
Re: Маршруты общественного транспорта
Интересно. И оператор один? Наверное, чтобы никто не догадался...
AFAIK, там понятие оператора ничего не значит. Мэрия утверждает список маршрутов, а возят частные перевозчики. У каждого второго автобуса свой "оператор". Дубликат, скорее всего, получился из-за того, что один из маршрутов сезонный дачный, а второй —городской. Просто кто-то обсчитался, но у нас-то truth on the ground.
Offline
#422 2010-11-23 11:27:45
- Miroff
- Member
- Registered: 2010-01-26
- Posts: 172
Re: Маршруты общественного транспорта
Чего только люди не придумают, лишь бы не придерживаться политики "один маршрут - одно отношение". :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: Маршруты общественного транспорта
Вопрос, что считать маршрутом. ИМХО: маршрут — путь, который можно проделать в автобусе не вылезая из него.
А вот во всех маршрутках и автобусах, в которых я ездил, висит бумажка "Утвержденный машрут" и его (а не "их") схема.
Offline
#425 2010-11-23 11:54:10
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Через валидатор проходят маршруты в которых от первой точки первого вея нет разрывов до последней точки последнего вея.
Направление вея (или forward/backward) не учитывается. Веи без роли (т.е. туда и сюда) не дублируются.
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline