Число узлов при рисовании дороги

Я заметил что многие дороги нарисованные в Osm состоят из сравнительно небольшого числа длинных сегментов из за этого идет заметное расхождение с треком.

Вопрос - есть ли какие то технические проблемы из-за дорог с большим числом узлов? Или можно рисовать близко к треку сравнительно короткими отрезками (30-50 метров в поворотах и 100-300 метров в остальных местах, где повороты плавные)?

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

Можно рисовать хоть 25 изгибов на 1 метре, для ОСМ это не проблема!
Я когда рисую дорогу по треку слежу, чтобы точек было достаточно, чтобы описать кривую и не слишком много, чтобы не получилось лишних перегибов на прямых.
В JOSM’e есть инструмент “упростить”, который делает достаточное количество точек из трека GPX.

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

Тоже как-то рассуждал за “метровую точность”. Знаете, такая мысль появилась… Не должно быть избыточных точек. Не, это не мысль, а мысль вот:

Очень часто достаточно знать 1) откуда дорога выходит, и куда приходит, 2) что её пересекает по дороге. А в промежутках дорога вольна в принципе вилять, как заблагорассудится. Фактически, такой уровень абстракции, это роутинговый граф.
Если мы едем по дороге “отсюда-дотуда”, знаем (видим по карте и навигации) приблизительно начальную и конечные точки нашего маршрута. И, если пересечений нас дорогами, равнозначной нашей, нет – то абсолютно без разницы, какие мини- (или не мини) виляния трассы на нашем маршруте есть. Тянется дорога и тянется. Едешь и едешь. На навигатор посматриваешь. К конечной точке приблизился, это на навигаторе видно.
Такой вот достаточный минимум.

Сам я так не делаю, понятное дело. Я обклацываю, как и все, как можно точнее. Это просто такая теория минималистического дорожного графа.
(чё хотел сказать, сам не знаю)))

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

А сейчас я со своими проблемами влезу)

Вот, допустим, если надо узнать, какая улица находится рядом с заданными координатами, какую площадь нужно запросить у сервера Osm, чтобы улица гарантированно попала в эту запрашиваемую площадь хотя бы одним своим узлом?
Мне кажется, лучше соблюдать некоторый баланс между необходимым минимумом, и полезной избыточностью. Например, один сегмент дороги делать не длиннее 200м.

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

Если дорога прямая, то можно и больше IMHO. Лучше исходить из расстояния между треком и дорогой, например чтобы трек был не дальше 10-20 метров от дороги на прямых участках и 50 метров на поворотах…

нет уж, 50 метров - явный перебор.
если есть возможность прорисовать точно (а при наличии трека она есть) - надо рисовать точно.

потом не забывайте про красоту! красиво когда поворот дугой, а не геометрической фигурой - угол.

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

Разумность размеров сильно зависит от местности. Если в этом 20-километровом квадрате еще одна дорога и два поселка - то почему бы и не оставить его такой длины, а то 100 километров одинокой трассы, нарезанные на 500 кусков - это поребор. Да и 200 метром могут иметь смысл (естественно в отсутсвии других поводов разрезать дорогу) только между кварталов, в которых отмечен каждый кустик и каждая трещина на асфальте.

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

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

С точностью ГПС-ов так и будешь идти по сугробам в 15-и метрах от дороги, тщательно повторяя её изгибы. А если б была ломаная большими кусками, то был бы шанс случайно нащупать под сугробом дорогу :slight_smile:
(Это не аргумент, а так, лирическое отступление)

В коридоре в 15 метров я уж глазами найду где ехать. А вот если точность метров 100, то очень вероятно застрять в какой-нибудь канаве не видной под снегом. Проверено на реальном опыте :wink:

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

Это первое, что я в них отключаю. По полю, так по полю! :sunglasses: С нарисовавшим неточную дорогу будет суровый разговор :smiley:

ОФФ: и ваще ездить надо по асфальту, не надо травку мять кусты ломать и мышек с ежиками давить. а то едешь по лесу на ласапеде а тебя обгоняет колонна жыперов - навоняют, намесят один раз даже из лужи обрызгали! в лесу обрызгали…

А у меня вот такой вопрос созрел:
пересечение 2х односторонних дорог (есть естественный разделитель - трава). Посередине пересечения асфальт.
Рисовать это как квадрат, к которому присоединены дороги или одну точку?

точку