Клуб Народной карты

Доступность ТС в условиях движения

Есть в условиях движения момент,  с которым многие сталкиваются ежедневно и который лично меня постоянно раздражает. Связан он с "ручным" проставлением доступности для разных видов ТС . Задачу эту, ввиду природной лени, очень хочется упростить,  сведя количество кликов мышью к бесконечно малому числу (в идеале - нулю). Предлагаю ввести простой алгоритм в самом редакторе, который будет учитывать изначальную доступность ТС на отрезках дорог.

Чтобы было понятнее о чём речь, рассмотрим пример. Имеется детский садик со своей территорией, на которую через калитку заходит пешеходка (класс 10) и параллельно с ней внутрикварталка (класс 8) через ворота в другом конце забора. Ясно как день - нужны условия движения в узловых "заборных" точках.  Okay.

Здесь они уже проставлены, но допустим, что их нет.

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

Изначально выбраны эти:

А должны быть выбраны только эти:

"Тык-тык" - поправляем вручную.

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

По умолчанию имеем:

Общественный транспорт "вылез" там где не надо, а пешеходы с велосипедистами остались "не у дел".

Правильнее так:

"Тык-тык" - снова поправляем вручную. И так каждый раз.

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

Скажем, автоматически брать инфу с отрезка до точки с условием, "смотреть" какая доступность проставлена на нём и по умолчанию в условии предлагать только её (но оставить возможность вручную добавлять и убирать типы ТС). По сути именно отрезком "до" и определяются входные параметры для условия движения, ведь если, к примеру, на отрезке до точки не стоит доступность для грузовиков, то откуда этому типу ТС вылезти в условии?

Пост можно считать развёрнутым фичреквестом.

P.S. Когда же наконец автоматически уберётся доступность для ОТ на всех дорогах класса 8?

7 комментариев
Спасибо большое за развернутый пост и подробное описание вашей идеи. 
Учтем на будущее и посмотрим, что сможем сделать. 
+ к предложению и к вопросу.


Обещали ведь сделать в ближайшее время редактирование атрибутов, ничего так и не произошло.
alexfox,
к сожалению, некоторые исправления и улучшения требуют гораздо больше времени, чем хотелось бы.  =(
Поддерживаю топикстартера. Это одна из немногих проблем, которую необходимо решить.
В целом идея трезвая, но, на мой взгляд, неверная.
Попробую пояснить. И начну с постановки задачи. Вопрос: должен ли быть вообще список ТС в условиях движения привязан к списку тех, кому доступна дорога? Первый ответ, который приходит в голову - недоуменное "Конечно, а как же иначе?" Если я угадал ваш ответ, не считайте меня экстрасенсом, просто мне он тоже пришел в голову первым :)
Так вот этот ответ неверен. Две ситуации:
1. Дорога для всех, кроме грузовиков, ворота, пропуска для всех. Если мы проставим в условиях движения все  ТС (я, кстати, не понимаю, почему в условиях движения пешеходы являются транспортным средством. Ишаки мы, что ли?), кроме грузовиков, а в будущем добавится доступность дороги для грузовиков, то придется проверять все условия движения на дороге и добавлять туда грузовики.
Но, предположим, что доблестные программисты Яндекса это дело докрутили и в запрет стали автоматически попадать те ТС, доступность для которых добавилась в параметры дороги. Возникает проблема
2. Дорога только для автомобилей, ворота, пропуска только для автомобилей. В некоторый момент к дороге добавляется доступность для пешеходов. В условия движения запрет для пешеходов должен добавиться автоматом? Не факт. Возможно, что на этой дороге отдельный проход для пешеходов без запрета. Возможно, да... Ну или нет... Хрен знает... Но как программист точно могу сказать, что коллеги из Яндекса этого на данный момент тоже не знают ;)
И получается так, что в обоих вариантах в результате у нас пропадает связность списка ТС в условиях движения со списком тех, кому доступна дорога.
Так что же необходимо ставить в условиях? Я думаю, что при простановке галочек в списке ТС в условиях движения вообще не нужно смотреть на текущую доступность дороги. Есть ворота на проезжей части, но есть калитка на тротуаре - запрет для велосипедов, общ. транспорта, грузовиков, автомобилей. Есть общие ворота на дороге - запрет для всех. И не важно, может ли сейчас тут двигаться общественный транспорт. Возможно, завтра будет. А вот условия движения от этого не поменяются.
И вот исходя из этого ответа на первый мой вопрос я прихожу к выводу, что, во-первых, не получится автоматом проставить правильные пометки по умолчанию, и во-вторых, нельзя определенно сказать, какой набор пометок по умолчанию является наиболее оптимальным.
Поэтому будем тыкать.
Павел Фёдоров
14 апреля 2017, 14:04
iReset,
в посте я писал что нужно "брать" доступность для отрезка расположенного до условия движения, и автоматически предлагать её в атрибутах создаваемого (а не уже созданного) условия движения. В 95% случаев автоматически предложенная на основе доступности доступность (не знаю как ещё написать))) будет верной и это сократит количество ежедневных лишних кликов при создании новых условий движения


