Нужен граф дорог России - что делать/с чего начать?

как скачать и использовать. Так же есть выгрузки по отдельным странам и регионам.

Я всё понял. Ткните пожалуйста в ссылку для нубья - с чего начать - как выбрать нужные мне дороги??

s777n, спасибо огромное!

Пыщь
Прежде всего, обратите внимание на теги highway и route=ferry.

БД вам поднимать совсем не обязательно, можно просто скачать дамп и распарсить его (если он в формате osm, то любым событийным XML-парсером, навроде SAX), заливая по ходу дела в свой MySQL. Хотя с вашим форматом, наверное, так просто не получится, и таки придется сначала залить в БД. :3

Ну или поднять свой OSRM, там и API, и нужные алгоритмы реализованы.

Вот здесь смотрите раздел Работа с данными OpenStreetMap.

Парни, а какой шаг у ребра дороги? Есть какие-то соглашения/правила?

Кстати, я тут для себя сделал плугинчик к osmosis, который позволяет упростить фильтрацию и разборки со связностью в дорожном графе:

http://forum.openstreetmap.org/viewtopic.php?pid=270474#p270474

Для собственного строительства графов роутинга - самое то.

Сложно-то как всё.

Кто за вознаграждение поможет? Нужны дороги России с шагом скажем в 15 км и города с шагом поменьше.
Всё это надо дать/или научить как - в удобном формате, без зауми и карусели расширений.

В одно жало я чувствую потрачу на это дофига времени.

Что конкретно хочется в результате получить?

Что имеется в виду под “дороги с шагом 15 км”?

Конкретно.

Хочется получить некую структуру данных, которую я смогу обработать в C#.
Если же это будет MS SQL БД - вообще замечательно.

Структура содержит:

  1. Ноды.
  2. Ребра.

Дороги России и города.

Ребра ссылаются на ноды. (Ну что бы мне не парится с координатами, но я могу).

Вот длина ребер - это вопрос.
Для дорог мне видится - не больше 15 км.
Для города наверное меньше.

Для ребер и нод указывается некий регион.
Город или название дороги.

В общем - главная цель - соблюсти баланс между полнотой покрытия и мельчением.

Граф направленный или ненаправленный? Ограничения поворотов, запреты проездов как задавать планируете?

До какого уровня дороги нужны? До дворовых проездов или только основные магистрали?

Города должны быть узлами графа или нет?

Вот так это выглядит сейчас и это плохо. Дорога одна и это плохо. Машина точки графа просто объезжает по непроложенным дорогам и мне это не зафиксировать.

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

Если нет, то не так страшно - мы это зададим позже сами.

Мой граф используется главным образом для:

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

Самый простой способ получить граф - это преобразовать osm в польский формат (mp). Там граф представлен очень разумно. Для этого есть скрипт - osm2mp.pl.

Написал в форумную почту.

Ну вот для подготовки подобного графа я и сделал свой плугин, про который упоминал выше.

Устанавливаете osmosis, затем устанавливаете плугин osmrouting версии 1.2 (например в подкаталог plugins в текущем каталоге), качаете нужный регион с gis-lab и запускаете подобную строку:

osmosis --read-pbf RU-LEN.osm.pbf --lp --build-routing-graph graphLevel=secondary minorGraphsAction=drop --split-routing-graph --directed-graph-lines --write-xml RU-LEN_graph.osm.bz2

В данном пример выполняется фильтрация дорожного графа Ленобласти уровня secondary (с выкидыванием изолятов), далее этот граф разбивается по перекрёсткам и создаются двунаправленные линии. Результат можно открыть в JOSM и посмотреть. Если удовлетворяет - делаете процедуру конвертации полученного графа в вашу БД.

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

Парни, а может я бы дал структуру своей БД, а вы бы её заполнили?
Я заплачУ.

Ко всей базе треков osm бы такое

Там бы еще максимальная скорость и высота (над GTOPO30 хотя бы) не помешали бы, как ограничение. Вот нафига там авиатреки?

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