Как нарисовать карту снуля?

Я слабо понимаю в технических аспектах. Но почему бы вам например не написать вебсайт, на котором был бы выбор А в Б, а скрипт просто бы парсил результат с того же OSRM? И в теоретической части описание алгоритмов OSRM. Или типа того.
Вы так же заглядывали в OSM файл? Загрузите, сохраните и будет вам квартал :). Писать рендер смысла нет, есть мапник.

Тут по большому писать своё вообще смысла нет. Вообще в дипломе должна быть своя изюминка - новая шестеренка повышающая точность, скорость, ещё что-то. Тут же изюменкой может быть какой-то новый коэффициент влияющий на вес ребра - таже поверхность дороги например. Но чтобы воткнуть её на нужное место и потом это спомпой преподнести существующий алгоритм надо разобрать по косточкам. Написать диплом вообщем-то реально, но не с таким патходом как:

  1. Перестаньте оверквотить!
  2. Обратите внимание на слово “реализованы” в третьем ответе. Подсказка: на него нужно нажать левой кнопкой мыши. Затем тщательно изучить открывшийся раздел вики и по ссылкам просмотреть другие материалы.
  3. Про оверквотинг уже говорил…? Ещё раз попрошу!

Я уже ознакомился с интерфейсом карт эдитора, узнал возможности, приблизительно понял что да как.
О изюминке! Самая клевая функция будет- получение пути по смс. Тоесть если человек не имеющие GPS Навигатора может просто зайти на сервис - подать запрос и получить в виде смс координаты как добраться с точки А до точки Б( к примеру если я хочу добраться на автобусе, будут номера ближайших автобусов или маршруток ). Но к этому в последнюю очередь. Сейчас главная задача использовать по максимум готовые исходники OSM.
freeExec, напишите свои контакты пожалуйста, вижу Вы в этом деле профи.

Можно посмотреть и сдернуть несколько алгоритмов с исходников навигатора https://github.com/osmandapp/Osmand

С помощью чего мне этот исходник открыть?

На каком вы факультете ?
Османд походу пишут с помощью eclipse.

Ну если такой вопрос возникает, то, имхо, не стоит и вообще браться. Ибо дальше будут вопросы из серии “а что это за буковки”.

Osmand написан на яве, некоторые части на плюсах (native-либы), но в принципе они непринципиальны.

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

  1. Ищете ближайшие рёбра навигационного графа к точкам старта и финиша. Это будут соответственно рёбра старта и финиша.
  2. Создаёте список возможных маршрутов, кладёте туда пока только два маршрута, коими будут точки-концы ребра старта.
  3. Для каждого маршрута в списке смотрите, какие рёбра (кроме предыдущего пройденного) исходят из последней точки. Если рёбер больше одного - то клонируете текущий маршрут для каждого с дописыванием этого ребра, т.е. на каждой точке “разветвления” у вас будут расходиться разные маршруты. Все эти склонированные маршруты запихиваем в общий список маршрутов.
  4. Повторяем шаг 3, пока либо не кончатся варианты, либо нам не попадётся ребро финиша.

Т.е. грубо говоря наш поиск “волной” расходится по дереву возможных вариантов, плодясь на каждом узле. Сей алгоритм крайне прожорлив с точки зрения памяти, поэтому работать будет лишь на небольших графах - поэтому берите маленький город. Несколько сэкономить память можно, проверяя не пошёл ли каждый маршрут по кольцу, т.к. в подграфах могут быть кольца.

Как только это заработает - научите ещё учитывать длины рёбер, тогда маршрут станет оптимизирован не по количеству перекрёстков, а по расстоянию.

А просто поднять pgRouting и чего-нибудь посчитать - не покатит?
Можно например рассчитать для каждого жилого дома города расстояние, сколько идти пешком до метро/парка/кладбища/школы/почты по пешеходному графу.

ЭИ- какое это имеет значение?

Я так понимаю, ему именно алгоритм нужен. А даже если он поднимет сторонний роутер - что он будет в диплом вставлять? Код типа “вот тут я запрашиваю магический шар рутинговую библиотеку, в которой что-то происходит и у меня всё работает”?

Да скажем так для моего города карта уже есть, есть дороги, все нарисовано уже. С чего начать, как открыть, посмотреть и выполнить? Я знаю этот алгоритм.
Спасибо

ахах, та да!
Кто поможет мне в этом диком, не понятно для всех, вопросе. **Финансово **конечно

Эээ… У вас какая карта “есть”? OSM? Если OSM, то качаете JOSM, в нём качаете город (если он небольшой, конечно), сохраняете в виде *.osm. А дальше открываете этот *.osm (внутри он xml) и программно разбираете. Формат описан тут.

Если город большой - качаете планету (лучше обрезанный фрагмент, например чисто РФ, т.к. весь planet.osm довольно большой) и вырезаете с помощью osmosis или самописной софтины из неё квадрат со своим городом. Дальше его сами разбираете.

Возможно, вам удобнее будет работать с “польским” форматом, из osm в него можно сконвертить.

Потому, что складывается впечатление “Смотрю в код, вижу фигу”.

Возможно стоит начать с http://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide и вытащить все дороги своего города.

Кстати да, это всяко проще, чем я описал :slight_smile:

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

По-моему тему можно закрывать. Топикстартер даже примерно не представляет себе объемы работ, на которые он замахнулся, а осталось два месяца. Тут даже банальное прикручивание SMS-шлюза может спокойно две недели убить. А шлюз надо будет кормить человеческими текстами. А написать робота для генерации человеческих текстов по дорожному графу - тоже отдельная небанальная задача. А он ведь хочет СМС-ки еще и получать - написанное с нуля распознавание человеческих текстов это почти на кандидатскую потянет. Про работу с самим дорожным графом тут уже много чего понаписали, если с нуля начинать это тоже совсем не пять минут

Мой совет - бегом к руководителю и просить сузить или поменять задачу.

Ну смс’ки тут даже не рассмотривались - это наверное даже технически дорогое удовольствие, можно оставить на кандидатскую, если конечно доживёт :slight_smile: А объём работы не может оценить, потому как даже не знает какие и в каком виде данные у него есть и в каком виде надо представить конечный результат. Отсюда и не знает с какого конца подступить.

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