Актуальные задачи, требующие искусства программирования

Там на предыдущей странице есть РФ. Из нее можно вырезать кусок нужного размера прямо в gpsmapedit

Закоммитил

Так, последняя версия программы от OverQuantum поставлена в процесс конвертации в Ситигид.

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

Тем не менее, от OverQuantum имеется ремарка:

OverQuantum, теперь ты должен либо это подтвердить (и тогда мы будем ждать результата от freeExec), либо приходить за призом на осм-встречу.

Подтверждаю, ждём. Прогресс в репо freeExec наблюдается, так что имеет смысл сохранить стимул :slight_smile:

Так, небольшой ап темы.

OverQuantum, ты не мог бы посмотреть в чем дело?
Вот эта карта зависает:
http://peirce.gis-lab.ru/misc/PL-OVRV.roads.zip

Эмн. Хм. Ну… как бы… эта. :slight_smile:
Вот это highway = secondary + area = yes в mp файле есть изолированный, ни к чему не подключенный цикл дорог. SaveChain зациклился.
Сейчас запатчу.

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

Да это не вопрос. Мне стыдно :expressionless:
Другие использования такого же обхода от зацикливания уже экранированы, ибо нарывался, а тут пропустил.

Пофиксил.
Результат обработки RU-OVRV.roads.mp не меняется.

Почти готово, идёт последние зарубы топора :slight_smile: На мелких файлах из примера даёт идентичный результат. А вот на http://peirce.gis-lab.ru/misc/PL-OVRV.roads.zip есть оличия :frowning:
Нашёл одно из проблемных мест, визуально багованная версия выглядит генерализированней :slight_smile:

Как я уже писал, результат некоторых функций зависит даже от порядка расположения точек и отрезков в массивах.
Надо смотреть на какой стадии возникает разница.

Да как ты и говорил, всё дело оказалось в функции delNode.delEdge(). В твоём коде на место дырки вставляется последний элемент, у меня же списки удаляют элемент сдвигая все остальные. Насколько такое нарушение критично ?

ИМХО, совершенно не критично.

Ну раз не критично, то вот пробуйте.

freeExec, ты имеешь ввиду что это окончательный вариант, который нужно пробовать? Если да, постараюсь попробовать в выходные)

Созрела еще одна задача.

Не секрет, что загрузить карту осм в навигатор не так просто. Злые языки говорят, что это доступно только программистам.

Соответственно задача звучит так: сделать приложение-загрузчик Osm-карт для Ситигида/Навитела/Cеми Дорог для Андроида и Айфона, которым сможет пользоваться даже блондинка.

Работать он должен так.

  1. Самостоятельно определять папку, в которую нужно складывать карты.
  2. Получать с веб свежий список карт в xml
  3. Показывать доступные для загрузки карты, с указанием статуса - карта не загружена, загружена последняя, доступно обновление.
  4. Если пользователь ткнул в карту - начинать загрузку, и показывать прогресс загрузки в процентах.

т.е. это должно быть не что иное, как специализированный диспетчер загрузок.

Как я понимаю, версия для PC тоже нужна, чтоб можно было просто подключить навигатор-устройство и залить свежую карту тем же способом.
Кстати, Garmin тоже не помешал бы. Есть сборки, не требующие mapsource (хоть и с минусами вроде отсутствующего адресного поиска), и многие Garmin-устройства+программы для андроида, винмобайла и т.д. нормально такие сборки обрабатывают.

OverQuantum,
freeExec,

Пока не могу попробовать java версию.

Но вот mp, в данном случае это испания, которую вибишная версия не понимает, выдает ошибку.
Нельзя ли посмотреть в чем дело?

http://peirce.gis-lab.ru/misc/ES-OVRV.roads.zip

VB-шной версии не хватает массива edge(20) для точек на стадии схлопывания развязок.
25 тоже не хватает.
Сколько нужно - определить не могу, там исходно больше 2М точек, в процессе образуется за 2.5М, при edge(30) в отладке выпадает Out of memory. Почему-то не смогает за ~500М памяти выйти.

ИМХО, надо рубить Испанию на зоны. mp-шник больше чем для России.

Cмысл ее рубить, если это обзорка :slight_smile:

Значит нужно Java-версию смотреть :slight_smile:

Я не обещал, что моя программа сумеет прожевать planet.mp :slight_smile: