Мысли вслух: система тегов для обозначения дорог
Posted by Sergey Gladilin on 6 September 2010 in Russian (Русский).Вообще-то, конечно, система тегов для дорог в OSM ужасна. Вот что в ней не так:
1) Тег highway=residential - явно лишний. Зачем ставить его мелким улицам, если крупным улицам все равно будет поставлен highway=tertiary? Если тег нужен для отличия дорог в открытой местности от дорог в населенном пункте, то для всех типов дорог (unclassified, tertiary, secondary, primary, trunk) нужен дополнительный тег residential=yes.
2) Как так получилась, что обычная улица (residential) и обычная дорога (unclassified) имеют одинаковый уровень? Дорога - она заведомо более транзитная. Вот пусть у нас есть unclassified-дорога, проходящая через вымирающую деревеньку и ведущая дальше в другую такую же. Как ни крути, а сквозной проезд - явно более используемый, поддерживаемый и т.д., чем улицы в деревеньке. Но обозначить это нельзя - дорогу выше unclassified не повысишь, улицы ниже residential не опустишь.
3) Обозначение стволовых внутридворовых проездов - еще одно больное место. Кто-то предлагает их обозначать как unclassified (при том, что их уровень должен быть ниже, чем у улиц). Но тем же знаком unclassified мы в примере выше обозначили главную улицу в деревеньке...
4) Помимо больших (tertiary), очень больших (secondary), обычных (residential) все-таки бывают еще малые улицы - уровнем чуть повыше стволового дворового проезда. Но подобный тег не предусмотрен.
Discussion
Comment from Hind on 6 September 2010 at 11:24
Система дорог для дорог OSM очень неплоха.
1) Согласен. Только лишний не residential, а оба - residential и unclassified. Вместо них нужно одно значение этого же уровня.
2) Это не "обычная улица" и "обычная дорога", а дороги в жилом районе и нежилом одного уровня, ниже tertiary. "Более транзитная" дорога обозначается как tertiary.
3) Давно решили уже. См. вики. А что такое "стволовой внутридворовый проезд"? Впервые слышу о таких. Если вы про наиболее широкие, то ширина дорог указывается соответствующим тегом.
4) То, что вы описали - обыкновенный residential. Спецтег не нужен.
Теги предусмотрены для всего - ширины, числа полос, покрытия, качества. Именно ими, прежде всего, отличаются дороги одного уровня.
Comment from Sergey Gladilin on 6 September 2010 at 11:36
Соглашусь, что на самом деле очень неплоха. В мыслях (даже вслух) я часто допускаю преувеличения ;-)
2) любая unclassified - сколько-то транзитная (по ней едут из точки, например, деревни А в точку Б). А residential - вообще говоря - местная. Если у меня уже есть tertiary, от нее ответвляется unclassified и на этой unclassified нашелся хуторок, то изменять классификацию дорог ради малюсенького хуторка уже не хочется. А так получается, что улица в хуторке на 2 дома имеет одинаковый уровень с unclassified, проходящей далеко за пределы этого хуторка.
3, 4) Идея подменять уровень важности иными показателями (шириной, surface, ...) не кажется мне правильной. Среди дворовых проездов иногда встречаются заметно более важные (и среди пешеходных тропинок, кстати, тоже). Среди улиц иногда встречаются заметно менее важные.
Comment from Hind on 6 September 2010 at 11:55
2) Нужно различать unclassified в населенном пункте и вне его. В населенном пункте он применяется для нежилых улиц одного уровня с residential, ничуть не более транзитных. Например, улицы в промышленных районах. А residential применяется только в населенных пунктах. Таким образом, в н.п. они одного уровня транзитности, а за пределами residential просто нет.
3, 4) Так на кой нужна важность дворовых проездов и тропинок? По ним надо всего лишь добраться до цели, и выбирать надо по качеству и ширине, а не важности. Она имеет смысл для более-менее дальних маршрутов.
Comment from Sergey Gladilin on 6 September 2010 at 12:03
2) Ну я и говорю, что это неправильно, т.к. unclassified вне населенного пункта, получается, имеет более высокий уровень, чем тот же unclassified в населенном пункте ;-)
3,4) А зачем тогда важность большим дорогам? Тоже можно по качеству и ширине ориентироваться, когда маршрут прокладываешь...
Comment from Zkir on 16 September 2010 at 18:50
Важность нужна для генерализации. Рутер же важностью руководствоваться в самом деле не обязан.