Кстати, а кто назовет хоть одну программу, использующую для маршрутизации данные OSM, причем без конвертации во внутренний формат?
Мне таковые неизвестны, а для прочих есть конвертеры, в которые подобная логика и должна встраиваться.
Таких программ не может быть в принципе. Формат OSM непригоден в качестве внутреннего формата программы маршрутизации. Он “заточен” под хранение и редактирование, но ни в коей мере не под использование.
И, кстати, факт отсутствия таких программ сам говорит о том, что НЕ СЛЕДУЕТ адаптировать данные OSM под конкретную (к слову сказать, кривую) программу.
При въезде в Обнинс со стороны Спас-Загорья стоит синий знак “Обнинск”. Далее после круга на пересечении A101 и М3 стоит белый знак “Обнинск”, хотя это уже не граница города. И что мы будем делать с теми, кто посмеет автоматически расставить неправильный maxspeed?
По всей видимости другого способа иметь информацию и о том, и о другом можно лишь одним единственным способом - хранить информацию и о том, и о другом.
Откуда, в частности, следует, что проставлять на карте границу maxspeed по границам населенных пунктов просто недопустимо. Это - внесение дезинформации.
В конце концов, БД должна хранить ФАКТИЧЕСКУЮ информацию - и интерпретация этой информации (например, в виде скоростного режима) - дело прикланой программы, использующей БД, но не самой БД.
В качестве первого приближения вполне пойдёт А вообще давно предлагаю отдельно рисовать границу, проложенную по знакам “Начало НП”. Всего лишь полигон по точкам дорог в местах установки знаков, плюс порубленные в этих точках дороги, и всё