Установка и настройка Mapnik

Здравствуйте, уважаемые Специалисты. У вас я впервые и не совсем понял как здесь создаются темы.
Нужна помощь в решении моей проблемы. На форуме Ubuntu посоветовали обратится к Вам (вот ссылка: http://forum.ubuntu.ru/index.php?topic=252708.new#new ).
Проблема следующая:
Как установить и настроить генератор тайлов Mapnik2 на Lubuntu 14.04 + Python 2.7.6 + PostgreSQL 9.3.5 + PostGIS 2.1 c целью домашнего рендеринга карт из данных OSM.

Мой опыт работы под Linus не большой (всего 4 месяца,опыт работы с серверами баз данных и базами данных практически отсутствует. В течении месяца пытался на своей системе настроить генератор тайлов Mapnik2, необходимый мне для одной программы навигации (GpsDrive), но ничего, к сожалению,не получилось. Отчаялся уже совсем… Много гуглил, потом много чего пробовал делать из найденного,периодически переустанавливал свою систему (Lubuntu 14.04),но в итоге проблему не решил. **Наиболее полную и понятную для своего уровня инструкцию нашёл такую:
**

Установка генератора тайлов Mapnik2 на Kubuntu 13.10 + Python 2.7.5+ c целью домашнего рендеринга карт из данных OSM

При написании использовался как источник:

http://habrahabr.ru/post/144675/

Я постарался дополнить его информацией которая в нём отсутствует.

А также http://vladimir-stupin.blogspot.com/2012/07/mapnik_29.html

без которого бы у меня не получилось распутать все хитросплетения описанные в первом источнике.

1).Ставим базу данных PostgreSQL:

$ sudo apt-get install postgresql

Ставим утилиту поиска файлов, которая нам далее очень пригодится:

$ sudo apt-get install findutils locate

Далее нам необходимо узнать расположение файла pg_hba.conf

$ sudo updatedb

$ locate pg_hba.conf

В моём случае он расположен в /etc/postgresql/9.1/main/pg_hba.conf

Открываем его в любом текстовом редакторе для правки:

$ sudo nano /etc/postgresql/9.1/main/pg_hba.conf

Находим строку  

local all all peer  

и заменяем peer на password (для домашнего пользования не обязателен высокий уровень безопасности), сохраняем файл и выходим из редактора

Далее перезапускаем PostgreSQL:

$ sudo /etc/init.d/postgresql restart

Заменяем пароль пользователя postgres, созданного автоматически при установке PostgreSQL на свой собственный (чтобы не забыть :) ):

$ sudo passwd postgres

<мой_пароль>

<повторяем мой_пароль>

Заходим в консоль управления PostgreSQL и создаём пользователя и базу с доступом через обычный пароль :

$ su postgres

<мой_пароль>

$ psql

postgres=# CREATE ROLE osm WITH SUPERUSER PASSWORD 'мой_пароль' LOGIN;

CREATE ROLE

Обратите внимание на одинарные кавычки в которые взят пароль в них может скрываться ошибка при копировании со строки браузера. Наберите их вручную. Продолжаем:

postgres=# CREATE DATABASE osm;

CREATE DATABASE
postgres=# \q
Проверяем работоспособность нового пользователя:
$ psql -U osm -d osm -W

<мой_пароль>

osm=#

Если удачно вошли в консоль psql под пользователем osm, то всё в порядке. Снова выходим из консоли и из режима пользователя postgres:

osm=# \q

$ exit

2). Установка osm2pgsql:

Это пункт, выполняемый в одну команду:

$ sudo apt-get install osm2pgsql

3). Установка PostGIS:

