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.***
#451 2010-11-23 18:52:37
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
Вот так выглядит этот маршрут. Даже если рассматривать его как два направления, они будут между собой пересекаться в точке перехода кольца в линию. И никакого смысла сливать их в одну линию разделяя всё остальное нет - никто так не должен ехать, и навигатор не должен так предлагать. Не надо придумывать нелепые причины для объединения направлений в одно.
Сама по себе идея разделить маршрут на два направления неплоха. Но только при условии, что любой маршрут делится на два изолированных направления. При этом вовсе необязательно делать два релейшна и даже необязательно делать направление ролью. Можно, например, вставить в нужном месте точку-разделитель с соответствующей ролью.
Маршрут, который я нарисовал выше, не делится на изолированные направления. Однако он, тем не менее, делится на два пересекающихся направления. Если бы адепты деления были последовательны, они бы его так бы и делили.
Offline
#452 2010-11-23 20:06:41
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: Маршруты общественного транспорта
Ну, не любой маршрут делится на два направления, конечно.
И при чём здесть «изолированные направления»? Могут быть одни и те же веи в нескольких направлениях. В схеме по этому поводу ничего не указывается.
Точка-разделитель — ещё одна сущность, назначение которой не очень понятно.
Ты нарисовал линии, теперь по каждой линии, как я понимаю, можно нарисовать отношения с упорядоченными остановками — и всё будет ок. Я не очень понимаю фразу про «адептов деления».
Offline
#453 2010-11-23 20:13:26
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
zverik
точка разделитель - это пример. Вообще проблема в том, что роли релейшнов пишутся одним словом. Если бы на роль можно было повесить несколько тэгов - всё бы резко упростилось, и не нужно было бы городить зоопарк. Сейчас главная проблема с маршрутами даже не в том, что остановки задаются разными ролями - это как раз нормально. Проблема в том, что смысл слов "forward" и "backward" определён нечётко и различается для остановок с путями.
Для разбиения маршрута на два нужны веские основания. Попытка навязать всем остановкам одинаковые роли - недостаточное основание.
Offline
#454 2010-11-23 20:18:58
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: Маршруты общественного транспорта
так не надо вешать forward и backward на остановки.
а на пути — относительно направления вея, как в других применениях.
я не понимаю, зачем городить сложные схемы с тэгами вместо ролей и подобным, когда есть простые.
Offline
#455 2010-11-23 20:31:45
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
я не понимаю, зачем городить сложные схемы с тэгами вместо ролей и подобным, когда есть простые.
Понимаешь в чём проблема? Вместо того, чтобы обозначить остановки в одну и в другую сторону разными ролями, ты создаёшь лишний релейшн на каждый маршрут, плюс ещё создаёшь для некоторых маршрутов остановки по обе стороны дороги с одинаковыми ролями.
В белорусской адресации есть отношение address=house, обозначающее дом. Однако релейшн на каждый дом - слишком большой перерасход по сложности структуры и сложности дальнейшего обслуживания. Поэтому почти все дома адресуются костылём. И вообще, сложность этой схемы привела к тому, что никто её так и не использует.
В схеме Oxomoa на каждую остановку предлагается навесить relation. Это обстоятельство гарантирует, что схема эта никогда на практике работать не будет.
Мне не кажется ненормальным использование ролей релейшнов в целях указания свойств остановок в данном конкретном маршруте. Это просто, наглядно и экономно. Если возникает конфликт в использовании forward/backward - можно использовать другие слова. Для остановок только для высадки можно указывать stop:exit. Только для посадки - stop:enter. Это именно то, что нужно для навигации по маршруту, и это вполне приемлемо работает в замороченных случаях.
Offline
#456 2010-11-23 21:12:27
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: Маршруты общественного транспорта
Но суть схемы-то не в том, что создаётся тысяча отношений. Напротив, часто одно-два отношения на маршрут — это максимум. Да, остановки можно вырисовать подробно, нарисовать stop_position, саму остановку, платформу, объединить всё это в отношение stop_area. Точно так же можно в лесу вырисовывать просеки, отмечать type=* species=*, ставить natural=tree — а можно просто обвести всё natural=wood, и будет достаточно хорошо. Отлично даже для большинства применений.
Суть схемы в том, что маршрут из бессвязного набора отрезков и точек превращается в логичную последовательность, по которой можно проследить за автобусом от начала до конца. Пропущенные отрезки пути становятся не досадным упущением, а явной ошибкой, заметной на стадии рисования. Остановки из точек «вон там я видел, как останавливается автобус» в упорядоченные узлы маршрута, где все —и пассажиры, и программы роутинга — имеют ясное понятие о том, что следует за чем, и могут проводить какие-то вычисления — например, по длительности поездки. Выдавать количество остановок, которые нужно проехать; говорить: «выйди после такого-то перекрёстка со светофором».
Мой вопрос в том, зачем вообще отмечать остановки в разные стороны разными ролями? Чем они отличаются? Там остановка и там остановка.
Ты говоришь, что forward:stop и backward:stop «просты, наглядны и экономны». Но в теме постоянно появляются вопросы, относительно чего forward и backward. На странице отношения непонятно, какие из точек к какому направлению относятся. А просто stop всяко экономнее и быстрее для понимания, чем stop с префиксами. То есть, все три прилагательных неверны, и более применимы к схеме Oxomoa.
Ты предлагаешь stop:exit. Вместе с forward:stop. Получается forward:stop:exit? Просто и наглядно indeed.
Offline
#457 2010-11-23 21:21:16
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Если возникает конфликт в использовании forward/backward - можно использовать другие слова. Для остановок только для высадки можно указывать stop:exit. Только для посадки - stop:enter. Это именно то, что нужно для навигации по маршруту, и это вполне приемлемо работает в замороченных случаях.
Мне тоже кажется, что forward/backward только вносят путаницу. Нужно ввести новые теги по названиям которым четко было бы понятно, что вей принадлежит маршруту "туда" и дублировать этот вей с пометкой "обратно". А направление вея вообще не принципиально. И по поводу остановок тоже согласен.
Только вот предлагаю остановки делать частью вея, как в РБ. Или по крайней мере обязательно вставлять лишнюю ноду возле остановок.
(это пока только не до конца обдуманное предположения о привязывании остановки к вею, может в годе обдумывания родится более приемлемое решение).
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#458 2010-11-23 21:38:23
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
Мой вопрос в том, зачем вообще отмечать остановки в разные стороны разными ролями? Чем они отличаются? Там остановка и там остановка.
А чем отличаются маршруты номер 666? Там 666 и тут 666. Почему их два? Не надо заниматься словесной демагогией. Если смысл роли определён чётко - не будет глупых вопросов.
Ты говоришь, что forward:stop и backward:stop «просты, наглядны и экономны». Но в теме постоянно появляются вопросы, относительно чего forward и backward. На странице отношения непонятно, какие из точек к какому направлению относятся. А просто stop всяко экономнее и быстрее для понимания, чем stop с префиксами.
Я зря написал предложение использовать другие слова вместо forward/backward? Все проблемы - не от использования разных ролей, а от того, что в ролях используются одни и те же слова с существенно разным смыслом.
Offline
#459 2010-11-23 21:56:02
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
Мне тоже кажется, что forward/backward только вносят путаницу. Нужно ввести новые теги по названиям которым четко было бы понятно, что вей принадлежит маршруту "туда" и дублировать этот вей с пометкой "обратно".
Да, это правильная идея, и в случае с тэгами роли хорошо реализуемая. Но в текущей ситуации мы получим какую-нить какафонию типа forward:forward или backward:forward, где одно слово означает направление по маршруту, а второе - относительно направления вея. Да, можно изменить слова в одной из частей, но это всё равно будет неудобно.
Веи просто должны сортироваться по порядку, а forward/backward - отражать направление относительно вея. Есть гораздо более простое решение, чем делить на два релейшна - включить в отношение точку разрыва, скажем, с ролью split. До неё будет одна сторона маршрута, после - другая. Если вместо split стоит какой-нить official_split - значит, тут маршрут прерывается лишь формально, на деле автобус едет дальше. Использование такого объекта позволит также обойтись только ролью stop для остановок.
Хотя на самом деле есть и такое соображение, что реальное разбиение на направления движения по маршруту капитально нужно только для остановок. Ведь для пассажира роутинг идёт именно по ним.
А направление вея вообще не принципиально.
Не согласен. В этом случае надо анализировать вей, найти, каким концом он цепляется к предыдущему мемберу, а каким - к следующему, что дополнительно усложняет анализ. Если веи хоть чуть-чуть криво отсортированы - определить направление движения будет нельзя. Плюс если ещё вей замкнут и в точке замыкания крепится как к предыдущему, так и к следующему вею, мы получим алгоритмически неразрешимый случай - неизвестно, в какую сторону ехать по кругу.
Только вот предлагаю остановки делать частью вея, как в РБ. Или по крайней мере обязательно вставлять лишнюю ноду возле остановок.
(это пока только не до конца обдуманное предположения о привязывании остановки к вею, может в годе обдумывания родится более приемлемое решение).
Кстати, интересная мысль: перед остановкой с ролью stop ставить мембер stop:waypoint - роутинговую ноду на линии. Алгоритм должен будет считать stop:waypoint и следующий за ним stop связанными объектами. Роутинг будет идти между stop:waypoint, а пассажиру будет показываться перемещение между stop. Мда, число костылей растёт...
Offline
#460 2010-11-23 22:19:13
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: Маршруты общественного транспорта
ну нафига, если уже есть public_transport=stop_position?
нафига по каждому, даже самому мелкому вопросу, изобретать свой, русский путь?
и после этого жаловаться, что сплошные костыли получаются?
блин...
Offline
#461 2010-11-24 02:22:26
- wildMan
- Member

- From: Minsk
- Registered: 2008-03-05
- Posts: 509
Re: Маршруты общественного транспорта
...В белорусской адресации есть отношение address=house, обозначающее дом. Однако релейшн на каждый дом - слишком большой перерасход по сложности структуры и сложности дальнейшего обслуживания. Поэтому почти все дома адресуются костылём.
как у автора схемы у меня к вам один единственный вопрос - вы хотябы драфт прочитали прежде чем такую глупость сказать?
И вообще, сложность этой схемы привела к тому, что никто её так и не использует...
пруфлинк пожалуйста. я например прямо сейчас наблюдаю более 2к использований. причем не только в РБ.
--
OSMF BY Team
Offline
#462 2010-11-24 07:41:58
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
как у автора схемы у меня к вам один единственный вопрос - вы хотябы драфт прочитали прежде чем такую глупость сказать?
Читал, конечно. Было бы красиво на каждый дом вешать house, но ведь пришлось придумать второй вариант...
пруфлинк пожалуйста. я например прямо сейчас наблюдаю более 2к использований. причем не только в РБ.
Ну и пусть несколько улиц Москвы так обозначено - всё равно это капля в море, да и ни в один навигатор это не попадёт.
Offline
#463 2010-11-24 10:44:18
- Hind
- Member

- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Маршруты общественного транспорта
Читал, конечно. Было бы красиво на каждый дом вешать house, но ведь пришлось придумать второй вариант...
Явно не читали. Там не на каждый дом вешается релейшен.
Offline
#464 2010-11-24 12:42:12
- wildMan
- Member

- From: Minsk
- Registered: 2008-03-05
- Posts: 509
Re: Маршруты общественного транспорта
wildMan wrote:как у автора схемы у меня к вам один единственный вопрос - вы хотябы драфт прочитали прежде чем такую глупость сказать?
Читал, конечно. Было бы красиво на каждый дом вешать house, но ведь пришлось придумать второй вариант...
как уже указали - явно не читали.
релейшен вешается ТОЛЬКО в исключительных случаях.
пруфлинк пожалуйста. я например прямо сейчас наблюдаю более 2к использований. причем не только в РБ.
Ну и пусть несколько улиц Москвы так обозначено - всё равно это капля в море, да и ни в один навигатор это не попадёт.
как минимум вы подтасовываете факты. карты для навител и гармин делаются именно с использованием данной схемы.
--
OSMF BY Team
Offline
#465 2010-11-24 12:47:43
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: Маршруты общественного транспорта
как уже указали - явно не читали.
Это вы меня невнимательно читаете. Я говорю о том, что _логично_ все дома надо означать _одинаково_ - релейшнами house, используя тот же принцип, что и для других уровней иерархии. Но это неудобно, поэтому большинство домов обозначается _не так_.
Я говорил про весь мир. Указанные карты делаются ТОЛЬКО для РБ и ТОЛЬКО с использованием препроцессора, который подкручивает дампы до совсем другой схемы. Все остальные использования этой схемы по всей планете идут насмарку, поэтому схема эта и не будет работать.
Last edited by Alexandr Zeinalov (2010-11-24 12:52:07)
Offline
#466 2010-11-24 13:44:24
- wildMan
- Member

