Двойная сплошная = Две Линии

Эта тема плотно пересекается с Расстановка maxspeed или гвоздик в гробик одновейности.
Тут и там приводятся ссылки на правила, знаки, определения и т.п. Может быть стоит взглянуть на проблему с другой стороны?
Минимум водички и максимум сухого остатка чтобы :slight_smile:
На мой взгляд требуется при относительной простоте исполнения достичь обеспечения грамотной маршрутизации с сохранением приемлемой наглядности (красоты рендера) без ущерба принципу «рисуй то, что в реале».
Подход такой:
Нельзя скрещивать ежа с ужом в плане отрисовки в соответствии с применением официальной терминологии из правил, законов и проч.
Нельзя забывать о первостепенном назначении карты (как графически, так и программно-алгоритмически).
Почему бы не рассматривать каждый way как поток с определённым направлением? Что собственно и есть на практике. Неважно сколько там полос, какая разметка, чем разделены они физически. Количество полос задаётся элементарно, есть разделительные физические барьеры - они рисуются, нет их - не рисуются, не рендерятся и никому не мешают. В чём загвоздка?
А она - в прописывании скоростных режимов разных направлений-потоков (при одновейной отрисовке) и вынужденной костыльности (как я полагаю, из-за неподдержки конвертерами и алгоритмами-прокладчиками маршрутов соответствующего отношения) запрета разворотов на перекрёстках вида #
Кому сильно экстренно приспичит развернуться - развернётся себе (если физически это возможно) хоть через 10 двойных сплошных. Или по навигатору будет сверять такую возможность? :smiley:
Визуально нет никакого страха в показе одной проезжей части двумя линиями в каждом направлении. Карта - это схема, а она не может и не должна что-то другое предлагать в графическом плане, кроме схематичности. Для «другого» - спутниковые снимки HR.

LLlypuk82, щас тебя закидают помидорами. Большинство тут против такого подхода.

Antisida, а я из них томатного соку себе сделаю :laughing:

Потому что hw=* - не “поток с определённым направлением.” При таком подходе дойдём до hw=“полоса движения” (они же тоже в разные стороны бывают). Что категорически не правильно.
Двойная сплошная или одинарная - по ПДД ни какой разницы нет абсолютно! А КоАП вообще не знает о существовании ни одинарной, ни двойной сплошной.
Так что определять количество веев через “двойную сплошную” - это как измерять температуру на Северном полюсе через количество взмахов крыльев воробья в период спаривания.

LLlypuk82, это называется “поменьше водички”? По-моему, все вышло наоборот.
В теории, при описании роутингового графа с реальной системой ограничений, никакой проблемы не возникает.

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

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

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

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

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

по-моему, одна проезжая часть = один вей - самое разумное для геометрии. все остальное можно обозначить тегами

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

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

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

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

Это всё хорошо, но дело в том, что некоторые начинают делить и такие улицы: https://maps.google.ru/?ll=59.858868,30.377455&spn=0.012886,0.074587&t=m&z=14&layer=c&cbll=59.858874,30.377488&panoid=q6r53lrNP83hxLXKQXoaXg&cbp=12,334.13,0,6.73
где ничего из перечисленного не наблюдается. Явные случаи споров не вызывают, вопрос именно про пограничные случаи.

А как запретить разворот? Это относится и к узким дорогам с одной полосой в каждом направлении. Также снимается необходимость создавать запретные отношения на повороты из прилегающих территорий через сплошную разметку (или под знак).
Другими словами я не понимаю в чём заключается проблема двухвеев. Кто бы назвал хоть одну. :slight_smile:

А как указать, что физически можно разворачиваться? Рисовать дополнительные рёбра через каждые 2 метра?

Опять посмотрим с точки зрения топологии.

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