Собственно она уже установилась когда мы ставили osm2pgsql. Но та версия нам категорически не подходит. Как не хотелось этого делать, но эту программу пришлось компилировать из исходных кодов. Иначе нельзя. Потому как в родных репозиториях недостаёт нужных нам файлов.Скачиваем программу с помощью wget и распаковываем с помощью tar:
$ wget http://postgis.refractions.net/download/postgis-1.5.4.tar.gz
$ tar xvfz ./postgis-1.5.4.tar.gz
Переходим в папку с исходниками и конфигурируем их. Это самое нудное занятие, поскольку приходится ставить отсутствующие в системе пакеты в ответ на возникающие при конфигурировании ошибки. Это пакеты «development» с приставкой -dev. На моей системе это были пакеты: libpq-dev, postgresql-server-dev-9.1, libxml2-dev, libgeos-dev, libproj-dev.
$ cd postgis-1.5.4
$ sudo ./configure
Если добились PostGIS is now configured for... то:
$ sudo make install

Устанавливаем специальный язык в базу osm:

$ createlang plpgsql osm -U osm -W

С помощью locate находим два файла postgis.sql и 900913.sql

У меня они находятся по адресу:

/usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql

и

/usr/share/osm2pgsql/900913.sql

Не забываем перед поиском выполнить $ sudo updatedb Далее выполняем от пользователя postgres:

$ su postgres

<мой_пароль>
$ psql -U osm -d osm -W -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
$ psql -U osm -d osm -W -f /usr/share/osm2pgsql/900913.sql
Если выдаёт ошибки типа ERROR: type «geometry» does not exist выполните $ sudo ldconfig и снова повторите выполнение файлов.
Выходим из под пользователя postgres:
$ exit
$ cd ..

4). Установка Mapnik2:
Всё просто:
$ sudo apt-get install python-mapnik2
Проверяем установку заходя в консоль python:
$ python
>>> import mapnik2
При этом не должно быть никаких сообщений об ошибках
Ctrl+D для выхода из консоли.
Установка дополнительных скриптов для Mapnik2:
$ sudo apt-get install subversion
$ svn co "http://svn.openstreetmap.org/applications/rendering/mapnik"
$ cd mapnik
$ bash ./get-coastlines.sh
И ждём пока скрипт закачает почти 500 Мб данных с довольно низкой скоростью.
Дополнительные заморочки:
Устанавливаем шрифт ttf-unifont:
$ sudo apt-get install ttf-unifont
Далее необходимо узнать где mapnik2 держит свои шрифты:
$ python -c "import mapnik2;print mapnik2.fontscollectionpath"
У меня это папка /usr/share/fonts/truetype/ttf-dejavu
Ищем с помощью locate установленный перед этим шрифт unifont.ttf:
$ sudo updatedb
$ locate unifont.ttf
У меня результат поиска был /usr/share/fonts/truetype/unifont/unifont.ttf
Копируем этот файл в папку к остальным шрифтам mapnik2:
$ sudo cp /usr/share/fonts/truetype/unifont/unifont.ttf /usr/share/fonts/truetype/ttf-dejavu
Проверяем наличие нужного шрифта:
$ python
>>> from mapnik2 import *
>>> for face in FontEngine.face_names(): print face
...[Enter]
Должен появится список шрифтов DejaVu* и среди них скопированный нами шрифт unifont Medium.
Ctrl+D для выхода из консоли.
Выполним редактирование конфигурации сервера PostgreSQL:
$ sudo kate /etc/postgresql/9.1/main/postgresql.conf
В конфиге изменим строки:
checkpoint_segments = 20
autovacuum = off
Перезапустим сервер:
$ sudo /etc/init.d/postgresql restart
Теперь надо загрузить в базу первый файл данных OSM. Попутно автоматически в базе создадутся таблицы Planet_osm* необходимые нам далее. Копируем файл данных OSM в папку mapnik и выполняем:
$ osm2pgsql -U osm -d osm -W data.osm.bz2

<мой_пароль>

Если при загрузке файла данных появляется WARNING: то необходимо увеличить кэш программы с помощью параметра -С 3076 где число — это объём кэша в мегабайтах. Для linux 32-bit этот объём не может быть больше 3 Гб:
$ osm2pgsql -C 3076 -U osm -d osm -W data.osm.bz2