- From: Minsk
- Registered: 2008-03-05
- Posts: 509
Re: Маршруты общественного транспорта
wildMan wrote:как уже указали - явно не читали.
Это вы меня невнимательно читаете. Я говорю о том, что _логично_ все дома надо означать _одинаково_ - релейшнами house, используя тот же принцип, что и для других уровней иерархии. Но это неудобно, поэтому большинство домов обозначается _не так_.
повторяю ещё раз
"релейшен вешается ТОЛЬКО в исключительных случаях."
не только для домов, а для всех уровнях иерархии. даже для нас. пункта - релейшен создаётся только в исключительных случаях. этот случай - наличие адресации внутри этого пункта (по РБ - меньше полупроцента нас. пунктов). и это указано в драфте схемы. именно для этого схема и создавалась чтобы не вешать релейшен на каждый объект.
иначе просто использовалась бы явно неудачная схема - http://wiki.openstreetmap.org/wiki/Rela … _Addresses
откуда вы придумали своё "логично" - непонятно.
Я говорил про весь мир. Указанные карты делаются ТОЛЬКО для РБ и ТОЛЬКО с использованием препроцессора, который подкручивает дампы до совсем другой схемы. Все остальные использования этой схемы по всей планете идут насмарку, поэтому схема эта и не будет работать.
данный поток мыслей не осилил.
все карты на основе OSM создаются препроцессингом того или иного толка. ибо для каждого результата - нужна собственная обработка.
для рендера в мапник это: api -> *.osm -> mapnik pg (причем для рендера мапника для USA есть дополнительные телодвижения для их автомагистралей)
для навитела это: api -> *.osm -> osm2mp -> *.mp -> gpsmapedit
для гармина это: api -> *.osm -> osm2mp -> *.mp -> mp-housesearch.pl -> *.mp -> gpsmapedit
или api -> *.osm -> osm2mp -> *.mp -> mp-housesearch.pl -> *.mp -> mp2shp -> MPC
для ситигида - тоже используется препроцессинг mp2mp как я понимаю
да. для РБ, используется собственный препроцессор. и как это можно считать недостатком?
Last edited by wildMan (2010-11-24 13:46:08)
--
OSMF BY Team
Offline
#467 2010-11-25 08:41:17
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Я конечно извиняюсь, что встреваю в Ваш спор. Но о чем Вы спорите? О "Маршрутах общественного транспорта"? Где хоть слово или совет по роутингу для общественного транспорта?
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#468 2010-11-25 13:39:14
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Покрасил ошибки http://stud555.sbin.ru/buserror.php
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#469 2010-11-29 09:09:01
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Новое в общественном транспорте "Станции пересадок" http://stud555.sbin.ru/
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#470 2010-12-01 09:05:11
- Дмитрий Кудряшов
- Member
- From: Санкт-Петербург, Пушкин
- Registered: 2010-06-15
- Posts: 444
Re: Маршруты общественного транспорта
Покрасил ошибки http://stud555.sbin.ru/buserror.php
При формировании отчёта иногда неправильно заполняется графа Название - назание маршрута берётся из другого существующего маршрута.
В данном случае "ж.д. ст. "Александровская""-"улица Костюшко" это маршрут № 155 в Санкт-Петербурге.

