Как обозначать? (Part 1)

@ullus
а меня ещё интересует как разделять тротуары на перекрёстках. Ведь зачастую там не на 90° поворот, а закруглённый. Логично делить где то посередине поврота. Сможет ли понимать навигатор что надо свернуть именно с улицы на улицу, не получится ли такого, что будет что-то типа “сверните, идите прямо до улица такой то, сверните”. Мне кажется тут нужен какой-то аналог link’ов. Хотя может я и не прав и никакой сложности тут не будет.

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

Маршрутизатор показывает или маршрут строит?

Может, не условно-сквозной, а просто игнорирующий точки access?

Для начала хоть какой постройте в ЗАТО, но в обход военной базы. Только с точками access (как вы предлагаете работает).

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

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

Резюмируя: способ обозначения на way - универсален и требует конечного малого числа действий по учету ограничений при роутинге.
Способ обозначения на node - не универсален, требует неопределенного числа действий по учету ограничений из-за неопределенности направления действия и не может быть универсально подкреплен использованием полигонов с ограничением.

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

http://www.openstreetmap.org/relation/1428992#map=11/54.9114/43.3562

Какая разница, граф “упирается” в запрещающую точку или запрещеющую линию? Такое же количество “телодвижений” для роутера, чтобы понять с какой же стороны можно

Ну да, запреты поворотов тогда надо выпиливать, они очень “затратны”, там надо определять направление. Нужно просто на одну из дорог вешать private и будет счастье.

Запреты поворотов требуют всегда конечного числа действий, потому что там есть внятное отношение. Точка с access=private - это хрен знает что, сравнивать эти случаи нельзя.

Намёк был на то, что можно перенять опыт с from/via/to раз просто точки мало. Сейчас конечно заминусуют за перекладывать телодвижения и конвертера на мапера, но похоже не угодишь: теги плохо, отношения ещё хуже.

Хорошая идея, но это же таааак сложно :slight_smile:
А

— мне ни разу не удавалось, проще написать свой конвертер и маршрутизатор человеку, никогда не занимавшемуся программированием (утрирую, конечно, но…)
Ещё мне интересно: если наполнение базы происходит «не под что-то там», а как-то иначе, то «иначе» — это как? Подразумевается, видимо, что данные можно использовать и так и сяк, но они же по определению имеют конкретный формат, а в его рамках — некую «формулу описания/кодирования» того, что отражают эти данные. Считаю, что без оптимизации под конкретные задачи (без ущерба для прочих или с пренебрежительно малым) данные малопригодны. Это как писать (и публиковать) мудрые и полезные книги на языке, которым никто не владеет или владеют единицы (и при этом не факт, что будут читать).