При загрузке файлов данных большого объёма программа может завершиться с ошибкой. Пробуем запустить её с параметром --slim, но это сильно замедлит скорость загрузки файла:
$ osm2pgsql --slim -U osm -d osm -W data.osm.bz2

Имейте в виду что описанные команды перезатирают содержимое базы данных. Для добавления нескольких файлов в базу перечисляйте их имена последовательно через пробел:
$ osm2pgsql -C 3076 -U osm -d osm -W data1.osm.bz2 data2.osm.bz2
либо при добавлении файлов к уже существующим данным в базе использовать параметр --append:
$ osm2pgsql -С 3076 -U osm -d osm -W data1.osm.bz2
$ osm2pgsql --append -С 3076 -U osm -d osm -W data2.osm.bz2

Теперь необходимо сгенерировать свой собственный XML файл стилей:
$ python generate_xml.py osm.xml my_osm.xml --dbname osm --user osm --password <мой_пароль> --accept-none
Mapnik готов для генерации тайлов
Генерация тайлов:
Создаём в папке mapnik папку Tiles

Открываем в редакторе скрипт mapnik/generate_tiles.py  

Находим строку с mapfile = home + "/svn.openstreetmap.org/applications/rendering/mapnik/osm-local.xml" и изменяем переменную mapfile =  home + "/mapnik/my_osm.xml"

Находим строку с tile_dir = home + "/osm/tiles/" и заменяем её на tile_dir = home + "/mapnik/Tiles/"

Далее устанавливаем границы рендеринга. Их легко «стянуть» со страницы http://www.openstreetmap.org/export Они должны быть взяты отсюда поочерёдно против часовой стрелки начиная с левой и подставлены далее как <left>,<bottom>, <right>,<top>  

Находим в generate_tiles.py строки:

bbox = (-180.0,-90.0, 180.0,90.0)

render_tiles(bbox, mapfile, tile_dir, 0, 5, "World")

И сразу перед ними добавляем следующее :

bbox = (<left>,<bottom>, <right>,<top>)

render_tiles(bbox, mapfile, tile_dir, 16, 16, "My_First_Tiles")

exit()

Причём первое число 16 — это минимальный зум, второе число 16 — это максимальный зум. То есть можно устанавливать с какого по какой зум рендерить карту.
Запускаем скрипт командой 
$ python ./generate_tiles.py
Для работы с polytiles.py надо установить пакет python-psycopg2, python-shapely, python-gdal
Файл generate_tiles_multiprocess.py позволяет повысить производительность рендеринга, если процессор компьютера не загружен на максимум при работе скрипта generate_tiles.py

Полная ссылка на эту инструкцию: http://mister-gemix.narod.ru/index/mapnik2/-9-0-9
В репозитариях Lubuntu 14.04 и (Ubuntu 14.04)нет предлагаемых пакетов PostgreSQL 9.1 и PostGIS 1.5.4. Попытки установки этих старых версий порождают массу проблем и конфликтов в системе, да и генерация тайлов в итоге не получается. Имеется в виду, что в репозитарии есть PostgreSQL, но не та версия (PostgreSQL 9.1), что описана в инструкции, а есть другая - PostgreSQL 9.3.5. И Python 2.7.6 в репозитарии есть, и PostGIS 2.1. Т.е. все программы и компоненты для работы рендеринга Mapnik2 - есть, но более новые их версии (по сравнению с использованной инструкцией).

