turn restriction: неудобный стандарт

Кто-нибудь станет уточнять дорогу и добавит нод между этими двумя - и?
Формат, бесспорно, не самый удобный, но ничего лучше пока не придумали

id нода, под который распространяется запрет, от этого не изменится.

При добавлении нодов ближайший нод (из новых добавленных) к node_via должен взять на себя роль from_node или to_node вместо предыдущего. Конечно это должно быть реализовано автоматически в редакторе, даже диалоговое окно юзеру показывать не надо.

Кстати так будет легче соединять веи, имеющие рестрикшины: после объединения запреты поворотов останутся без изменений.

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

А вообще нынешней системе больше не хватает возможности добавить несколько членов с ролью “to” :slight_smile:

//А вообще нынешней системе больше не хватает возможности добавить несколько членов с ролью “to”

а зачем тебе несколько членов с такой ролью? )

А чем плохо дробить? Мы же дробим, например, для maxspeed-а и для кусков с плохим surface. Хотя и то и другое можно было бы описать релейшином с двумя точками (start, end).

Отличная идея, хотя в данном случае для однозначности лучше указать way_id+node_start+node_end, тогда можно создавать скоростные профили с любой детальностью. Дробить же веи для этого похоже на вандализм :slight_smile:
Сложности с таким дроблением могут привести к тому, что раздробленые улицы мы начнем собирать обратно в рилейшены, например для того чтобы не менять одинаковые атрибуты у десятка веев вместо одного.

А как же перемещение точки? А если вей между точками все же разобьют, например, мостом. (сам себе противоречу: сначала сказал что можно через start/end, а теперь показываю что нельзя … плохо поступил, знаю :slight_smile:

Простите, а кому плохо от того, что вей раздроблен?

Это не плохо и нормально, если обусловлено объективными факторами (surface отличается, или еще какой-то атрибут). Но рилейшены являются надстройкой над примитивами, а получается наоборот - чтобы создать рилейшен “запрет поворота” мы вынуждены дробить примитив. По идее рилейшен должен создаваться на основе тех объектов которые уже есть, без любых других дополнительных условий типа дробления. Это примерно как при написании программы на C мы каждый раз лезли бы в ассемблерный код системных библиотек и правили их под сиюминутные нужды.

Господа, требуется ваша помощь.
Как инициировать обсуждение варианта с тремя точками, описанного в первом посте ?
Я дробить дороги не хочу, рилейшены создаю (пока без загрузки на сервер), но толку от них мало, если они не будут использоваться в конечном формате для навигации. Еще меньше шансов выжить без поддержки такого типа в JOSM, а это уже требует внимания зарубежных коллег.
Куда следует постить свои предложения - в Relation:restriction/Proposals или Relation:restriction/Talk, или вообще связываться с авторами JOSM ? Каковы шансы что на эти страницы вообще кто-то зайдет ?
Спасибо!

Создаёшь пропозал в Proposed_Features/

Можно ли править Proposed Features по результатам обсуждения (что-то добавить, убавить, переименовать) ? Сомневаюсь что могу всё описать правильно с первого раза :slight_smile:

http://wiki.openstreetmap.org/wiki/Proposed_features тут написано как всё делать. Пока пишешь draft - меняй как хочешь.

Когда после draft начнется стадия RFC — тоже можно менять (верно?).

Рисую то, почему точка->точка->точка “не катят”. Хотя об это уже ранее писалось

Проблем именно в том, что кто-то вставит точку “между” start и via

Это понятно, JOSM надо править, чтобы рестрикшен изменялся автоматом. Зато минимум конфликтов при объединении веев.

Честно признаюсь, из 2-х редакторов, которыми пользуюсь ни один не называется JOSM :smiley:
Первоочередным должен быть potlatch, через него все начинают. Надо решить проблему в принципе, а не писать надстройки под конкретный редактор… текущая система наиболее понятна. Единственное что, нужно что бы в роли via мог выступать way или node->way->node.

А почему бы не переделать роли: вместо from и to сделать from_forward, to_forward и from_backward, to_backward, чтобы было понятно откуда в каком направлении. Если в обоих направлениях запрещён левый поворот, просто 2 релейшена с теми же самыми путями.

А почему бы не провести по трём точкам вей, в котором написать restriction=yes? И запрет опишете, и релейшены не нужны.

PS: неудобство текущей схемы так и не было нормально обосновано.