Вот здесь (http://forum.openstreetmap.org/viewtopic.php?pid=575652#p575652) я полностью согласен с BushmanK. Для тех, кто не понял, о чем он говорит - прочитайте еще раз и вдумчиво.

Для тех кто сомневается пусть попробуют построить маршрут на или из такой территории

Вот два примера -

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

Пока что намного проще отбрасывать при построении маршрута часть графа с access=private (OSRM) либо не обращать внимание на сам access=private (Mapzen).

В идеале, конечно, чтобы (сферический в вакууме) навигатор мог строить маршрут внутри полигона, который сам имеет access=private, и наружу из такого полигона. Хотя, по логике вещей, во всех уважающих себя органах (организациях, предприятиях, территориях - частных, военных, коммерческих) с ограниченным доступом, всех посетителей встречают на КПП и сопровождают по территории до необходимого места - нечего гостям праздно шататься по территории. Также на таких территориях есть разные зоны з разным уровнем доступа, на которые даже не все резиденты имеют право доступа! Тут как быть {Private {Private {Private{…}}{Private}}}? А оно вообще за пределами этих территорий кому нужно?

То что есть целые закрытые населенные пункты, так это собственно для жителей не проблема - они и без навигатора знают как и куда им быстрее добраться :wink: - не настолько они и большие.

PS В текущей версии API, пока кроме топологической вложенности остальные отношения (relation) для большинства участников – что-то ОЧЕНЬ непонятное/страшное, так и будем мучаться :smiley:

Никто не сомневается. В этом и проблема: создать почву для более адекватной маршрутизации, а не

Не надо никакой «иерархии секретности», вам её на месте объяснят, если потребуется. А для навигации — достаточно показать сам факт «закрытости», ничего не отбрасывая, и предложить альтернативы (при их наличии).

Вот пример многоуровневых ограничений

  1. В садоводство(или еще куда) допуск ограничен.
  2. Внутри садоводства на частные участки допуск ограничен даже для тех, кто уже допущен в садоводство.

Допуски, как и секретность имеют уровни - это же банально.
А в ОСМ с этим не очень.

Навигатор может водить внутри одного уровня и выходить на меньший, но не может повышать уровень секретности допуска.

Не понятно что это значит вообще.

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

Опций нет потому что данных не было никогда для этого.

Смущают отношения значит тегами

visa:russian=no

по примеру

https://en.wikipedia.org/wiki/Template:Visa_policy_by_country
https://en.wikipedia.org/wiki/Template:Visa_requirements

Далее, внутри России, но до ЗАТО:
access=ru:ZATO-Zvyozdny

Внутри зато, но до военной части 123456:
access=ru:MO-123456

Пользователь в настройках навигатора втыкивает “у меня есть паспорт Россиянина”, access=ru:ZATO-Zvyozdny но не access=ru:MO-123456 и радуется.

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

  • Куда вешать ограничения (на точки, дороги целиком, территории)
  • Какие ограничения вешать, чтобы описать ситуацию адекватно
  • Что с этим всем великолепием может делать навигатор (мы не должны от этого отталкиваться, но можем об этом думать)

Про первую проблему я написал уже дофига и несколько раз. Мое аргументированное мнение - ограничения нужны на самих way.
Про вторую лично я вообще ничего не писал пока что.
На третью лично я только ссылался в том смысле, что когда сейчас кто-то говорит, например, “а вот, в навигаторе сейчас все прокладывается, потому что теги стоят на точках” - это полная хрень, потому что конвертер и навигатор просто игнорируют те данные об ограничениях, которые есть, а потому это вообще нихрена не аргумент за или против той или иной схемы.

Были и другие аргументированные мнения. Ваши аргументы также недостаточно сильны (см. контраргументы среди других мнений).

Увидел много абсурдных примеров, иронии и т.п., внятно аргументированных других мнений было предельно мало. Особенно, учитывая тот факт, что все пытаются отвечать всем и никому конкретно.

Не “нужны” они на way, подходов много как всегда:

Можно обойтись

  1. отношением из всех дорог внутри СНТ
  2. несколькими сотнями отношений из дорог на участке

Либо

  1. придумать тег access=ru:СНТ Ромашка (Васильевская область) для внешних заездов в СНТ
  2. придумать теги access=ru:СНТ Ромашка (Васильевская область):участок 1234 для внешних заездов на участки

Чем принципиально линии лучше отношений или точек вообще не сказано, зато много оффтопика.

Только вместо “уровней” типа “страна”-“зато”-“военная часть” я предлагаю конкретные объекты.

Доступа “ЗАТО” или “СНТ” не существует. У каждого объекта свой список “своих”. У каждого пользователя свой список “своих” объектов.

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

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

Заехал во дворы, так и едь по ним до подъезда, а если выехал на улицу, то это уже сквозной проезд.
Единственный выезд - это от точки старта со своего двора.

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

Классы “проездов” не решат доступ вообще никак. “проезды” не “зато”.

Откуда ему знать что мне можно в один ЗАТО, но нельзя в другой?
Откуда ему знать что мне можно в СНТ? В какой именно можно?