А комплект рендеринга с Mapnik2 на Lubuntu 14.04 (PostgreSQL 9.3.5 + Python 2.7.6 + предлагаемый к установке в инструкции “старый” PostGIS 1.5) не настраивается и не работает. Вот я и пытаюсь получить ответ(совет) - как изменить использованную мной вышеуказанную инструкцию со “старыми” версиями комплекта программ для работы с тем же комплектом - но “новых” версий программ (которые устанавливаются из репозитария).
Подскажите мне неопытному, уважаемые, если это возможно и не слишком сложно для Вас – **как мне настроить рендеринг карт из данных OSM с использованием имеющихся в Lubuntu 14.04 -
**PostgreSQL 9.3.5 + PostGIS 2.1 + Python 2.7.6. Ах если бы Вам удалось модифицировать эту инструкцию или создать новую, лучшую… - наверное, это будет многим очень актуально и полезно.
Буду бесконечно Вам благодарен.
С уважением,burdasov.

А в чём собственно проблема? Рендеринг прекрасно работает с pg 9.3 + postgis 2.1. Старые версии ставить совершенно необязательно.

К тому же свежий постгис устанавливается очень просто, если правильно помню, достаточно установить пакеты из штатного репозитария и настроить базу данных тремя командами http://postgis.net/docs/manual-2.1/postgis_installation.html#create_new_db_extensions

Хм. А на каком именно моменте все сломалось?

Инструкция негодная.
Выбросить и забыть про неё.

Есть официальная инструкция из первоисточника, свежая, актуальная, простая.

https://github.com/mapnik/mapnik/wiki/UbuntuInstallation#install-from-packages

http://switch2osm.org/serving-tiles/manually-building-a-tile-server-14-04/