Именно про вновь создаваемые условия движения я писал пост, но никак не про то что при смене атрибутов у отрезка у уже созданного условия должна автоматом менять доступность. Нет конечно. Если это неясно из поста, прошу прощения, уточняю здесь и сейчас. В связи с этим по поводу примеров всё просто:


1) "...а в будущем добавится доступность дороги для грузовиков, то придется проверять все условия движения на дороге и добавлять туда грузовики."


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


 2) "...Дорога только для автомобилей, ворота, пропуска только для автомобилей. В некоторый момент к дороге добавляется доступность для пешеходов. В условия движения запрет для пешеходов должен добавиться автоматом? Не факт. Возможно, что на этой дороге отдельный проход для пешеходов без запрета. Возможно, да... Ну или нет... Хрен знает... "



Добавить пешеходов на отрезке до и после условия движения - и всё. Пешеходы могут ходить свободно через ворота, а автомобили проезжать только по пропускам.  В условии движения пропуска так и остались только для автомобилей. Ничего менять там не надо. Если отдельный проход для пешеходов - подвести туда пешеходку, а с основной дороги убрать пешеходов, пусть ходят только по своей тропинке через свой проход. А уже на тропинке по ситуации ставить "вход по пропускам" (если есть калитка) или оставить свободный проход.
Обновлено 14 апреля 2017, 14:07
Павел Фёдоров,
видимо, я тоже не смог изложить свои мысли достаточно ясно. Я понял, что Вы говорите про атрибуты вновь создаваемых условий. И всю эту простыню выложил, чтобы показать, что это неправильный подход.


Я думаю, что доступность дороги и условия движения - это две совершенно перпендикулярные сущности. И пересекаться они должны только в одной части: условие движения должно находиться на дороге. Все. Списки в условиях движения и в доступности дороги не являются пересекающимися вещами.


Ну вот смотрите:


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



И это неправильно. Я считаю, что запрет для грузовиков как раз должен быть установлен (как, впрочем, и для автомобилей, общ. транспорта и автобусов). И не потому, что они могут или не могут ездить по дороге. А просто потому, что ворота. Не важно, кому доступна дорога, раз стоят ворота, то не сможет проехать ни грузовик, ни общ. транспорт, ни автомобиль, ни велосипед. И изменение доступности дороги на это ограничение не влияет, согласитесь. Ворота как стояли, так и остались стоять. В вашем варианте есть удобство при создании условия, но сомнительное, поскольку при последующем изменении одной сущности (доступность дороги) нужно править другую сущность (условия запрета). Причем заметьте, что первичное удобство однократно, а вот дальнейшие проверки нужны постоянно. В моем варианте запрет будет всегда, пока не поменяется его физическая сущность (снесут ворота; поставят вместо них ограничение по высоте (как это правильно называется, когда шлагбаум сверху висит, перед подземными парковками так обычно); закроют проход и для пешеходов).


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



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


Учитывая то, что тот пример был очень натянутый, попробую привести другой.
Есть дорожка. Длииинная. По виду - ну чисто внутриквартальный проезд: пересекается с дорогой класса 7, бордюр, тротуары, все дела. Но в ее начале стоит знак 4.5.1 "Пешеходная дорожка". Естественно, мы ставим доступность только для пешеходов (не будем сейчас касаться пограничного случая велосипедов). В конце дорожки стоят ворота и калитка с охранником. Пример из головы, но вроде достаточно похожий на правду.
В Вашем варианте у ворот мы проставим пропуск только для пешеходов (вход по пропускам, в списке - только пешеходы), дорожка-то только для пешеходов. В моем варианте мы проставим вход/въезд по пропускам для всех. Проходит время и знак "Пешеходная дорожка" убирают. В моем случае я меняю на карте только измененную сущность - условия доступности дороги. В Вашем случае я вынужден поменять еще и условия движения (добавить в список запрета все ТС). Это нелогично, ведь ворота-то как стояли, так и стоят. Запрет на сквозной проход/проезд физически как был, так и остался.


Это я к чему все. Не к тому, что не надо проверять связанные объекты при изменении одного. Я к тому, что выставлять автоматом набор условий движения по доступности дорог - это неправильно, их все равно нужно будет выставить по реальным условиям движения, а чаще всего они отличаются от доступности дороги.
Ну предположим, что в части ворот мы еще можем продолжить наш диалог. Но со знаком 3.4 "Движение грузовых автомобилей запрещено" или с уже упомянутым мной ограничением по высоте Вы же не будете спорить? В этих случаях и при Вашем, и при моем подходе все равно придется что-то отщелкнуть.