Если возможность разворота определяется разметкой и правилами (то есть логически), то и в графе она должна (и может) быть описана логически, то есть дополнительными тэгами. То, что сейчас нет принятой практики для обозначения наличия разнообразной разметки, означает только то, что если это обозначение кому-то нужно, его можно ввести и начать использовать. Например, на участок с двойной сплошной можно ставить что-то вроде no_u_turn=both, если с одной стороны - прерывистая, то no_u_turn=forward или backward соответственно (обозначая направление движения, из которого возможен разворот, относительно направления самого way).

Желание уместить решение в существующую схему выглядит странным и нелогичным.

Ваше желания напихать побольше ненужных тегов мне кажется странным и нелогичным.

Вот именно про это я и говорил. Упрощение за счёт ухудшения.

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

Неужели есть навигаторы под скорую и полицию? :smiley:

Paspartu, попытка поупражняться в оверквотинге, хамстве и голословности засчитана.
То, что я привел выше - это и есть аргументы, подводящие к выводу в конце.
Если вам лично логика не ясна или недоступна, могу слегка пояснить.

Во-первых, есть принцип truth on the ground, который в этой ситуации выражается в том, что при “принудительной двухвейности” нужно городить лишние перемычки, которых реально не существует (реально существует одно дорожное полотно, для обозначения которого достаточно одной линии и тэгов, которые описывают логику возможных вариантов движения). Хотя карта и является абстракцией, объекты в ней (то есть линии) все же должны соответствовать чему-то физически существующему.

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

Желающие учитывать эту возможность или невозможность, сооружая нечто двухвейное несоответствующее реальности, дабы заставить навигатор делать то, чего он изначально не умеет, нарушают сразу два принципа - не мапить под навигатор и truth on the ground.

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

Еще раз напомню, что OSM - это не карты для навигаторов, это база данных, которая должна максимально адекватно (как в физическом, то есть пространственном смысле, так и в логическом) описывать реальность.

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

Все прекрасно понимают (надеюсь), что во всей «OSM-кухне» музыку заказывают программисты, отвечающие за код рендера, алгоритмы поиска, маршрутизацию, конвертацию, средства редактирования данных.
Остальные же пользуются теми инструментами и результатами, которые обеспечиваются вышеуказанным «набором»
Мы здесь можем до посинения, до пены спорить, обсуждать, предлагать :slight_smile: А толку?
Пока шестерёнки OSM-механизма не будут смазаны достаточно плотным взаимодействием нас (маперов обыкновенных) с программерами,а их - между собой, он будет скрипеть, пыхтеть, но ехать по инерции, по накатанному (старому-доброму).
И пока не появятся новые инструменты, схемы, возможности (сейчас - здоровенные журавли в Космосе), по моему скромному суждению следует довольствоваться сухонькой синичкой (по возможности бодрой, шустрой и - в руках чтобы) и не дать ей загнуться.
Мой вариант считаю более-менее жизнеспособным. Гипотетическое всеобщее сотрудничество с обратной связью - увы, едва ли.
Upd «Лебедь, рак и щука» сплошь.

LLlypuk82 Это звучит почти как демагогия. “Давайте нагородим костылей, чтобы кое-как кое-где навигатор точно не предложил через сплошную развернуться” - ровно к этому сводится то, что вы пишете.
Вы бы (вместе с примкнувшими) потратили силы на то, чтобы выработать поправки к схеме и лично поговорить с авторами конвертеров.
А то вся эта тирада про скрипучую машину звучит очень странно в свете того, что желающие что-то дополнить никогда сами, в первую очередь, не идут на контакт с теми, от кого зависит поддержка этих дополнений. Вместо этого очень много сил тратится на самооправдательную риторику по поводу каких-то костылей, само существование которой указывает на то, что вы и сами понимаете, что это плохой костыль, но готовы им пользоваться ради сомнительной выгоды.

Во первых - есть (тот же режим Экстренный в Ситигиде), а во вторых - кроме навигаторов есть системы планирования и диспетчерирования, где такая возможность отнюдь не лишняя.