Уважаемые Специалисты, спасибо за советы. Спасибо Alexandr Zeinalov, gryphon, Maxim Dementyev, fndoder, Zverik.
Ваши ссылки оказались для меня важными и я много узнал для себя полезного.
Как я уже и писал выше - мой опыт работы под Linus не большой (всего 4 месяца,опыт работы с серверами баз данных и базами данных практически отсутствует. Ранее, в 90-е годы, я заведовал отделением реанимации в ЦКБ СОРАН (в Новосибирском Академгородке), где мне впервые пришлось соприкоснуться лично с БД - участвовал в разработке распределённых БД больных в своей больнице (писал тех.задание для программистов) и системы формирования дневников наблюдения и лечения моих больных.
Сейчас я являюсь врачом анестезиологом-реаниматологом выездной реанимационной (“шоковой”) бригады скорой медицинской помощи г. Новосибирска. Однако круг моих интересов выходит за пределы моей специальности.
Преамбула имеющейся проблемы состоит вот в чём. Моя бригада выезжает для спасения больного, который находится в крайне тяжёлом состоянии (возможно в состоянии клинической смерти). Адрес выезда - место, куда ездят редко, сложно и никто не подскажет как ехать особенно ночью. Забиваем адрес в штатный навигатор на борту реанимобиля и мчимся. Прокладывается маршрут, мы движемся по нему, Но навигатор не знает, что на пути выкопали ямы, установили шлагбаумы (которые никто не открывает), есть какие-то непреодолимые в данной ситуации препятствия для проезда. По ситуации мы начинаем метаться, искать новые маршруты проезда, новые пути. А время идёт и идёт (для кого-то время жизни, а для кого-то время смерти). Итак мы нашли, мы доехали, но другие бригады в другой день, в другую смену знать не будут и всё повторится сначала.
Каков выход из данной ситуации, когда в следующий раз выезжаешь примерно в те же места для максимальной скорости доезда до критического больного? У меня есть ноутбук с Lubuntu 14.04 и программой GpsDrive, которая умеет писать Gps-треки и “наводить” по ним маршруты проезда в заданную точку прибытия. Этими треками я могу обменяться со своими коллегами - у которых стоят те же программы. Вот зачем я пытаюсь уже больше месяца решить эту проблему для себя и своих коллег.

Проблема моя в том, что я не имею достаточного опыта и, хотя постоянно работаю над собой, но его всё равно пока не хватает. Поэтому я и пошёл по пути поиска инструкции для решения. “… Инструкция негодная. Выбросить и забыть про неё…”, “… Рендеринг прекрасно работает с pg 9.3 + postgis 2.1. Старые версии ставить совершенно необязательно…”. Советы совершенно правильны, но написать для себя новую актуальную инструкцию я сам не смог (не тот к сожалению у меня уровень знаний).
Попытаюсь со своей “неопытной” колокольни пояснить, чего я пытаюсь добиться и что у меня не получилось (ссылаясь на “негодную” инструкцию):

Итак у меня имеется установленный комплект на Lubuntu 14.04: PostgreSQL 9.3.5 + PostGIS 2.1 + Python 2.7.6. (а в “негодной” инструкции описана работа с PostgreSQL 9.1 и PostGIS 1.5.4.)
Я так понимаю, что весь этот “комплект” программ (Mapnik2 + PostgreSQL 9.3.5 + PostGIS 2.1 + Python 2.7.6.) “заточен” для работы с геоинформационными системами. Все создаваемые “комплектом” БД имеют стандартные названия и стандартную структуру. При этом создаются автоматически некие скрипты имеющие стандартные известные названия и они запускаются вручную или автоматически. Затем пользователь стандартным образом “загоняет” OSM-файл в систему, БД его “понимают”. Затем происходит рендеринг карт, генерация тайлов. После чего разные навигационные системы обращаются для своей работы к этим стандартным базам, конфигурацинным файлам “комплекта” и тайлам стандартным образом и всё это работает.
Т.е. итог "комплекта"работы должен быть после загрузки файла *.osm Новосибирской Области - складывание сгенерированных тайлов в некую папку (например Tiles) и программа навигации ( у меня GpsDrive ) обращается к этой папке и конфигурацинным файлам “комплекта” для своей работы. Например у GpsDrive - такой конфигурационный файл - gpsdriverc :

showwaypoints = 1
travelmode = 0
navigationtype = 0
showtrack = 0
showdestline = 0
trackpointsinterval = 1
trackautosaveinterval = 1
trackautosaveprefix = autosave
trackautoclean = 0
showdashboard = 1
showcompass = 1
showbuttonmenu = 1
showbutton_zoom = 1
showbutton_scaler = 1
showbutton_mute = 1
showbutton_find = 1
showbutton_route = 1
showbutton_map = 1
showbutton_trackrestart = 1
showbutton_trackclear = 1
showbutton_explore = 1
showbutton_addwpt = 1
menubuttonsmode = 2
mutespeechoutput = 0
showtopomaps = 1
autobestmap = 1
units = metric
altitude = meters
savetrack = 0
mapsource_type = 0
mapsource_scale = 0
scalewanted = 2000
lastlong = 83.114575
lastlat = 54.838270
shadow = 0
waypointfile = /home/mikle/.gpsdrive/way.txt
geoinfofile = /usr/share/gpsdrive/geoinfo.db
osmdbfile = /usr/share/gpsdrive/osm.db
mapdir = /home/mikle/.gpsdrive/maps/
trackdir = /home/mikle/.gpsdrive/tracks/
routedir = /home/mikle/.gpsdrive/routes/
navigation_modulesdir = /usr/lib/gpsdrive
navigation_module = nav_dummy
mapnik = 0
mapnik_caching = 1
mapnik_postgis_dbname = gis
mapnik_xml_file = /home/mikle/.gpsdrive/osm.xml
mapnik_xml_template = /usr/share/gpsdrive/osm-template.xml
mapnik_input_path = /usr/lib/mapnik/2.2/input/
mapnik_font_path = /usr/share/fonts/truetype/ttf-dejavu/
simfollow = 0
minsecmode = 2
posmarker = 0
nightmode = 0
cpuload = 40
use_database = 1
dbdistance = 2000.0
font_bigtext = Sans bold 26
font_wplabel = Sans 11
font_friends = Sans bold 11
font_pda_bigtext = Sans bold 16
font_pda_wplabel = Sans 8
font_pda_friends = Sans bold 10
friendsserverip = 127.0.0.1
friendsserverfqn = friendsd.gpsdrive.de
friendsname = 
friendsidstring = JxFZeWKZuYdS3tE14eRfk/
usefriendsserver = 0
maxfriendssecs = 1209600
poi_results_max = 200
poi_searchradius = 10.0
storetz = 0
dashboard_1 = 0
dashboard_2 = 4
dashboard_3 = 8
dashboard_4 = 11
bigcolor = #000080
trackcolor = #0000ff
trackstyle = 3
routecolor = #00ff00
routestyle = 1
friendscolor = #ffa500
wplabelcolor = #00ffff
map_daycolor = #ffebcc
map_nightcolor = #330033
messagenumber = 0
speech = 0
speech_module = espeak
speech_voice = default
speech_mbroladir = /usr/share/mbrola/
speech_speed = 0
speech_pitch = 0
sound_direction = 1
sound_distance = 1
sound_speed = 1
sound_gps = 1
icon_theme = square.big
poi_filter = 
poi_label = 
quickpoint_mode = 1
quickpoint_number = 0
quickpoint_text = WP_
quickpoint_type = waypoint.pin.green
draw_grid = 0
show_maptype = 0
show_zoom = 1
show_scalebar = 1
show_battery = 0
show_temperature = 0
rotating_compass = 1
show_wayinfo = 0
draw_poi = 3
draw_wlan = 0
display_map_base_maps = 1

Пункты с которыми всё получилось
1).Ставим базу данных PostgreSQL
2). Установка osm2pgsql
4). Установка Mapnik2 - устанавливается вроде без ошибок, хотя уже здесь возникают проблемки при проверке mapnik2
(- Проверяем установку заходя в консоль python:
# python
Python 2.7.6 (default, Mar 22 2014, 22:59:38)
[GCC 4.8.2] on linux2
>>> import mapnik2
/usr/lib/python2.7/dist-packages/mapnik2/init.py:27: DeprecationWarning: mapnik2 module has been deprecated,
please use ‘import mapnik’
warnings.warn(msg, DeprecationWarning)
>>> import mapnik
>>> )
Пункты с которыми ничего не получилось
3). Установка PostGIS:
Автор “негодной” инструкции пишет “… Но та версия нам категорически не подходит. Как не хотелось этого делать, но эту программу пришлось компилировать из исходных кодов. Иначе нельзя. …” Почему не подходит, почему нельзя - я так и не понял, но после скачивания - установить postgis-1.5.4 не удалось, что наверное и неудивительно для более старой версии postgis.

