Нарисовать курьерский маршрут в QGis и экспортировать в SVG

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Aq_Stranger
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2013, 04:19
Репутация: 0

Нарисовать курьерский маршрут в QGis и экспортировать в SVG

Сообщение Aq_Stranger » 15 мар 2013, 05:32

Приветствую всех!

(Вроде темы такой не было, поэтому открываю новую.)

Вобщем, поставил я QGis по совету хороших людей -- возможно ошибся, и надо было ставить чего-то попроще. Сейчас штудирую руководство пользователя, как импортировать *.osm-огрызки -- уже нашёл.

Задача -- построить развозочно-логистический маршрут :) Конечно, есть много способов, как импортировать карту в качестве подложки, создать слой на ней и рисовать, но меня интересует как это сделать правильно и с наименьшими усилиями, чтобы не изобретать велосипед. Могу собрать компьютер, могу собрать Gentoo, в геодезии и картографии -- полный ноль, с математикой дружу, с аффинными координатами (сферическими, цилиндрическими) -- знаком, есть небольшой навык спортивного ориентирования.

Исходные данные: мотороллер, бандероли с посылками, курьерская команда -- водитель и грузчик, точки обслуживания. Мотороллер не является ни автомобилем ни скоростным мотоциклом, поэтому односторонние улицы, запрещённые повороты и парковые зоны игнорируем -- нам можно :)

Маршрут состоит из четырёх типов участков.
1) Преодолеваемый мотороллером в одном направлении -- основная часть маршрута.
2) Преодолеваемый мотороллером в обоих направлениях -- заезды в переулки, тупики и на те точки, которые не совсем по дороге.
3) Преодолеваемый пешком -- точки в глубине дворов, на режимных территориях и в прочих местах, куда подъезда нет.
4) Преодолеваемый мотороллером без грузчика -- редкий случай, когда водитель высаживает грузчика возле одной проходной, а должен встретить его уже у другой на примыкающей или противоположной улице. На всём множестве маршрутов будет 2 или 3, содержащие подобный участок.

Цвет и размер линий: 1 -- основной цвет (для каждого маршрута -- свой) и стандартная ширина, 2 -- более тёмный оттенок, 3 -- более тёмный оттенок и половинная ширина, 4 -- более светлый оттенок. Для ясности примыкающие к трассе маршрута небольшие кусочки улиц и переулков будут обозначены линиями светло-серым цветом стандартной ширины.

На экспортируемом изображении помимо самого маршрута должны быть названия улиц (надо ли будет продублировать вручную с основного слоя?), контуры зданий и объектов, зелёные зоны и водные пространства, трамвайные и железнодорожные рельсы, низкорасположенные трубопроводы и прочие естественные преграды, понятное дело мосты, и больше ничего -- никаких номеров домов, названий супермаркетов и прочего.

Также требуется подсчитать суммарные длины отдельно всех типов участков маршрута и настроить подсчёт и экспорт в txt/xml следующих сумм:
а) 1*S1 + 2*S2 + 0*S3 + 0*S4 -- основной пробег мотороллера
б) 1*S1 + 2*S2 + 0*S3 + 1*S4 -- общий пробег мотороллера
в) 1*S1 + 2*S2 + 2*S3 + 0*S4 -- «эффективная» длина маршрута
г) 1*S1 + 2*S2 + 2*S3 + 1*S4 -- общая длина маршрута

Я не прошу подробной инструкции -- просто тыкните меня носом в нужные места мануала и пошлите в нужном направлении. Заранее спасибо всем ответившим. Также, если можно, подскажите, где лежит актуальная карта Одессы, а то огрызками из OpenStreetMap неприятно пользоваться, там часто даже нужные улицы отсутствуют.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Дмитрий Барышников » 15 мар 2013, 09:31

Читали Поиск кратчайшего маршрута c помощью Road graph для QGIS? Такое решение вам подходит?

Aq_Stranger
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2013, 04:19
Репутация: 0

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Aq_Stranger » 15 мар 2013, 10:28

Дмитрий Барышников, читали мой пост внимательно? Или «по диагонали»?

Нигде в описании не сказано, что этот РоудГраф может построить маршрут на 40 точек с заходом в каждую, правильно нарисовать и подсчитать все участки.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Александр Мурый » 15 мар 2013, 10:42