Offline
#471 2010-12-01 10:14:59
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Stud555 wrote:Покрасил ошибки http://stud555.sbin.ru/buserror.php
При формировании отчёта иногда неправильно заполняется графа Название - назание маршрута берётся из другого существующего маршрута.
В данном случае "ж.д. ст. "Александровская""-"улица Костюшко" это маршрут № 155 в Санкт-Петербурге.
Спасибо за ошибку. Поправил.
P.S. Маршруты стали активно пополняться и приводиться в человеческий вид. Я рад ![]()
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#472 2010-12-01 10:47:39
- Дмитрий Кудряшов
- Member
- From: Санкт-Петербург, Пушкин
- Registered: 2010-06-15
- Posts: 444
Re: Маршруты общественного транспорта
Дмитрий Кудряшов wrote:При формировании отчёта иногда неправильно заполняется графа Название ...
Поправил.
P.S. Маршруты стали активно пополняться и приводиться в человеческий вид. Я рад
Спасибо.
Ну так, если можно проверять, отображать и роутинг планируется - появляется стимул. ![]()
Можно подкинуть пару мыслей для Вашей "проверялки"?
1. У точек обозначающих остановки может быть тег route_ref. Мне кажется, было бы полезно проверять для остановок, входящих в релейшен, наличие этого тега, и второй этап: при его наличии - проверить, если в нём номер проверяемого маршрута.
2. И обратная проверка: поискать остановки в окрестностях маршрута, которые в теге route_ref имеёт номер искомого маршрута, но не вошли в релейшен маршрута, ни в прямой, не в обратный (при варианте - разные релейшины на разные направления).
Спасибо за Ваше "подвижничество". ![]()
Offline
#473 2010-12-01 13:03:44
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Можно подкинуть пару мыслей для Вашей "проверялки"?
Я всегда "за" новые идеи. Как говориться одна голова хорошо, а больше - это уже мутант ![]()
1. У точек обозначающих остановки может быть тег route_ref. Мне кажется, было бы полезно проверять для остановок, входящих в релейшен, наличие этого тега, и второй этап: при его наличии - проверить, если в нём номер проверяемого маршрута.
Я такой тег первый раз вижу. Учту. Добавлю эту идею в свой блокнотик. Если можно, примерчик где есть этот тег?
Спасибо за Ваше "подвижничество".
Спасибо и вам всем за поддержку ![]()
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline
#474 2010-12-01 16:05:15
- Дмитрий Кудряшов
- Member
- From: Санкт-Петербург, Пушкин
- Registered: 2010-06-15
- Posts: 444
Re: Маршруты общественного транспорта
Я такой тег первый раз вижу. Учту. Добавлю эту идею в свой блокнотик. Если можно, примерчик где есть этот тег?
я его нашёл здесь: http://wiki.openstreetmap.org/wiki/RU:T … 3Dbus_stop
Статистика в Европе:
bus_stop - 562135 (100%)
route_ref - 43132 (7,7%_
источник - http://tagwatch.stoecker.eu/Europe/En/t … _stop.html
Offline
#475 2010-12-01 18:51:41
- Stud555
- Member

- From: г.Истра, МО
- Registered: 2010-07-05
- Posts: 572
- Website
Re: Маршруты общественного транспорта
Stud555 wrote:Я такой тег первый раз вижу. Учту. Добавлю эту идею в свой блокнотик. Если можно, примерчик где есть этот тег?
я его нашёл здесь: http://wiki.openstreetmap.org/wiki/RU:T … 3Dbus_stop
Статистика в Европе:
bus_stop - 562135 (100%)
route_ref - 43132 (7,7%_
источник - http://tagwatch.stoecker.eu/Europe/En/t … _stop.html
Этот тег "route_ref=66A;123;456;s78;x9" самый нужный
Обязательно теперь буду на него обращать внимание.
Мапим прям с дивана город Дедовск.
Валидаторы: Почта России, Как проехать в деревню . Разработка ОСМ.РУ, вики
Offline