Громадное время нехорошо в том числе и по той причине что начнутся артефакты типа “объедем весь квартал только потому что с другой стороны ехать по дворовому проезду на метр меньше”. Изменять дефолтный access для service как-то тоже весьма костыльно.
Если дорога идёт мимо одного дома к другому это alley или driveway? Если дорога U-образная - это alley или driveway? Если блок посередине поставили или убрали? И т.д.
Сколько раз уже убеждались, что надо отмечать конкретные осязаемые признаки, а не “ну вроде-бы ближе к этому; хотя не…”.
Ну то что driveway менее значимый очевидно, но что есть driveway, а что alley для большей части дворовых проездов неясно совершенно (и не будет никогда по той простой причине что большая часть проездов является и тем и тем), более того - из этих признаков нельзя понять никаких конкретных свойств. Я за vehicle=destination - это позволит отмечать конкретное однозначне свойство, на которое, более того, можно будет ориентироваться для решения обоих озвученных проблем; также не потребуется вводить никаких assumptioon’ов и вытекающих отсюда ошибок.
wowik, нужен не костыль, а некая идейная основа, которая позволит отличать “важные” служебные проезды от “неважных”. Иначе закончится тем что его поставят на все дороги, и его придется отключить.
Во-вторых, access=yes/vehicle=yes значит просто, что данная дорога открыта для общего пользования (остутствует шлагбаум, знак движение закрытоб …), с учетом присущих для данного типа дорог ограничений, каковыми для service является запрет транзитного рутинга.
Возможно я что-то пропустил в дискуссии, и существуют какие-то дорожки через “прилегающие территории”, которые предназначены для сквозного проезда. Если таковые существуют, то прошу описать их простыми русскими словами, без привязки к тегам OSM.
Это и есть написание неких эвристических правил. Я тоже за это.
Так как не надо перелопачивать все города и веси.
А уж если эвристика будет врать, то только там уже разруливать в ручном режиме vehicle=destination/yes
Поэтому я и предлагаю это как прозрачный костыль.
Формально он ничего не меняет, а конвертору подсказка.
Если написано “масло”, то рутить нельзя, если написано “масло масляное”, то можно.
При любом раскладе свои любимые проезды по дворам народ раскрасит , хоть костылями, хоть по “идейной основе”
Ситуация, как мне кажется, грустная.
Пока навигационный софт правильно не просчитывает запрет транзита, то любой способ разрешить рутинг по service будет в первую очередь использован именно для обхода запрета сквозного проезда.
Сам думай, к обсуждаемой задаче это никак не отностится.
Ничего нормального. Всё как обычно с вводом лишних assumption’ов - местячково, автоматически наводняет карту ошибками по причине того, что на service никто никогда не ставил access=yes и просто зло.
И эвристики никогда ничего до конца не решали. Запрещён сквозной проезд - значит так и должно быть написано.
Не требуется до конца - 90% сгодится. Остальное уж костылями доправить можно
Ведь попытка сформулировать правила для таких service это и есть поиск эвристики.
Пока кроме service на парковке, который не parking_aisle ничего не предлагалось?
Какие еще сервисы на регулярной основе должны рутится?
Мне кажется, что очень длинный service - кандидат на рутинг. Особено если он не вокруг многоэтажки закручен, а ведет на километр-другой вбок от дороги. Но это только конвертор может вычислить — расстояние между первой и последней точкой.
Правда иногда такой длинный service — это просто ошибочно замапленный unclassified, но не всегда. Посему хочется иметь некий валидатор на такие штуки, чтобы посмотреть на них глазками.
Ну да, согласен. Чего-то я замурился маненько…
Тогда и впрямь лучше иметь явный костыль, чтобы удобнее выкидывать, когда надобность отпадет.
Костыль ведь не должен ни разрешать сквозной проезд, ни путать никого чем-то похожим на разрешение, а просто включать в (или выключать из) рутинг(а).
Рутинг-то по сервису сам по себе не возбраняется, просто его больно много.
А зачем отличать АЗС от подъезда к стоянке в контексте обсуждаемой задачи?
Да что за желание понаставить костылей? Нужны конкретные данные - надо добавлять конкретные данные. Никаких эвристик и костылей.
Или хочется решить задачу именно не добавляя данных?
Да по-моему, все, кроме дворовых проездов.
Давайте сразу договоримся не трогать тип дороги ради роутинга - service значит service. А длина сегмента, вообще, не показатель - дорога банально может быть разбита чтобы указать разные surface.
Если решается задача “как выбрать достаточное количество service, нерелевантных для роутинга”, давайте её и решать - тут большой простор для творчества начиная с откусывания листьев небольшой длины, растущих из перекрёстков, продолжая выделением связных подграфов service, не пересекающих более высокие дороги и выкидывание тех из них, у которых наибольшее измерение bbox также небольшое.
А так ли актуальна проблема количества? В Москве service примерно 40% по веям и 30% по нодам. Это далеко не порядки, и если N дорог влезает, а 1.5*N не влезает, как-бы либо не о service надо думать ибо более высокие дороги скоро перестанут влезать, либо надо менять навигатор и спокойно заливать карту со всеми service’ами. В (уже) старый Garmin 60Cx влезает вся Московская область со всеми footway и path без разбиения на мелкие куски.
С другой стороны, можно решать задачу “как выбрать минимум необходимых service”, что намного интереснее и сложнее.
Я вот как-то пользовался неким навигационным софтом с поддержкой пробок и рутингом по служебным проездам (ага, вы угадали, тем самым, который во всем виноват). Так он строил совершенно жуткие объезды через дворы. Не хочу больше такого.