Таким образом после пункта 3). Установка PostGIS “негодной” инструкции - ничего и не получается у меня.
Да и с пунктом 4). Установка Mapnik2 - в подпунктах - проблемы “Проверка установки Mapnik2” - и “Установка дополнительных скриптов для Mapnik2” (скрипты выдают ошибки и не работают, а где взять “правильные” скрипты - я не знаю).

Глубокоуважаемые Специалисты, Гуру, профессионалы! Я знаю, что моя проблема для Вас настолько тривиальна, что её решение для Вас просто не представляет проблемы, просто, наверное, “раз плюнуть”. Уж снизойдите пожалуйста до нас, убогих и ничтоже сумнящихся.
**Помогите с инструкцией настройки для неопытных, напишите, как изменить “негодную” инструкцию НАЧИНАЯ С ПУНКТА 3 (Установка PostGIS) с той же степенью подробности, как она исходно была составлена.
**Весь наш врачебно-реанимационный коллектив Новосибирской Скорой Помощи и спасённые больные и я лично - будут Вам бесконечно благодарны.
И я думаю, что всем нам ТАМ (куда все мы когда то уйдём) - зачтётся когда то.
С уважением,burdasov.

Зачем Вам навигация по растровому мапнику, почему не векторные карты и программы ?
Например бесплатный 7 Дорог под винду. Когда речь идет о жизни - тут не до холиваров linux vs windows.
Или я чего-то не понял и мапник нужен для диспетчера, как у таксистов (извините за сравнение, но принцип навигации очень схож).

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

