You are not logged in.
- Topics: Active | Unanswered
#1 2012-10-02 09:37:51
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Нужен граф дорог России - что делать/с чего начать?
Ситуация такая - есть транспортная компания.
Намутили своё приложение для работы с картой, дорогами, точками.
Маршруты считаются, сам граф редактируется, свойства задаются.
Но вот в чем проблема - сам граф люди задают "несколько небрежно". Части дорог нет, неправильно проставлены расстояния и т.п. и т.д.
Можно конечно тыкать их во всё это, что-то они исправят, но тенденция налицо - это очень трудоемко.
В принципе - есть данные о движении грузовиков за несколько лет в виде GPS-данных, можно заюзать их, но может быть есть более легкий способ?
В виде готовых баз данных, скажем.
В общем задача - создать граф дорог России (и хорошо бы крупных городов) на основе уже накопленных кем данных.
Граф тут - точки и ребра + расстояние между точками.
Спасибо.
Offline
#2 2012-10-02 09:57:09
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Нужен граф дорог России - что делать/с чего начать?
Ну вот вам OSM — готовая база данных.
Дальше нужно говорить уже с программистами. Чтобы написали конвертер в ваш формат.
Либо просто сразу пользоваться осмосервисами, вроде OSRM. Или поднять его у себя с нужными настройками (роутинг для грузовиков, например).
Вообще, идеальным был бы вариант, когда вы поддерживаете у себя свежую БД осма, ежедневно обновляя данные в своем сервисе, а сотрудники репортируют об ошибках через общие сервисы OSM.
GPS-данные машин в OSM очень нужны, особенно на тех дорогах, которых у нас нет (логично).
Offline
#3 2012-10-02 10:00:29
- dimonster
- Member
- Registered: 2012-07-08
- Posts: 1,501
Re: Нужен граф дорог России - что делать/с чего начать?
Ну, собственно говоря, для этого OpenStreetMap и создавался.
Намутили своё приложение для работы с картой, дорогами, точками.
теперь нужно намутить программу-конвертор, которая будет импортировать данные из OSM в вашу программу.
В принципе - есть данные о движении грузовиков за несколько лет в виде GPS-данных, можно заюзать их,
не только можно, но и нужно
Эти данные нужно перевести в формат gpx и импортировать в базу треков OSM. По ним можно более точно "привязать" спутниковые снимки. Кроме того, становится понятно, что "если есть треки - значит, там есть дорога".
Маршруты считаются,
Вам будет любопытно посмотреть этот проект (на основе OSM) http://map.project-osrm.org/
сам граф редактируется
увы, обычно граф сам собой не редактируется. Обычно его редактируют люди.
Offline
#4 2012-10-02 10:03:11
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Нужен граф дорог России - что делать/с чего начать?
Эти данные нужно перевести в формат gpx и импортировать в базу треков OSM.
Как правило, их надо предварительно чистить, хотя бы места стоянок. А то там иногда такие "кляксы" попадаются, что с треками в этом месте становится работать невозможно.
Offline
#5 2012-10-02 10:05:50
- dimonster
- Member
- Registered: 2012-07-08
- Posts: 1,501
Re: Нужен граф дорог России - что делать/с чего начать?
их надо предварительно чистить,
Да. А ещё бывает, что в начале трека идёт большой разброс. Это при старте GPS-приёмник позицию уточняет. У меня на mustek GP-220 такая фигня.
Offline
#6 2012-10-02 11:40:20
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
Ого! Приятно поражен скоростью реакции сообщества.
Изначально задача такова, что нужен именно свой сервис. Потому как предполагается работа НЕ через визуализацию, но через некий API. Причем мы должны иметь возможность влиять на результат. Запрет проезда, уклон дороги, направление движения, платные дороги, учет транзита. Потом информация с РЕБЕР будет использоваться в расчете затрат на поездку. И запросы к этому сервису будут ОЧЕНЬ высокочастотными.
Это я к чему - сторонний сервис использовать как-то проблематично (на мой взгляд). Нужна связь на уровне объектов.
Вопрос в первоначальном заполнении!!
И если честно - я не совсем понял, что вы мне насоветовали парни.
Я, кстати, и есть тот программист.
По сути, меня бы наверное устроила бы база данных с отрезками у которых:
1. Есть геокоординаты.
2. Которые, будучи прямыми (по своей сути), повторяют прямые же сегменты дороги.
То есть - расстояние для которых я мог бы рассчитать по простой формуле. Понимаете, да?
Сейчас ближайшая база - это трекинг наших грузовиков. Часть из них настолько часто посылают данные - что используй не хочу. К сожалению, данные несколько неоднородные и нуждаются в ручной коррекции и контроле.
И вопрос был не столько к OSM, а сколько к людям, которые шарят в картографии.
Спасибо!
P.S. И мой "формат" это простая БД на MS SQL, никаких особенных конвертеров не надо.
Offline
#7 2012-10-02 11:44:22
- BushmanK
- Member
- Registered: 2011-05-03
- Posts: 5,106
Re: Нужен граф дорог России - что делать/с чего начать?
Чтобы не быть голословным по поводу клякс, поясню: глядит это вот так http://www.openstreetmap.ru/?mapid=842950830 (бывает хуже)
А "чистить" - http://www.gpsbabel.org/htmldoc-develop … scard.html как минимум, sat=4
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#8 2012-10-02 11:45:05
- s777n
- Member
- Registered: 2012-03-04
- Posts: 315
Re: Нужен граф дорог России - что делать/с чего начать?
Ого! Приятно поражен скоростью реакции сообщества.
Изначально задача такова, что нужен именно свой сервис. Потому как предполагается работа НЕ через визуализацию, но через некий API. Причем мы должны иметь возможность влиять на результат. Запрет проезда, уклон дороги, направление движения, платные дороги, учет транзита. Потом информация с РЕБЕР будет использоваться в расчете затрат на поездку. И запросы к этому сервису будут ОЧЕНЬ высокочастотными.
Это я к чему - сторонний сервис использовать как-то проблематично (на мой взгляд). Нужна связь на уровне объектов.
.
Так почему просто не взять базу из OSM целиком и использовать у себя?
Offline
#9 2012-10-02 11:48:10
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
2 s777n
А как её можно "взять"?
Offline
#10 2012-10-02 11:52:03
- rumigu
- Member
- Registered: 2011-02-10
- Posts: 51
Re: Нужен граф дорог России - что делать/с чего начать?
У OSRM как раз есть свой api: https://github.com/DennisOSRM/Project-O … Server-api
Он умеет искать ближайшую к заданной точке дорогу и прокладывать маршрут, выплевывая последовательность ребер по которым нужно проехать, а также общие характеристики маршрута (длину, время проезда и т.п.). Для начала можно отладиться на их апи, а потом поднять свой, с нужными настройками.
Offline
#11 2012-10-02 11:52:03
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Нужен граф дорог России - что делать/с чего начать?
OSM - это общая база данных геообъектов. В том числе и дорог. Вам нужно отфильтровать из общей базы интересующие вас данные и сконвертировать их в вашу базу.
Но если вы собираетесь в дальнейшем править эти данные, то тут уже встаёт вопрос лицензии. Нельзя просто так скопировать данные и дальше развивать их в закрытом режиме - лицензия OSM это запрещает. Вот если вы правки будете вносить в OSM - тогда пожалуйста.
Offline
#12 2012-10-02 11:54:30
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Нужен граф дорог России - что делать/с чего начать?
Нельзя просто так скопировать данные и дальше развивать их в закрытом режиме - лицензия OSM это запрещает.
Разве? Вроде б раньше запрещалась только публикация таких данных. А для себя в закрытом режиме - сколько угодно
Offline
#13 2012-10-02 12:04:23
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Нужен граф дорог России - что делать/с чего начать?
Разве? Вроде б раньше запрещалась только публикация таких данных. А для себя в закрытом режиме - сколько угодно
Да, упустил. Если только внутри компании - то можно.
Offline
#14 2012-10-02 12:18:53
- s777n
- Member
- Registered: 2012-03-04
- Posts: 315
Re: Нужен граф дорог России - что делать/с чего начать?
2 s777n
А как её можно "взять"?
как скачать и использовать. Так же есть выгрузки по отдельным странам и регионам.
Offline
#15 2012-10-02 12:28:04
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
Я всё понял. Ткните пожалуйста в ссылку для нубья - с чего начать - как выбрать нужные мне дороги??
Offline
#16 2012-10-02 12:28:38
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
s777n, спасибо огромное!
Offline
#17 2012-10-02 12:32:43
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Нужен граф дорог России - что делать/с чего начать?
Я всё понял. Ткните пожалуйста в ссылку для нубья - с чего начать - как выбрать нужные мне дороги??
Пыщь
Прежде всего, обратите внимание на теги highway и route=ferry.
БД вам поднимать совсем не обязательно, можно просто скачать дамп и распарсить его (если он в формате osm, то любым событийным XML-парсером, навроде SAX), заливая по ходу дела в свой MySQL. Хотя с вашим форматом, наверное, так просто не получится, и таки придется сначала залить в БД. :3
Ну или поднять свой OSRM, там и API, и нужные алгоритмы реализованы.
Offline
#18 2012-10-02 12:37:31
- Felis Pimeja
- Member
- Registered: 2010-10-27
- Posts: 1,035
Re: Нужен граф дорог России - что делать/с чего начать?
... Ткните пожалуйста в ссылку для нубья - с чего начать - как выбрать нужные мне дороги??
Вот здесь смотрите раздел Работа с данными OpenStreetMap.
Offline
#19 2012-10-02 12:40:47
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
Парни, а какой шаг у ребра дороги? Есть какие-то соглашения/правила?
Offline
#20 2012-10-02 12:58:02
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Нужен граф дорог России - что делать/с чего начать?
Кстати, я тут для себя сделал плугинчик к osmosis, который позволяет упростить фильтрацию и разборки со связностью в дорожном графе:
http://forum.openstreetmap.org/viewtopi … 74#p270474
Для собственного строительства графов роутинга - самое то.
Offline
#21 2012-10-02 13:33:55
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
Сложно-то как всё.
Offline
#22 2012-10-02 13:35:57
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
Кто за вознаграждение поможет? Нужны дороги России с шагом скажем в 15 км и города с шагом поменьше.
Всё это надо дать/или научить как - в удобном формате, без зауми и карусели расширений.
В одно жало я чувствую потрачу на это дофига времени.
Offline
#23 2012-10-02 13:51:54
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Нужен граф дорог России - что делать/с чего начать?
Что конкретно хочется в результате получить?
Нужны дороги России с шагом скажем в 15 км
Что имеется в виду под "дороги с шагом 15 км"?
Offline
#24 2012-10-02 14:19:21
- Monochrome
- Member
- Registered: 2012-10-02
- Posts: 15
Re: Нужен граф дорог России - что делать/с чего начать?
Конкретно.
Хочется получить некую структуру данных, которую я смогу обработать в C#.
Если же это будет MS SQL БД - вообще замечательно.
Структура содержит:
1. Ноды.
2. Ребра.
Дороги России и города.
Ребра ссылаются на ноды. (Ну что бы мне не парится с координатами, но я могу).
Вот длина ребер - это вопрос.
Для дорог мне видится - не больше 15 км.
Для города наверное меньше.
Для ребер и нод указывается некий регион.
Город или название дороги.
В общем - главная цель - соблюсти баланс между полнотой покрытия и мельчением.
Offline
#25 2012-10-02 14:22:47
- Sergey Astakhov
- Member
- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,779
Re: Нужен граф дорог России - что делать/с чего начать?
Структура содержит:
1. Ноды.
2. Ребра.
Дороги России и города.
Ребра ссылаются на ноды. (Ну что бы мне не парится с координатами, но я могу).
Граф направленный или ненаправленный? Ограничения поворотов, запреты проездов как задавать планируете?
До какого уровня дороги нужны? До дворовых проездов или только основные магистрали?
Города должны быть узлами графа или нет?
Last edited by Sergey Astakhov (2012-10-02 14:24:39)
Offline