Aq_Stranger писал(а):а то огрызками из OpenStreetMap неприятно пользоваться, там часто даже нужные улицы отсутствуют.
Эти "огрызки" — чуть ли единственные геоданные подобной подробности, которыми вы можете легально бесплатно пользоваться, в т.ч. в коммерческих целях. Найдите в интернете карты подробнее (2GIS, например) и купите у поставщика, в чём проблема-то?

Вот ещё полезная ссылка. Похоже, вам придётся слегка попрограммировать для решения вашей задачи :)
Редактор материалов, модератор форума

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Дмитрий Барышников » 15 мар 2013, 11:11

Aq_Stranger писал(а):Дмитрий Барышников, читали мой пост внимательно? Или «по диагонали»?
Читал.
Aq_Stranger писал(а):Я не прошу подробной инструкции
Если хотите что бы вам дали систему решающую ваши специфические задачи "из коробки", тогда только заказ разработки у специализирующихся на этом компаниях или самостоятельное программирование.

Aq_Stranger
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2013, 04:19
Репутация: 0

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Aq_Stranger » 17 мар 2013, 02:09

Александр Мурый писал(а):
Aq_Stranger писал(а):а то огрызками из OpenStreetMap неприятно пользоваться, там часто даже нужные улицы отсутствуют.
Эти "огрызки" — чуть ли единственные геоданные подобной подробности, которыми вы можете легально бесплатно пользоваться, в т.ч. в коммерческих целях.
Я ещё могу понять, когда в каком-то частном секторе на глухой окраине нехватает нескольких Задрищенских переулков. Но когда почти не прорисован район железнодорожного вокзала в треугольнике Старосенной-Водопроводной, где целая куча важных предприятий -- тут уже слово «подробность» вызывает усмешку.
Александр Мурый писал(а): Найдите в интернете карты подробнее (2GIS, например) и купите у поставщика, в чём проблема-то?
Кстати, в установочном каталоге Дупель-ГИСа я нашёл 31-мегабайтный файл *.dgdat с заголовком 0х07 0х47 0х44 0х46. Я так понял, что это карта. Её можно скормить Квантум-ГИСу?

Дупель-ГИС в бесплатной версии -- картоновая дурилка для юзеров, ничего толком не умеет, зато сразу показывает, где какие рестораны и ночные клубы. В плане построения маршрутов функциональность аналогична Гугель/Яндекс-мапс, то есть вообще непригодна.

Вот ещё полезная ссылка. Похоже, вам придётся слегка попрограммировать для решения вашей задачи :)[/quote]
Интересный плагин. Делает то, что мне не надо и не делает того, что надо.

Может я неправильно описал задачу? Дайте краткую инструкцию для чайников -- не хочется при очередном изменении (точка-клиент открылась, закрылась или переехала) опять рисовать всё в Фотошопе на плохо отсканированной карте лохматого года и считать длины с помощью линейки!

Aq_Stranger
Новоприбывший
Сообщения: 4
Зарегистрирован: 15 мар 2013, 04:19
Репутация: 0

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Aq_Stranger » 17 мар 2013, 02:31

Дмитрий Барышников писал(а): Если хотите что бы вам дали систему решающую ваши специфические задачи "из коробки", тогда только заказ разработки у специализирующихся на этом компаниях или самостоятельное программирование.
У меня сложилось впечатление, что либо Вы не поняли написанного, либо под любым предлогом хотите сделать меня бета-тестером указанного плагина.

Ладно, попробую ещё раз. Город условно разбит на районы обслуживания. В каждом районе 200-300 точек. Все они охватываются маршрутами, в каждом из которых 30-60 точек. Никакие «поиски кратчайшего расстояния» с Дейкстрами и прочими нахрен не сдались -- во-первых курьеры, ориентируясь на местности, лучше знают как им ездить, во-вторых для этого функционала достаточно сходить на Гугел-мапс. Маршруты по разным причинам всё время немного меняются -- исчезают старые и появляются новые точки, где-то водопроводчики на две недели дорогу перекопают, а где-то проделанная дыра в заборе позволит сократить путь на лишний километр. Всё это надо каждый раз ОПЕРАТИВНО перерисовывать, перепечатывать и считать длины -- вот это и есть основная задача -- правильно нарисовать и правильно подсчитать. Всякие мапсы и дупели такой функциональности не предоставляют.

Аватара пользователя
paleogis
Модератор
Сообщения: 1112
Зарегистрирован: 22 мар 2009, 08:54
Репутация: 200
Ваше звание: Модератоо

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение paleogis » 17 мар 2013, 07:45

По поводу "огрызок "из OSM. Во-первых , Вы всегда можете дорисовать эти "огрызки", и куча народа будет Вам благодарна. Во-вторых, дареному коню в зубы не смотрят. Платные данные можете купить, например у Визикома. Согласен с Дмитрием, Ваша задача требует отдельной разработки.

[ Сообщение с мобильного устройства ]

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Александр Мурый » 17 мар 2013, 08:16

Aq_Stranger, умерьте пыл, пож-та. Давайте обсуждать задачу.
Aq_Stranger писал(а): Всё это надо каждый раз ОПЕРАТИВНО перерисовывать, перепечатывать и считать длины -- вот это и есть основная задача -- правильно нарисовать и правильно подсчитать.
Если маршруты определяются не кратчайшими расстояниями и прочим сетевым анализом, а просто по точкам и по ситуации, то берите любую бесплатную ГИС, которая умеет 4 вещи:
1) строить по точкам линии (в QGIS это плагин Points to Paths); линии строятся путём группировки точек по атрибутам (надо проставить номера точек, например);
2) считать длины полученных линий с занесением их в атрибутивную таблицу (в QGIS это делается через калькулятор полей, функция $length);
3) умеет делать макеты карт с нужной вам символикой и экспортировать в SVG (QGIS может);
4) позволяет частично автоматизировать пункты 1-3 (в QGIS — через скрипты на Python).
Редактор материалов, модератор форума

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Дмитрий Барышников » 17 мар 2013, 13:51

Aq_Stranger писал(а): У меня сложилось впечатление, что либо Вы не поняли написанного, либо под любым предлогом хотите сделать меня бета-тестером указанного плагина.
Странная позиция, "здесь все мне должны".
Был задан вопрос, с учетом своего опыта я вам "задал направление". В ответ пошли стенания, что мол и карта не подробная и плагин не совсем то/совсем не то делает.
Я же вроде отметил, что если хотите, в точности:
Aq_Stranger писал(а): Ладно, попробую ещё раз. Город условно разбит на районы обслуживания. В каждом районе 200-300 точек. Все они охватываются маршрутами, в каждом из которых 30-60 точек. Никакие «поиски кратчайшего расстояния» с Дейкстрами и прочими нахрен не сдались -- во-первых курьеры, ориентируясь на местности, лучше знают как им ездить, во-вторых для этого функционала достаточно сходить на Гугел-мапс. Маршруты по разным причинам всё время немного меняются -- исчезают старые и появляются новые точки, где-то водопроводчики на две недели дорогу перекопают, а где-то проделанная дыра в заборе позволит сократить путь на лишний километр. Всё это надо каждый раз ОПЕРАТИВНО перерисовывать, перепечатывать и считать длины -- вот это и есть основная задача -- правильно нарисовать и правильно подсчитать. Всякие мапсы и дупели такой функциональности не предоставляют.
то придется разрабатывать.
Как у вас с Python и C++?

И еще не понятно, если
Aq_Stranger писал(а): Никакие «поиски кратчайшего расстояния» с Дейкстрами и прочими нахрен не сдались -- во-первых курьеры, ориентируясь на местности, лучше знают как им ездить, во-вторых для этого функционала достаточно сходить на Гугел-мапс.
зачем вам вообще ГИС? Вы и без ГИС, судя по этой фразе, лучше ориентируетесь на местности.

trir
Гуру
Сообщения: 5298
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1015
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение trir » 17 мар 2013, 17:51

Дайте курьеру GPS'ку - он запишет трек. По полученному треку узнаете расстояние. Загрузите его в SAS.Planet и получите картинку, с какой угодно картой/снимками.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Нарисовать курьерский маршрут в QGis и экспортировать в

Сообщение Дмитрий Барышников » 17 мар 2013, 18:40

Да можно и на смартфон записать. Благо программ трекеров полно.
Можно вообще отслеживать в реальном времени: http://habrahabr.ru/post/129395/

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 1 гость