Согласен с freeExec

Более правильным подходом в вашем случае кажется было бы встреченные препятствия в проезде переносить в базу OpenStreetMap. И строить машруты автоматически с помощью специализированных приложений.

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

Такой подход потребует меньше усилий, а результаты будут доступны всем, а не только вашим коллегам.

Но у меня на моём маломощном ноутбуке не просто так стоит Lubuntu 14.04, а потому что под win на нём всё очень тормозит и аккумулятор очень быстро разряжается, да и Linux теперь мне очень стал нравиться. так что дело не в холиварах. Навигация - это может быть одна из самых важных задач на ноуте, но это лишь одна из задач.

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

А смартфон у Вас есть, на нём вы навигацию пробовали?
Как вариант лёгкой замены громозкого мапника куда удобней и быстрей попробовать alacarte. Ну и собственно для роутинга поднять у себя http://map.project-osrm.org , я правда не уверен что такой плохенький ноутбук справиться с генерацией графа.

Мне кажется самый простой и быстрый вариант - смартфон с кейпадмаппер3 (умеет слать треки на емайл) , править в джосм, выгружать в базу опенстритмап и через 1-3 дня скачивать с рамблера готовые карты для навигатора.

Смартфона нет. Есть ноутбук, есть Gps-датчик BT-821 (блютус). На телефоне навигацию пробовал раньше - работает, как и на штататном навигаторе в машине. Но треки пути там не пишутся

alacarte не пробовал, но я столько возился с этой проблемой, что на alacarte и … поднять у себя http://map.project-osrm.org боюсь уже сил и квалификации не хватит.
А что - настроить мапник, как я пытаюсь (PostgreSQL 9.3.5 + PostGIS 2.1 + Python 2.7.6.) - это такая архисложная задача для специалистов Вашего уровня на Вашем сайте?

Полученные программой GpsDrive треки, маршруты можно посылать в базу OpenStreetMap - так что результаты и будут доступны всем.

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

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

P.S.: Если с программами выше ничего подходящего найти не получится, то как вариант можно ещё через виртуалку запустить тот же OsmAnd, там и построение маршрутов с учётом препятствий, и поиск адресов, и запись маршрутов с отображением заранее записанных треков, в общем, вроде бы всё что необходимо. Хотя в таком уж случае, удобнее было бы найти дешёвый планшет или телефон, чем костыли подымать.

Троллинг (“Линукс ни на что не годен”, “в ОСМ никто ничего не умеет”) раскрылся раньше времени - на первой странице темы.

Да Бог с вами, даже в мыслях у меня этого нет, никаких даже намёков на троллинг. Просто писал на разные сайты, нигде толком ничего не смогли решить. посоветовали ваш сайт, как последнюю инстанцию - вот ссылка: http://forum.ubuntu.ru/index.php?topic=252708.new#new
Просто очень хочется решить проблему, а знаний и опыта не хватает. Может Вы чем-то поможете.
С уважением,burdasov.

Если Ваш ноутбук не тянет Windows - работа с Мапником будет не меньшим мучением. У нас тут стараются решать практические задачи оптимальными средствами.

PS: что это за программа навигации такая “мощная” для Linux что ей нужен Мапник… Неужели нет других программ для Линукс, работающих по-человечески, т.е. с векторными картами ?
http://wiki.openstreetmap.org/wiki/Software/Desktop

Я так понимаю запись и отображение треков - это основное условие. Может кто-то посоветуют достойную альтернативу…

Подождите, мапник же это просто картинки, как цифровое фото бумажной карты, навигация по мапнику не работает. Вам точно нужен именно мапник?