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

Конкретно.

Хочется получить некую структуру данных, которую я смогу обработать в 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 хотя бы) не помешали бы, как ограничение. Вот нафига там авиатреки?

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

[irony]рисовать авиамаршруты[/irony]

Где-то была тема для предложений о работе…

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

Эта?

Ну, с базами данных я и сам разберусь, но мне просто нужна понятная структура с данными.

Monochrome, давай структуру базы, посмотрю.
Можно на почту, xliosha@gmail.com

https://dl.dropbox.com/u/11083106/DATA.rar

Файл с базой. Там создано три узла и три ребра. Свойства узлов и ребер там задаются заморочено, поэтому для пробега можно просто создать отдельную таблицу, я бы её потом преобразовал.

Хм… А нельзя ли в каком-нть переносимом формате?
MSSQL под рукой нет.

А что есть?

Чтобы структуру посмотреть, dbf или даже csv достаточно

День добрый. В догонку к поднятой теме: а существуют в природе сервисы или API (платные или бесплатные), рассчитывающие помимо маршрута между точками, еще и последовательность проезда?

Т.е. входные данные: начальная точка, конечная и куча промежуточных в неопределенном порядке.
На выходе: последовательность проезда между промежуточными точками (для простоты по критерию “минимальный суммарный пробег”)

P.S. Если нет на базе OSM, то может есть на базе еще чего (2gis, Я.карты и т.п.), но чтобы считался и межгород, и внутригородские маршруты по РФ.