Карты для maemo-mapper из BSB, Ozi и просто изображений

Я уже писал об этой технике немного раньше. Сейчас можно конвертировать так-же и Ozi карты и просто изображения, в том числе и на Windows. В принципе получается набор тайлов, совместимых с Google Maps, так что наверное их можно приспособить и для других программ.

ниже -- инструкция по-русски

ВНИМАНИЕ!

Новые версии этих скриптов теперь находятся здесь: http://code.google.com/p/tilers-tools
а можно инструкцию на русском? о того момента как запихнуть ее в программу навигации
dragonleo:а можно инструкцию на русском? о того момента как запихнуть ее в программу навигации

В смысле \"как подключить db файл к maemo-mapper\"?
если можно то от начала и до конца.. как подготовить карту и прикрутить к программе!
очень нужны карты Ozi!
а то в английском я плохо разбираюсь, чтобы перевести инструкцию :-( и думаю мало ли, что не так сделаю
Есть 50-метровки с замечательного сайта poehali.org/maps - большие топологические карты в формате gif с привязками OZI explorer (OziExplorer Map Data File Version 2.2).
Не могли бы вы подробно расписать как запихать всё это дело в maemo-mapper (mappero на n900)?
Итак, инструкция на русском.

*** Установка программ

Для работы этих скриптов нужны: Python, Python imaging library (PIL), пакет GDAL (версия 1.7 и выше), опционально: пакет numpy and утилита pngnq. Установка всего этого под Линуксом обычно не вызывает трудностей.

Вариант установки на Windows:
[list=1]
[*]Python, PIL, numpy берем тут: http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi, http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.6.exe и http://pypi.python.org/packages/2.6/n/numpy/numpy-1.5.0.win32-py2.6.exe[/*]
[*]устанавливаем один за другим[/*]
[*]Затем, GDAL: http://vbkto.dyndns.org/sdk/release-1400-gdal-1-7-mapserver-5-6.zip распаковать куда-нибудь папку[/*]
[*]архив со скриптами (bsb2tiles.tar.gz) берем здесь: http://forums.internettablettalk.com/showpost.php?p=735405&postcount=1[/*]
[*]архив распаковать, (например 7zip http://www.7-zip.org) в другую папку[/*]
[*]скрипт gdal2tiles.py -- часть пакета GDAL, но этого скрипта нет в данном архиве GDAL. Файл gdal2tiles.py присоединен к этому сообщению, его поместить в папку с остальными файлями bsb2tiles[/*]
[*]аналогично взять bsb2tiles.bat.txt, переименовать в bsb2tiles.bat, изменить в нем пути к пакетам Python и GDAL, напр. так:
set PYTHON=D:\bin\Python26
set GDAL=D:\bin\gdal-mapserver[/*]
[*]теперь, можно запустить файл bsb2tiles.bat[/*]
[/list]
В результате появляется окно с командной строкой, где и производится дальнейшая работа с картами. Теперь можно перейти в папку, где находятся исходные данные: Ozi .map, растры .jpg, .png и т.д. Напр:

cd /d D:\test\bsb\tst-ozi

Имена файлов можно перетаскивать сюда из окон Windows Explorer

*** Подготовка данных

Скрипт ozi2gdal.py транслирует Ozi .map данные в формат GDAL .vrt . Файл растра (jpg, png, tiff) должен находиться в той-же папке, что и .map файл. Файлы формата ozf2 и ozf3 не поддерживаются, однако в Интернете есть для них конверторы.

gdal2tiles.py с помощью файла .vrt преобразует растр в папку с пирамидой тайлов. Внутри папки -- есть файл googlemaps.html, так что результат можно проверить в браузере.

tiles2mapper.py преобразует пирамиду тайлов в sqlite3 db файл.

В простейшем случае подготовка данных для maemo-mapper выглядит так:
[list=*]
[*]ozi2gdal.py my_ozi.map[/*]
[*]gdal2tiles.py my_ozi.vrt[/*]
[*]tiles2mapper.py my_ozi[/*]
[/list]

В результате получается файл my_ozi.db. Его надо скопировать на N8xx в папку, где находятся другие карты maemo-mapper. В maemo-mapper нужно создать новый репозитарий. В пути репозитария прописать путь к файлу \".db\". Значение URL в данном случае не важно, напр. можно написать http://myserver/maps/%0d/%d/%d.png

Дополнительные возможности:
[list=1]
[*]В некоторых Ozi .map файлах есть описание \"полезной\" области растра. Эту область можно \"вырезать\" с помощь опции \"--cut\" скрипта ozi2gdal.py:
ozi2gdal.py --cut my_ozi.map [/*]
[*]В некоторых картах \"ненужные\" области закрашены каким-либо цветом (а можно и закрасить самостоятельно). Их можно замаскировать опцией \"--no-data\":
ozi2gdal.py --no-data=111,222,333 my_ozi.map[/*]
[*]При вычислении тайлов верхних уровней, gdal2tiles.py дает несколько лучший результат с опцией \"-r antialias\":
gdal2tiles.py -r antialias my_ozi.vrt[/*]
[*]Диапазон зум уровней можно задать: \"-z 9-15\"[/*]
[*]Несколько карт можно сшить в одну:
tiles-merge.py map1 map2 map3 out_map
где map1, map2, map3 -- папки полученные gdal2tiles.py; out_map -- результат[/*]
[*]Пирамиду тайлов можно преобразовать в google-совместимую:
tiles-merge.py --gtiles out_map
Полученную папку gtiles можно подключить к локальному web-серверу и загрузить в к-нить другую программу (mappero?). Примерный шаблон URL:
http://myserver/my_ozi/gtiles/%0d/%d/%d.png
[/*]
[/list]
mosfet:mappero на n900

Насчет mappero. Знает-ли кто-нить где и как там хранятся карты?
Они там хранятся в виде отдельных файлов:
/home/user/MyDocs/.maps/<repository-name>/<zoomlevel>/<x>/<y>.png
Mitrandir:Они там хранятся в виде отдельных файлов:
/home/user/MyDocs/.maps/<repository-name>/<zoomlevel>/<x>/<y>.png

Тогда должно помочь

tiles-merge.py --gtiles out_map

Странно, что там вернулись к тому, с чего начали...
А что сделает эта команда?
Mitrandir:А что сделает эта команда?

Строит поддерево c google-совместимой адресацией тайлов из результата работы gdal2tiles.py
Под Линуксом это просто симв ссылки, под Windows - копии файлов
Спасибо за инструкцию! теперь пошел все ставить и делать нужные мне карты!
Что за ошибка? работаю под win7 x64.. ставил все части по ссылкам.. может разница в питоне х32?

Traceback (most recent call last):
File \"C:\karty\ozi2gdal.py\", line 251, in <module>
map2vrt(f)
File \"C:\karty\ozi2gdal.py\", line 214, in map2vrt
(width, height)=[i.strip() for i in transl_out[len('Input file size is'):].s
plit(',')] # raster width, height
ValueError: need more than 1 value to unpack
Похоже на проблему с входными данными. Они как будто оказались не в том формате, в котором ожидает скрипт.
dragonleo:
(width, height)=[i.strip() for i in transl_out[len('Input file size is'):].s
plit(',')] # raster width, height
ValueError: need more than 1 value to unpack


Перед этим должна выводиться строка вида:

Input file size is 4440, 3084

Её видимо нет в этом случае. Запустите с ключём \"-d\", результат процитируйте тут. Также было бы интересно посмотреть исходные данные. Можно дать ссылки на файлы
Раз уж mappero хранит базу в виде отдельных файлов - вопрос знатокам: как сделать чтобы системный thumbnail-генератор не мучал этот каталог?
А то ж загрузка процессора при его сканировании гарантирована, и флэш-памяти это не на пользу.
Я думаю, что тумбнэйлер в скрытую папку .maps не полезет
В MyDocs/.images лазит :(
Да и метод со скрытым каталогом какой-то костыльный.
Ну MyDocs/.images — это вообще особенная папка
По крайней мере я могу точно сказать, что тайлов Mappero в фотографиях ещё не видел
vadp:
Её видимо нет в этом случае. Запустите с ключём \"-d\", результат процитируйте тут. Также было бы интересно посмотреть исходные данные. Можно дать ссылки на файлы


вот результат, что у меня получился!

Setting environment for using the GDAL and MapServer tools.
Hiding the OCI plugin library.
C:\karty>ozi2gdal.py -d 100k--n37-013.map
DEBUG:root:[['OziExplorer Map Data File Version 2.2'], ['100k--n37-013.gif'], ['
100k--n37-013.gif'], ['1', 'Map Code', ''], ['Pulkovo 1942 (2)', 'WGS 84', '0.00
00', '0.0000', 'WGS 84'], ['Reserved 1'], ['Reserved 2'], ['Magnetic Variation',
'', '', 'E'], ['Map Projection', 'Transverse Mercator', 'PolyCal', 'No', 'AutoC
alOnly', 'No', 'BSBUseWPX', 'No'], ['Point01', 'xy', '101', '98', 'in', 'deg', '
55', '40.0000', 'N', '36', '0.0000', 'E', 'grid', '', '', '', 'N'], ['Point02',
'xy', '1324', '98', 'in', 'deg', '55', '40.0000', 'N', '36', '15.0000', 'E', 'gr
id', '', '', '', 'N'], ['Point03', 'xy', '2546', '96', 'in', 'deg', '55', '40.00
00', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy', '98'
, '1543', 'in', 'deg', '55', '30.0000', 'N', '36', '0.0000', 'E', 'grid', '', ''
, '', 'N'], ['Point05', 'xy', '1326', '1540', 'in', 'deg', '55', '30.0000', 'N',
'36', '15.0000', 'E', 'grid', '', '', '', 'N'], ['Point06', 'xy', '2553', '1538
', 'in', 'deg', '55', '30.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '',
'N'], ['Point07', 'xy', '96', '2987', 'in', 'deg', '55', '20.0000', 'N', '36', '
0.0000', 'E', 'grid', '', '', '', 'N'], ['Point08', 'xy', '1329', '2986', 'in',
'deg', '55', '20.0000', 'N', '36', '15.0000', 'E', 'grid', '', '', '', 'N'], ['P
oint09', 'xy', '2562', '2985', 'in', 'deg', '55', '20.0000', 'N', '36', '30.0000
', 'E', 'grid', '', '', '', 'N'], ['Point10', 'xy', '', '', 'in', 'deg', '', '',
'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point11', 'xy', '', '', 'in', 'de
g', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point12', 'xy', '', ''
, 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point13', '
xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['
Point14', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '
', 'N'], ['Point15', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid'
, '', '', '', 'N'], ['Point16', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '',
'W', 'grid', '', '', '', 'N'], ['Point17', 'xy', '', '', 'in', 'deg', '', '', 'N
', '', '', 'W', 'grid', '', '', '', 'N'], ['Point18', 'xy', '', '', 'in', 'deg',
'', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point19', 'xy', '', '', '
in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point20', 'xy'
, '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Poi
nt21', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '',
'N'], ['Point22', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '
', '', '', 'N'], ['Point23', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W'
, 'grid', '', '', '', 'N'], ['Point24', 'xy', '', '', 'in', 'deg', '', '', 'N',
'', '', 'W', 'grid', '', '', '', 'N'], ['Point25', 'xy', '', '', 'in', 'deg', ''
, '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point26', 'xy', '', '', 'in'
, 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point27', 'xy', '
', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point2
8', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'
], ['Point29', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '',
'', '', 'N'], ['Point30', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', '
grid', '', '', '', 'N'], ['Projection Setup', '0.000000000', '39.000000000', '1.
000000000', '500000.00', '0.00', '', '', '', '', ''], ['Map Feature = MF ; Map C
omment = MC These follow if they exist'], ['Track File = TF These follo
w if they exist'], ['Moving Map Parameters = MM? These follow if they exist']
, ['MM0', 'Yes'], ['MMPNUM', '4'], ['MMPXY', '1', '101', '98'], ['MMPXY', '2', '
2546', '96'], ['MMPXY', '3', '2562', '2985'], ['MMPXY', '4', '96', '2987'], ['MM
PLL', '1', '36.000000', '55.666667'], ['MMPLL', '2', '36.500000', '55.666667'],
['MMPLL', '3', '36.500000', '55.333333'], ['MMPLL', '4', '36.000000', '55.333333
'], ['MM1B', '11.997406'], ['MOP', 'Map Open Position', '0', '0'], ['IWH', 'Map
Image Width/Height', '2654', '3084']]
DEBUG:root:100k--n37-013.gif
DEBUG:root:['+proj=tmerc', '+lat_0=0.000000000', '+lon_0=39.000000000', '+k=1.00
0000000', '+x_0=500000.00', '+y_0=0.00', '+ellps=krass', '+towgs84=23.9,-141.3,-
80.9,0,-0.37,-0.85,-0.12', '+no_defs']
DEBUG:root:proj +proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.00000000
0 +x_0=500000.00 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85
,-0.12 +no_defs
DEBUG:root:[[['Point01', 'xy', '101', '98', 'in', 'deg', '55', '40.0000', 'N', '
36', '0.0000', 'E', 'grid', '', '', '', 'N'], ['Point02', 'xy', '1324', '98', 'i
n', 'deg', '55', '40.0000', 'N', '36', '15.0000', 'E', 'grid', '', '', '', 'N'],
['Point03', 'xy', '2546', '96', 'in', 'deg', '55', '40.0000', 'N', '36', '30.00
00', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy', '98', '1543', 'in', 'deg',
'55', '30.0000', 'N', '36', '0.0000', 'E', 'grid', '', '', '', 'N'], ['Point05'
, 'xy', '1326', '1540', 'in', 'deg', '55', '30.0000', 'N', '36', '15.0000', 'E',
'grid', '', '', '', 'N'], ['Point06', 'xy', '2553', '1538', 'in', 'deg', '55',
'30.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point07', 'xy'
, '96', '2987', 'in', 'deg', '55', '20.0000', 'N', '36', '0.0000', 'E', 'grid',
'', '', '', 'N'], ['Point08', 'xy', '1329', '2986', 'in', 'deg', '55', '20.0000'
, 'N', '36', '15.0000', 'E', 'grid', '', '', '', 'N'], ['Point09', 'xy', '2562',
'2985', 'in', 'deg', '55', '20.0000', 'N', '36', '30.0000', 'E', 'grid', '', ''
, '', 'N']], [['311242.07', '6175640.43'], ['326967.30', '6174988.30'], ['342693
.73', '6174392.91'], ['310440.22', '6157093.60'], ['326232.32', '6156439.99'], [
'342025.61', '6155843.26'], ['309639.99', '6138547.13'], ['325498.82', '6137892.
08'], ['341358.84', '6137294.03']]]
DEBUG:root:gdalinfo 100k--n37-013.gif
DEBUG:root:gdal_translate -of VRT 100k--n37-013.gif 100k--n37-013.vrt_aux -a_srs
+proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.000000000 +x_0=500000.0
0 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85,-0.12 +no_defs
-expand rgb -gcp 101 98 311242.07 6175640.43 -gcp 1324 98 326967.30 6174988.30
-gcp 2546 96 342693.73 6174392.91 -gcp 98 1543 310440.22 6157093.60 -gcp 1326 15
40 326232.32 6156439.99 -gcp 2553 1538 342025.61 6155843.26 -gcp 96 2987 309639.
99 6138547.13 -gcp 1329 2986 325498.82 6137892.08 -gcp 2562 2985 341358.84 61372
94.03

Traceback (most recent call last):
File \"C:\karty\ozi2gdal.py\", line 251, in <module>
map2vrt(f)
File \"C:\karty\ozi2gdal.py\", line 214, in map2vrt
(width, height)=[i.strip() for i in transl_out[len('Input file size is'):].s
plit(',')] # raster width, height
ValueError: need more than 1 value to unpack

C:\karty>


вот ссылка на карту http://poehali.org/maps/100k--n37-013.html
vadp:
Её видимо нет в этом случае. Запустите с ключём \"-d\", результат процитируйте тут. Также было бы интересно посмотреть исходные данные. Можно дать ссылки на файлы


вот результат, что у меня получился!

Setting environment for using the GDAL and MapServer tools.
Hiding the OCI plugin library.
C:\karty>ozi2gdal.py -d 100k--n37-013.map
DEBUG:root:[['OziExplorer Map Data File Version 2.2'], ['100k--n37-013.gif'], ['
100k--n37-013.gif'], ['1', 'Map Code', ''], ['Pulkovo 1942 (2)', 'WGS 84', '0.00
00', '0.0000', 'WGS 84'], ['Reserved 1'], ['Reserved 2'], ['Magnetic Variation',
'', '', 'E'], ['Map Projection', 'Transverse Mercator', 'PolyCal', 'No', 'AutoC
alOnly', 'No', 'BSBUseWPX', 'No'], ['Point01', 'xy', '101', '98', 'in', 'deg', '
55', '40.0000', 'N', '36', '0.0000', 'E', 'grid', '', '', '', 'N'], ['Point02',
'xy', '1324', '98', 'in', 'deg', '55', '40.0000', 'N', '36', '15.0000', 'E', 'gr
id', '', '', '', 'N'], ['Point03', 'xy', '2546', '96', 'in', 'deg', '55', '40.00
00', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy', '98'
, '1543', 'in', 'deg', '55', '30.0000', 'N', '36', '0.0000', 'E', 'grid', '', ''
, '', 'N'], ['Point05', 'xy', '1326', '1540', 'in', 'deg', '55', '30.0000', 'N',
'36', '15.0000', 'E', 'grid', '', '', '', 'N'], ['Point06', 'xy', '2553', '1538
', 'in', 'deg', '55', '30.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '',
'N'], ['Point07', 'xy', '96', '2987', 'in', 'deg', '55', '20.0000', 'N', '36', '
0.0000', 'E', 'grid', '', '', '', 'N'], ['Point08', 'xy', '1329', '2986', 'in',
'deg', '55', '20.0000', 'N', '36', '15.0000', 'E', 'grid', '', '', '', 'N'], ['P
oint09', 'xy', '2562', '2985', 'in', 'deg', '55', '20.0000', 'N', '36', '30.0000
', 'E', 'grid', '', '', '', 'N'], ['Point10', 'xy', '', '', 'in', 'deg', '', '',
'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point11', 'xy', '', '', 'in', 'de
g', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point12', 'xy', '', ''
, 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point13', '
xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['
Point14', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '
', 'N'], ['Point15', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid'
, '', '', '', 'N'], ['Point16', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '',
'W', 'grid', '', '', '', 'N'], ['Point17', 'xy', '', '', 'in', 'deg', '', '', 'N
', '', '', 'W', 'grid', '', '', '', 'N'], ['Point18', 'xy', '', '', 'in', 'deg',
'', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point19', 'xy', '', '', '
in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point20', 'xy'
, '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Poi
nt21', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '',
'N'], ['Point22', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '
', '', '', 'N'], ['Point23', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W'
, 'grid', '', '', '', 'N'], ['Point24', 'xy', '', '', 'in', 'deg', '', '', 'N',
'', '', 'W', 'grid', '', '', '', 'N'], ['Point25', 'xy', '', '', 'in', 'deg', ''
, '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point26', 'xy', '', '', 'in'
, 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point27', 'xy', '
', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point2
8', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'
], ['Point29', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '',
'', '', 'N'], ['Point30', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', '
grid', '', '', '', 'N'], ['Projection Setup', '0.000000000', '39.000000000', '1.
000000000', '500000.00', '0.00', '', '', '', '', ''], ['Map Feature = MF ; Map C
omment = MC These follow if they exist'], ['Track File = TF These follo
w if they exist'], ['Moving Map Parameters = MM? These follow if they exist']
, ['MM0', 'Yes'], ['MMPNUM', '4'], ['MMPXY', '1', '101', '98'], ['MMPXY', '2', '
2546', '96'], ['MMPXY', '3', '2562', '2985'], ['MMPXY', '4', '96', '2987'], ['MM
PLL', '1', '36.000000', '55.666667'], ['MMPLL', '2', '36.500000', '55.666667'],
['MMPLL', '3', '36.500000', '55.333333'], ['MMPLL', '4', '36.000000', '55.333333
'], ['MM1B', '11.997406'], ['MOP', 'Map Open Position', '0', '0'], ['IWH', 'Map
Image Width/Height', '2654', '3084']]
DEBUG:root:100k--n37-013.gif
DEBUG:root:['+proj=tmerc', '+lat_0=0.000000000', '+lon_0=39.000000000', '+k=1.00
0000000', '+x_0=500000.00', '+y_0=0.00', '+ellps=krass', '+towgs84=23.9,-141.3,-
80.9,0,-0.37,-0.85,-0.12', '+no_defs']
DEBUG:root:proj +proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.00000000
0 +x_0=500000.00 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85
,-0.12 +no_defs
DEBUG:root:[[['Point01', 'xy', '101', '98', 'in', 'deg', '55', '40.0000', 'N', '
36', '0.0000', 'E', 'grid', '', '', '', 'N'], ['Point02', 'xy', '1324', '98', 'i
n', 'deg', '55', '40.0000', 'N', '36', '15.0000', 'E', 'grid', '', '', '', 'N'],
['Point03', 'xy', '2546', '96', 'in', 'deg', '55', '40.0000', 'N', '36', '30.00
00', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy', '98', '1543', 'in', 'deg',
'55', '30.0000', 'N', '36', '0.0000', 'E', 'grid', '', '', '', 'N'], ['Point05'
, 'xy', '1326', '1540', 'in', 'deg', '55', '30.0000', 'N', '36', '15.0000', 'E',
'grid', '', '', '', 'N'], ['Point06', 'xy', '2553', '1538', 'in', 'deg', '55',
'30.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point07', 'xy'
, '96', '2987', 'in', 'deg', '55', '20.0000', 'N', '36', '0.0000', 'E', 'grid',
'', '', '', 'N'], ['Point08', 'xy', '1329', '2986', 'in', 'deg', '55', '20.0000'
, 'N', '36', '15.0000', 'E', 'grid', '', '', '', 'N'], ['Point09', 'xy', '2562',
'2985', 'in', 'deg', '55', '20.0000', 'N', '36', '30.0000', 'E', 'grid', '', ''
, '', 'N']], [['311242.07', '6175640.43'], ['326967.30', '6174988.30'], ['342693
.73', '6174392.91'], ['310440.22', '6157093.60'], ['326232.32', '6156439.99'], [
'342025.61', '6155843.26'], ['309639.99', '6138547.13'], ['325498.82', '6137892.
08'], ['341358.84', '6137294.03']]]
DEBUG:root:gdalinfo 100k--n37-013.gif
DEBUG:root:gdal_translate -of VRT 100k--n37-013.gif 100k--n37-013.vrt_aux -a_srs
+proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.000000000 +x_0=500000.0
0 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85,-0.12 +no_defs
-expand rgb -gcp 101 98 311242.07 6175640.43 -gcp 1324 98 326967.30 6174988.30
-gcp 2546 96 342693.73 6174392.91 -gcp 98 1543 310440.22 6157093.60 -gcp 1326 15
40 326232.32 6156439.99 -gcp 2553 1538 342025.61 6155843.26 -gcp 96 2987 309639.
99 6138547.13 -gcp 1329 2986 325498.82 6137892.08 -gcp 2562 2985 341358.84 61372
94.03

Traceback (most recent call last):
File \"C:\karty\ozi2gdal.py\", line 251, in <module>
map2vrt(f)
File \"C:\karty\ozi2gdal.py\", line 214, in map2vrt
(width, height)=[i.strip() for i in transl_out[len('Input file size is'):].s
plit(',')] # raster width, height
ValueError: need more than 1 value to unpack

C:\karty>


вот ссылка на карту http://poehali.org/maps/100k--n37-013.html
dragonleo:Что за ошибка? работаю под win7 x64.. ставил все части по ссылкам.. может разница в питоне х32?

Как видно сакраментальное \"Input file size is XXX, YYY\" так и не печатается. Похоже некая несовместимость с win7. Какой всё-же Питон установлен 32 или 64?
тот который по сылке.. он наверное х32?.. мне для х64 винды поставить соответствующую версию?
а карту попробывать не можете ? может дело в карте..
dragonleo:
DEBUG:root:gdalinfo 100k--n37-013.gif
DEBUG:root:gdal_translate -of VRT 100k--n37-013.gif 100k--n37-013.vrt_aux -a_srs
+proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.000000000 +x_0=500000.0
0 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85,-0.12 +no_defs
-expand rgb -gcp 101 98 311242.07 6175640.43 -gcp 1324 98 326967.30 6174988.30
-gcp 2546 96 342693.73 6174392.91 -gcp 98 1543 310440.22 6157093.60 -gcp 1326 15
40 326232.32 6156439.99 -gcp 2553 1538 342025.61 6155843.26 -gcp 96 2987 309639.
99 6138547.13 -gcp 1329 2986 325498.82 6137892.08 -gcp 2562 2985 341358.84 61372
94.03

Появляется-ли файл 100k--n37-013.vrt_aux в папке? Если да, то его уже достаточно для gdal2tiles.py. Надо отбросить _aux

Если нет. Можно-ли запустить gdal_translate из коммандной строки?
Если нет, смотреть PATH
Если да, запустить вручную gdal_translate -of VRT 100k--n37-013.gif 100k--n37-013.vrt_aux и до конца
vadp:
Появляется-ли файл 100k--n37-013.vrt_aux в папке? Если да, то его уже достаточно для gdal2tiles.py. Надо отбросить _aux


появляется! буду тогда пробывать продолжать!
OziExplorer Map Data File Version 2.2 - не пойдёт?
ozi2gdal.py даёт следующее:

maemo@kubuntu:~/Shared/maps$ ./ozi2gdal.py 050k--n37-013-2.map
Traceback (most recent call last):
File \"./ozi2gdal.py\", line 251, in <module>
map2vrt(f)
File \"./ozi2gdal.py\", line 208, in map2vrt
gdalinfo=command(['gdalinfo',img_file])
File \"./ozi2gdal.py\", line 118, in command
process=Popen(params,stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True)
File \"/usr/lib/python2.6/subprocess.py\", line 621, in __init__
errread, errwrite)
File \"/usr/lib/python2.6/subprocess.py\", line 1126, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory



Или версия GDAL не подходит?

maemo@kubuntu:~/Shared/maps$ dpkg -l | grep gdal
ii libgdal1-1.5.0 1.5.4-4 Geospatial Data Abstraction Library
ii libgdal1-1.6.0 1.7.1-1~ppa Geospatial Data Abstraction Library
ii python-gdal 1.7.1-1~ppa Python bindings to the Geospatial Data Abstr


Карта - обычный графический gif-файл с тем же именем, что и .map
1. Проверьте, что у вас имеется команда gdalinfo
2. Инструкция для винды и на юниксе её наверняка ещё никто не проверял
Прошу прощения, gdal-bin не был установлен :/ Теперь работает
vadp спасибо за проделанную работу. Mappero пока не ставил, но некоторый результат уже есть.

Опишу как действовал (Kubuntu 9.10 Karmic)

sudo apt-get install python-imaging
sudo apt-get install python-numpy
sudo apt-get install pngnq
sudo apt-get install python-gdal
sudo apt-get install gdal-bin


Для двух последних подключил ppa-репозиторий:
deb http://ppa.launchpad.net/ubuntugis/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/ubuntugis/ppa/ubuntu karmic main


Топологические карты - .gif со своими .map (OziExplorer Map Data File Version 2.2)
Скопировал их на раздел с поддержкой симв. ссылок
Туда же - ozi2gdal.py и tiles-merge.py из архива bsb2tiles.tar.gz

В этом же каталоге:

./ozi2gdal.py --cut *.map (получились .vrt и .vrt_aux, поля с координатами отрезал)
gdal_merge.py -o output.vrt *.vrt (получился очень большой файл output.vrt)
gdal2tiles.py output.vrt (получился каталог output)
./tiles-merge.py --gtiles output (в output/ появился каталог gtiles)


Результат (output/googlemaps.html) - в приложении.
пробую на убунте. при обработке файла vrt скриптом gdal2tiles.py появляется ошибка:

ERROR 6: Unable to load PROJ.4 library (libproj.so), creation of
OGRCoordinateTransformation failed.

и когда смотришь полученный файл http то карта наносится где то в Париже.. а не в Москве )
dragonleo можно попробовать системный gdal2tiles.py
mosfet:dragonleo можно попробовать системный gdal2tiles.py

а где его найти ?)
Он появляется после установки python-gdal
mosfet:Он появляется после установки python-gdal

да вроде тоже самое
Подключил к Mappero.

в tiles-merge.py пришлось поправить
if os.name == '_posix':
в 142й строчке чтобы симлинки не создавал и можно было скопировать в память как есть.
Копировал в MyDocs/.maps/Topomaps

В настройках карт:
Tiles->создать
Topomaps/Topomaps/Topomaps/пробел/XYZ_INV

Repositories->создать
имя - Topomaps
tiles - Topomaps

Теперь в настройках карт можно переключиться на новый репозиторий.

А если потом в карты->Tiles сделать этот Tile source слоем (галка на Layer), то можно будет накладывать на карту гугля, если в свойствах репозитория Google выбрать слоем Topomaps.

Только вот какие-то зазоры между картами получились.


Кстати это только у меня диалоги настроек карт так странно работают (Mappero 3.1) ?
mosfet:Кстати это только у меня диалоги настроек карт так странно работают

Постоянно появляются все по очереди? У меня так же
Сделал несколько по-другому:


./ozi2gdal.py --cut *.map

for vrt in *.vrt; do gdal2tiles.py -z 8-14 $vrt; done

# для этого никаких каталогов в текущем каталоге быть не должно
./tiles-merge.py `ls -d */` output

./tiles-merge.py --gtiles output


Результат лучше:
dragonleo:
Traceback (most recent call last):
File \"C:\karty\ozi2gdal.py\", line 251, in <module>
map2vrt(f)
File \"C:\karty\ozi2gdal.py\", line 214, in map2vrt
(width, height)=[i.strip() for i in transl_out[len('Input file size is'):].s
plit(',')] # raster width, height

Похоже под windows 7 скрипт не получает stdout от подпроцессов. Я немного изменил его (см проложение) и должно работать и под win7, но без опции \"--cut\".

Кроме того, я бы хотел посмотреть отладочную печать (с \"-d\") скриптов ozi2gdal.test1.py и ozi2gdal.test2.py
mosfet:
в tiles-merge.py пришлось поправить
if os.name == '_posix':
в 142й строчке чтобы симлинки не создавал и можно было скопировать в память как есть.


На самом деле этого делать не нужно. Можно скопировать:
cp -RL gtiles <моя карточка>

или
tar chzf gtiles.tgz gtiles


Ну, а в mc есть опция \"follow Links\"
mosfet:vadp спасибо за проделанную работу.

Рад, что пригодилось!
vadp:Кроме того, я бы хотел посмотреть отладочную печать (с \"-d\") скриптов ozi2gdal.test1.py и ozi2gdal.test2.py


Вот результат для ozi2gdal.test1.py.txt

 Setting environment for using the GDAL and MapServer tools.
Hiding the OCI plugin library.
c:\karty3>ozi2gdal.py 050k--n37-014-1.map


c:\karty3>ozi2gdal.test1.py -d 050k--n37-014-1.map
DEBUG:root:[['OziExplorer Map Data File Version 2.2'], ['050k--n37-014-1.gif'],
['050k--n37-014-1.gif'], ['1', 'Map Code', ''], ['Pulkovo 1942 (2)', 'WGS 84', '
0.0000', '0.0000', 'WGS 84'], ['Reserved 1'], ['Reserved 2'], ['Magnetic Variati
on', '', '', 'E'], ['Map Projection', 'Transverse Mercator', 'PolyCal', 'No', 'A
utoCalOnly', 'No', 'BSBUseWPX', 'No'], ['Point01', 'xy', '49', '25', 'in', 'deg'
, '55', '40.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point0
2', 'xy', '1268', '26', 'ex', 'deg', '55', '40.0000', 'N', '36', '37.5000', 'E',
'grid', '', '', '', 'N'], ['Point03', 'xy', '2501', '25', 'in', 'deg', '55', '4
0.0000', 'N', '36', '45.0000', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy',
'40', '1480', 'in', 'deg', '55', '35.0000', 'N', '36', '30.0000', 'E', 'grid', '
', '', '', 'N'], ['Point05', 'xy', '1269', '1489', 'in', 'deg', '55', '35.0000',
'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'], ['Point06', 'xy', '2499',
'1486', 'in', 'deg', '55', '35.0000', 'N', '36', '45.0000', 'E', 'grid', '', '',
'', 'N'], ['Point07', 'xy', '28', '2945', 'in', 'deg', '55', '30.0000', 'N', '3
6', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point08', 'xy', '1259', '2945',
'ex', 'deg', '55', '30.0000', 'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'
], ['Point09', 'xy', '2494', '2945', 'in', 'deg', '55', '30.0000', 'N', '36', '4
5.0000', 'E', 'grid', '', '', '', 'N'], ['Point10', 'xy', '', '', 'in', 'deg', '
', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point11', 'xy', '', '', 'in
', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point12', 'xy',
'', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point
13', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N
'], ['Point14', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '',
'', '', 'N'], ['Point15', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W',
'grid', '', '', '', 'N'], ['Point16', 'xy', '', '', 'in', 'deg', '', '', 'N', ''
, '', 'W', 'grid', '', '', '', 'N'], ['Point17', 'xy', '', '', 'in', 'deg', '',
'', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point18', 'xy', '', '', 'in',
'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point19', 'xy', '',
'', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point20'
, 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'],
['Point21', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', ''
, '', 'N'], ['Point22', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'gr
id', '', '', '', 'N'], ['Point23', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '
', 'W', 'grid', '', '', '', 'N'], ['Point24', 'xy', '', '', 'in', 'deg', '', '',
'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point25', 'xy', '', '', 'in', 'de
g', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point26', 'xy', '', ''
, 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point27', '
xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['
Point28', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '
', 'N'], ['Point29', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid'
, '', '', '', 'N'], ['Point30', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '',
'W', 'grid', '', '', '', 'N'], ['Projection Setup', '0.000000000', '39.000000000
', '1.000000000', '500000.00', '0.00', '', '', '', '', ''], ['Map Feature = MF ;
Map Comment = MC These follow if they exist'], ['Track File = TF These
follow if they exist'], ['Moving Map Parameters = MM? These follow if they e
xist'], ['MM0', 'Yes'], ['MMPNUM', '4'], ['MMPXY', '1', '49', '25'], ['MMPXY', '
2', '2501', '25'], ['MMPXY', '3', '2494', '2945'], ['MMPXY', '4', '28', '2945'],
['MMPLL', '1', '36.500000', '55.666667'], ['MMPLL', '2', '36.750000', '55.66666
7'], ['MMPLL', '3', '36.750000', '55.500000'], ['MMPLL', '4', '36.500000', '55.5
00000'], ['MM1B', '6.231054'], ['MOP', 'Map Open Position', '0', '0'], ['IWH', '
Map Image Width/Height', '2542', '2969']]
DEBUG:root:050k--n37-014-1.gif
DEBUG:root:['+proj=tmerc', '+lat_0=0.000000000', '+lon_0=39.000000000', '+k=1.00
0000000', '+x_0=500000.00', '+y_0=0.00', '+ellps=krass', '+towgs84=23.9,-141.3,-
80.9,0,-0.37,-0.85,-0.12', '+no_defs']
DEBUG:root:proj +proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.00000000
0 +x_0=500000.00 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85
,-0.12 +no_defs
DEBUG:root:process=Popen(params,stdin=None, stdout=PIPE, stderr=STDOUT, universa
l_newlines=False)
Traceback (most recent call last):
File \"C:\karty3\ozi2gdal.test1.py\", line 258, in <module>
map2vrt(f)
File \"C:\karty3\ozi2gdal.test1.py\", line 207, in map2vrt
command(['proj'] + out_srs, lat_long ).splitlines()]
File \"C:\karty3\ozi2gdal.test1.py\", line 126, in command
(stdout,stderr)=process.communicate(stdin)
File \"C:\Python26\lib\subprocess.py\", line 683, in communicate
stdout = self.stdout.read()
KeyboardInterrupt


Вот результат для ozi2gdal.test2.py.txt

c:\karty3>ozi2gdal.test2.py -d 050k--n37-014-1.map
DEBUG:root:[['OziExplorer Map Data File Version 2.2'], ['050k--n37-014-1.gif'],
['050k--n37-014-1.gif'], ['1', 'Map Code', ''], ['Pulkovo 1942 (2)', 'WGS 84', '
0.0000', '0.0000', 'WGS 84'], ['Reserved 1'], ['Reserved 2'], ['Magnetic Variati
on', '', '', 'E'], ['Map Projection', 'Transverse Mercator', 'PolyCal', 'No', 'A
utoCalOnly', 'No', 'BSBUseWPX', 'No'], ['Point01', 'xy', '49', '25', 'in', 'deg'
, '55', '40.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point0
2', 'xy', '1268', '26', 'ex', 'deg', '55', '40.0000', 'N', '36', '37.5000', 'E',
'grid', '', '', '', 'N'], ['Point03', 'xy', '2501', '25', 'in', 'deg', '55', '4
0.0000', 'N', '36', '45.0000', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy',
'40', '1480', 'in', 'deg', '55', '35.0000', 'N', '36', '30.0000', 'E', 'grid', '
', '', '', 'N'], ['Point05', 'xy', '1269', '1489', 'in', 'deg', '55', '35.0000',
'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'], ['Point06', 'xy', '2499',
'1486', 'in', 'deg', '55', '35.0000', 'N', '36', '45.0000', 'E', 'grid', '', '',
'', 'N'], ['Point07', 'xy', '28', '2945', 'in', 'deg', '55', '30.0000', 'N', '3
6', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point08', 'xy', '1259', '2945',
'ex', 'deg', '55', '30.0000', 'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'
], ['Point09', 'xy', '2494', '2945', 'in', 'deg', '55', '30.0000', 'N', '36', '4
5.0000', 'E', 'grid', '', '', '', 'N'], ['Point10', 'xy', '', '', 'in', 'deg', '
', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point11', 'xy', '', '', 'in
', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point12', 'xy',
'', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point
13', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N
'], ['Point14', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '',
'', '', 'N'], ['Point15', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W',
'grid', '', '', '', 'N'], ['Point16', 'xy', '', '', 'in', 'deg', '', '', 'N', ''
, '', 'W', 'grid', '', '', '', 'N'], ['Point17', 'xy', '', '', 'in', 'deg', '',
'', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point18', 'xy', '', '', 'in',
'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point19', 'xy', '',
'', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point20'
, 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'],
['Point21', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', ''
, '', 'N'], ['Point22', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'gr
id', '', '', '', 'N'], ['Point23', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '
', 'W', 'grid', '', '', '', 'N'], ['Point24', 'xy', '', '', 'in', 'deg', '', '',
'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point25', 'xy', '', '', 'in', 'de
g', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point26', 'xy', '', ''
, 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point27', '
xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['
Point28', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '
', 'N'], ['Point29', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid'
, '', '', '', 'N'], ['Point30', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '',
'W', 'grid', '', '', '', 'N'], ['Projection Setup', '0.000000000', '39.000000000
', '1.000000000', '500000.00', '0.00', '', '', '', '', ''], ['Map Feature = MF ;
Map Comment = MC These follow if they exist'], ['Track File = TF These
follow if they exist'], ['Moving Map Parameters = MM? These follow if they e
xist'], ['MM0', 'Yes'], ['MMPNUM', '4'], ['MMPXY', '1', '49', '25'], ['MMPXY', '
2', '2501', '25'], ['MMPXY', '3', '2494', '2945'], ['MMPXY', '4', '28', '2945'],
['MMPLL', '1', '36.500000', '55.666667'], ['MMPLL', '2', '36.750000', '55.66666
7'], ['MMPLL', '3', '36.750000', '55.500000'], ['MMPLL', '4', '36.500000', '55.5
00000'], ['MM1B', '6.231054'], ['MOP', 'Map Open Position', '0', '0'], ['IWH', '
Map Image Width/Height', '2542', '2969']]
DEBUG:root:050k--n37-014-1.gif
DEBUG:root:['+proj=tmerc', '+lat_0=0.000000000', '+lon_0=39.000000000', '+k=1.00
0000000', '+x_0=500000.00', '+y_0=0.00', '+ellps=krass', '+towgs84=23.9,-141.3,-
80.9,0,-0.37,-0.85,-0.12', '+no_defs']
DEBUG:root:proj +proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.00000000
0 +x_0=500000.00 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85
,-0.12 +no_defs
DEBUG:root:process=Popen(params,stdin=None, stdout=None, stderr=None, universal_
newlines=False)
Traceback (most recent call last):
File \"C:\karty3\ozi2gdal.test2.py\", line 258, in <module>
map2vrt(f)
File \"C:\karty3\ozi2gdal.test2.py\", line 207, in map2vrt
command(['proj'] + out_srs, lat_long ).splitlines()]
File \"C:\karty3\ozi2gdal.test2.py\", line 126, in command
(stdout,stderr)=process.communicate(stdin)
File \"C:\Python26\lib\subprocess.py\", line 688, in communicate
self.wait()
File \"C:\Python26\lib\subprocess.py\", line 883, in wait
_subprocess.INFINITE)
KeyboardInterrupt

c:\karty3>
mosfet:

./ozi2gdal.py --cut *.map

for vrt in *.vrt; do gdal2tiles.py -z 8-14 $vrt; done

# для этого никаких каталогов в текущем каталоге быть не должно
./tiles-merge.py `ls -d */` output

./tiles-merge.py --gtiles output



Советую посмотреть и другие скрипты из bsb2tiles.tar.gz. У многих есть опция \"--help\".

Напр. gdal4tiles.py.
gdal4tiles.py map1.vrt map2.vrt ...

Он запускает оригинальный gdal2tiles.py параллельно по списку vrt файлов, что довольно удобно.

У tiles-merge.py есть опция \"-l SRC_LIST\" или \"--src-list=SRC_LIST\". SRC_LIST -- файл со списком сливаемых папок с тайлами (# - комментарий). Имя этого файла (напр mymap.merge) без расширения даёт название папке-результату. \"-r\" удаляет папку-результат перед началом работы.

\"-l SRC_LIST\" можно использовать, чтобы задать порядок слияния, что полезно, если исходные карты перекрываются.

tiles-opt.py с помощью утилиты pngnq преобразовывает папку с тайлами из RGBA формы в индескированную (256 цветов), что значительно сокращает объем папки и вполне нормально для рисованных (не спутниковых) карт.
vadp:tiles-opt.py с помощью утилиты pngnq преобразовывает папку с тайлами из RGBA формы в индескированную (256 цветов), что значительно сокращает объем папки

К сожалению, для N900 это не поможет, потому что все файлы округляются до размера кластера, 64 кб.
dragonleo:Вот результат для ozi2gdal.test1.py.txt

Когда скрипт останавливается посередине для продолжения нажмите Crtl-Z, затем Enter
Mitrandir:
К сожалению, для N900 это не поможет, потому что все файлы округляются до размера кластера, 64 кб.

Вай ме, вай ме, слушай, как плохо! Зачем sqlite выбросили? Можно на ext3 переформатировать.
vadp:Можно на ext3 переформатировать

Так и делаем-с :)
после этого значительные глюки начинаются у N900 (переформатирования emmc в ext3). Проверено неоднократно.
vadp:Когда скрипт останавливается посередине для продолжения нажмите Crtl-Z, затем Enter



c:\karty3>ozi2gdal.test1.py -d 050k--n37-014-1.map
DEBUG:root:[['OziExplorer Map Data File Version 2.2'], ['050k--n37-014-1.gif'],
['050k--n37-014-1.gif'], ['1', 'Map Code', ''], ['Pulkovo 1942 (2)', 'WGS 84', '
0.0000', '0.0000', 'WGS 84'], ['Reserved 1'], ['Reserved 2'], ['Magnetic Variati
on', '', '', 'E'], ['Map Projection', 'Transverse Mercator', 'PolyCal', 'No', 'A
utoCalOnly', 'No', 'BSBUseWPX', 'No'], ['Point01', 'xy', '49', '25', 'in', 'deg'
, '55', '40.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point0
2', 'xy', '1268', '26', 'ex', 'deg', '55', '40.0000', 'N', '36', '37.5000', 'E',
'grid', '', '', '', 'N'], ['Point03', 'xy', '2501', '25', 'in', 'deg', '55', '4
0.0000', 'N', '36', '45.0000', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy',
'40', '1480', 'in', 'deg', '55', '35.0000', 'N', '36', '30.0000', 'E', 'grid', '
', '', '', 'N'], ['Point05', 'xy', '1269', '1489', 'in', 'deg', '55', '35.0000',
'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'], ['Point06', 'xy', '2499',
'1486', 'in', 'deg', '55', '35.0000', 'N', '36', '45.0000', 'E', 'grid', '', '',
'', 'N'], ['Point07', 'xy', '28', '2945', 'in', 'deg', '55', '30.0000', 'N', '3
6', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point08', 'xy', '1259', '2945',
'ex', 'deg', '55', '30.0000', 'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'
], ['Point09', 'xy', '2494', '2945', 'in', 'deg', '55', '30.0000', 'N', '36', '4
5.0000', 'E', 'grid', '', '', '', 'N'], ['Point10', 'xy', '', '', 'in', 'deg', '
', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point11', 'xy', '', '', 'in
', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point12', 'xy',
'', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point
13', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N
'], ['Point14', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '',
'', '', 'N'], ['Point15', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W',
'grid', '', '', '', 'N'], ['Point16', 'xy', '', '', 'in', 'deg', '', '', 'N', ''
, '', 'W', 'grid', '', '', '', 'N'], ['Point17', 'xy', '', '', 'in', 'deg', '',
'', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point18', 'xy', '', '', 'in',
'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point19', 'xy', '',
'', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point20'
, 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'],
['Point21', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', ''
, '', 'N'], ['Point22', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'gr
id', '', '', '', 'N'], ['Point23', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '
', 'W', 'grid', '', '', '', 'N'], ['Point24', 'xy', '', '', 'in', 'deg', '', '',
'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point25', 'xy', '', '', 'in', 'de
g', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point26', 'xy', '', ''
, 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point27', '
xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['
Point28', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '
', 'N'], ['Point29', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid'
, '', '', '', 'N'], ['Point30', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '',
'W', 'grid', '', '', '', 'N'], ['Projection Setup', '0.000000000', '39.000000000
', '1.000000000', '500000.00', '0.00', '', '', '', '', ''], ['Map Feature = MF ;
Map Comment = MC These follow if they exist'], ['Track File = TF These
follow if they exist'], ['Moving Map Parameters = MM? These follow if they e
xist'], ['MM0', 'Yes'], ['MMPNUM', '4'], ['MMPXY', '1', '49', '25'], ['MMPXY', '
2', '2501', '25'], ['MMPXY', '3', '2494', '2945'], ['MMPXY', '4', '28', '2945'],
['MMPLL', '1', '36.500000', '55.666667'], ['MMPLL', '2', '36.750000', '55.66666
7'], ['MMPLL', '3', '36.750000', '55.500000'], ['MMPLL', '4', '36.500000', '55.5
00000'], ['MM1B', '6.231054'], ['MOP', 'Map Open Position', '0', '0'], ['IWH', '
Map Image Width/Height', '2542', '2969']]
DEBUG:root:050k--n37-014-1.gif
DEBUG:root:['+proj=tmerc', '+lat_0=0.000000000', '+lon_0=39.000000000', '+k=1.00
0000000', '+x_0=500000.00', '+y_0=0.00', '+ellps=krass', '+towgs84=23.9,-141.3,-
80.9,0,-0.37,-0.85,-0.12', '+no_defs']
DEBUG:root:proj +proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.00000000
0 +x_0=500000.00 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85
,-0.12 +no_defs
DEBUG:root:process=Popen(params,stdin=None, stdout=PIPE, stderr=STDOUT, universa
l_newlines=False)
^Z
DEBUG:root:('', None)
DEBUG:root:[[['Point01', 'xy', '49', '25', 'in', 'deg', '55', '40.0000', 'N', '3
6', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point02', 'xy', '1268', '26', 'e
x', 'deg', '55', '40.0000', 'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'],
['Point03', 'xy', '2501', '25', 'in', 'deg', '55', '40.0000', 'N', '36', '45.00
00', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy', '40', '1480', 'in', 'deg',
'55', '35.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point05
', 'xy', '1269', '1489', 'in', 'deg', '55', '35.0000', 'N', '36', '37.5000', 'E'
, 'grid', '', '', '', 'N'], ['Point06', 'xy', '2499', '1486', 'in', 'deg', '55',
'35.0000', 'N', '36', '45.0000', 'E', 'grid', '', '', '', 'N'], ['Point07', 'xy
', '28', '2945', 'in', 'deg', '55', '30.0000', 'N', '36', '30.0000', 'E', 'grid'
, '', '', '', 'N'], ['Point08', 'xy', '1259', '2945', 'ex', 'deg', '55', '30.000
0', 'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'], ['Point09', 'xy', '2494
', '2945', 'in', 'deg', '55', '30.0000', 'N', '36', '45.0000', 'E', 'grid', '',
'', '', 'N']], []]
DEBUG:root:gdalinfo 050k--n37-014-1.gif
DEBUG:root:process=Popen(params,stdin=None, stdout=PIPE, stderr=STDOUT, universa
l_newlines=False)
DEBUG:root:('Driver: GIF/Graphics Interchange Format (.gif)\
Files: 050k--n37-
014-1.gif\
Size is 2542, 2969\
Coordinate System is `\'\
GCP Projection =
\
PROJCS[\"unnamed\",\
GEOGCS[\"Pulkovo 1942\",\
DATUM[\"Pulkovo_19
42\",\
SPHEROID[\"Krassowsky 1940\",6378245,298.3,\

AUTHORITY[\"EPSG\",\"7024\"]],\
TOWGS84[23.9,-141.3,-80.9,-0,0.37,0.8
5,-0.12],\
AUTHORITY[\"EPSG\",\"6284\"]],\
PRIMEM[\"Greenwich
\",0,\
AUTHORITY[\"EPSG\",\"8901\"]],\
UNIT[\"degree\",0.017453
29251994328,\
AUTHORITY[\"EPSG\",\"9122\"]],\
AUTHORITY[\"EPS
G\",\"4284\"]],\
PROJECTION[\"Transverse_Mercator\"],\
PARAMETER[\"latitud
e_of_origin\",0],\
PARAMETER[\"central_meridian\",39],\
PARAMETER[\"scal
e_factor\",1],\
PARAMETER[\"false_easting\",500000],\
PARAMETER[\"false_
northing\",0],\
UNIT[\"Meter\",1]]\
GCP[ 0]: Id=, Info=\
(49,2
5) -> (342693.73351823,6174392.90643577,0)\
GCP[ 1]: Id=, Info=\

(1268,26) -> (350557.365377302,6174116.48788239,0)\
GCP[ 2]: Id=, Info=\

(2501,25) -> (358421.256145645,6173854.25186058,0)\
GCP[ 3]: Id=, Inf
o=\
(40,1480) -> (342359.503817989,6165118.03245617,0)\
GCP[ 4]:
Id=, Info=\
(1269,1489) -> (350239.856174883,6164841.30161774,0)\

GCP[ 5]: Id=, Info=\
(2499,1486) -> (358120.466055426,6164578.76939
844,0)\
GCP[ 6]: Id=, Info=\
(28,2945) -> (342025.610711117,61558
43.26135468,0)\
GCP[ 7]: Id=, Info=\
(1259,2945) -> (349922.66680
7458,6155566.22057471,0)\
GCP[ 8]: Id=, Info=\
(2494,2945) -> (35
7819.979030853,6155303.39438139,0)\
Corner Coordinates:\
Upper Left ( 0.
0, 0.0)\
Lower Left ( 0.0, 2969.0)\
Upper Right ( 2542.0, 0.0)\

Lower Right ( 2542.0, 2969.0)\
Center ( 1271.0, 1484.5)\
Band 1 Block=2
542x1 Type=Byte, ColorInterp=Palette\
Metadata:\
GIF_BACKGROUND=0\

Color Table (RGB with 256 entries)\
0: 110,149,146,255\
1: 11,19,97
,255\
2: 36,114,228,255\
3: 111,111,112,255\
4: 208,187,208,25
5\
5: 38,75,37,255\
6: 147,145,102,255\
7: 45,136,238,255\

8: 114,141,113,255\
9: 141,117,142,255\
10: 248,204,183,255\

11: 39,78,83,255\
12: 216,220,243,255\
13: 177,148,147,255\
14: 2
1,77,166,255\
15: 77,76,77,255\
16: 205,186,148,255\
17: 2,2,2,25
5\
18: 81,80,43,255\
19: 184,185,210,255\
20: 239,221,241,255\

21: 150,29,21,255\
22: 76,108,75,255\
23: 151,177,174,255\
24:
174,150,114,255\
25: 72,47,80,255\
26: 74,118,223,255\
27: 248,1
86,181,255\
28: 219,238,246,255\
29: 174,151,173,255\
30: 143,112
,113,255\
31: 186,238,209,255\
32: 150,151,176,255\
33: 160,74,40
,255\
34: 5,36,142,255\
35: 105,153,241,255\
36: 212,95,85,255\\
n 37: 187,238,187,255\
38: 108,82,108,255\
39: 175,170,117,255\

40: 114,113,140,255\
41: 110,76,76,255\
42: 44,43,51,255\
43: 4,
41,6,255\
44: 109,110,78,255\
45: 179,204,152,255\
46: 80,110,107
,255\
47: 79,78,107,255\
48: 208,204,152,255\
49: 209,148,146,255
\
50: 178,77,75,255\
51: 144,76,76,255\
52: 211,146,114,255\

53: 219,74,33,255\
54: 179,114,117,255\
55: 43,1,2,255\
56: 76,1
36,218,255\
57: 145,139,83,255\
58: 146,170,117,255\
59: 77,1,2,2
55\
60: 143,113,75,255\
61: 76,43,46,255\
62: 111,140,208,255\

63: 147,177,210,255\
64: 110,171,249,255\
65: 184,207,247,255\

66: 5,4,47,255\
67: 112,45,50,255\
68: 114,2,1,255\
69: 246,177,
149,255\
70: 42,10,41,255\
71: 7,45,48,255\
72: 72,107,184,255\\
n 73: 238,238,187,255\
74: 150,204,178,255\
75: 150,50,60,255\

76: 143,148,209,255\
77: 110,115,183,255\
78: 76,109,144,255\
79:
143,178,247,255\
80: 179,184,242,255\
81: 41,42,11,255\
82: 71,7
9,142,255\
83: 208,152,174,255\
84: 178,109,78,255\
85: 108,137,8
5,255\
86: 142,83,109,255\
87: 174,139,92,255\
88: 150,205,208,25
5\
89: 81,138,117,255\
90: 75,12,40,255\
91: 178,82,104,255\

92: 243,148,136,255\
93: 76,41,10,255\
94: 113,40,9,255\
95: 62,
83,182,255\
96: 203,44,26,255\
97: 113,11,36,255\
98: 109,83,140,
255\
99: 185,238,241,255\
100: 82,170,249,255\
101: 176,151,208,255
\
102: 1', None)
DEBUG:root:gdal_translate -of VRT 050k--n37-014-1.gif 050k--n37-014-1.vrt -a_srs
+proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.000000000 +x_0=500000.0
0 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85,-0.12 +no_defs
-expand rgb
DEBUG:root:process=Popen(params,stdin=None, stdout=PIPE, stderr=STDOUT, universa
l_newlines=False)
DEBUG:root:('', None)



Для второго:


c:\karty3>ozi2gdal.test2.py -d 050k--n37-014-1.map
DEBUG:root:[['OziExplorer Map Data File Version 2.2'], ['050k--n37-014-1.gif'],
['050k--n37-014-1.gif'], ['1', 'Map Code', ''], ['Pulkovo 1942 (2)', 'WGS 84', '
0.0000', '0.0000', 'WGS 84'], ['Reserved 1'], ['Reserved 2'], ['Magnetic Variati
on', '', '', 'E'], ['Map Projection', 'Transverse Mercator', 'PolyCal', 'No', 'A
utoCalOnly', 'No', 'BSBUseWPX', 'No'], ['Point01', 'xy', '49', '25', 'in', 'deg'
, '55', '40.0000', 'N', '36', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point0
2', 'xy', '1268', '26', 'ex', 'deg', '55', '40.0000', 'N', '36', '37.5000', 'E',
'grid', '', '', '', 'N'], ['Point03', 'xy', '2501', '25', 'in', 'deg', '55', '4
0.0000', 'N', '36', '45.0000', 'E', 'grid', '', '', '', 'N'], ['Point04', 'xy',
'40', '1480', 'in', 'deg', '55', '35.0000', 'N', '36', '30.0000', 'E', 'grid', '
', '', '', 'N'], ['Point05', 'xy', '1269', '1489', 'in', 'deg', '55', '35.0000',
'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'], ['Point06', 'xy', '2499',
'1486', 'in', 'deg', '55', '35.0000', 'N', '36', '45.0000', 'E', 'grid', '', '',
'', 'N'], ['Point07', 'xy', '28', '2945', 'in', 'deg', '55', '30.0000', 'N', '3
6', '30.0000', 'E', 'grid', '', '', '', 'N'], ['Point08', 'xy', '1259', '2945',
'ex', 'deg', '55', '30.0000', 'N', '36', '37.5000', 'E', 'grid', '', '', '', 'N'
], ['Point09', 'xy', '2494', '2945', 'in', 'deg', '55', '30.0000', 'N', '36', '4
5.0000', 'E', 'grid', '', '', '', 'N'], ['Point10', 'xy', '', '', 'in', 'deg', '
', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point11', 'xy', '', '', 'in
', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point12', 'xy',
'', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point
13', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N
'], ['Point14', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '',
'', '', 'N'], ['Point15', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W',
'grid', '', '', '', 'N'], ['Point16', 'xy', '', '', 'in', 'deg', '', '', 'N', ''
, '', 'W', 'grid', '', '', '', 'N'], ['Point17', 'xy', '', '', 'in', 'deg', '',
'', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point18', 'xy', '', '', 'in',
'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point19', 'xy', '',
'', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point20'
, 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'],
['Point21', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', ''
, '', 'N'], ['Point22', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'gr
id', '', '', '', 'N'], ['Point23', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '
', 'W', 'grid', '', '', '', 'N'], ['Point24', 'xy', '', '', 'in', 'deg', '', '',
'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point25', 'xy', '', '', 'in', 'de
g', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point26', 'xy', '', ''
, 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['Point27', '
xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '', 'N'], ['
Point28', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid', '', '', '
', 'N'], ['Point29', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '', 'W', 'grid'
, '', '', '', 'N'], ['Point30', 'xy', '', '', 'in', 'deg', '', '', 'N', '', '',
'W', 'grid', '', '', '', 'N'], ['Projection Setup', '0.000000000', '39.000000000
', '1.000000000', '500000.00', '0.00', '', '', '', '', ''], ['Map Feature = MF ;
Map Comment = MC These follow if they exist'], ['Track File = TF These
follow if they exist'], ['Moving Map Parameters = MM? These follow if they e
xist'], ['MM0', 'Yes'], ['MMPNUM', '4'], ['MMPXY', '1', '49', '25'], ['MMPXY', '
2', '2501', '25'], ['MMPXY', '3', '2494', '2945'], ['MMPXY', '4', '28', '2945'],
['MMPLL', '1', '36.500000', '55.666667'], ['MMPLL', '2', '36.750000', '55.66666
7'], ['MMPLL', '3', '36.750000', '55.500000'], ['MMPLL', '4', '36.500000', '55.5
00000'], ['MM1B', '6.231054'], ['MOP', 'Map Open Position', '0', '0'], ['IWH', '
Map Image Width/Height', '2542', '2969']]
DEBUG:root:050k--n37-014-1.gif
DEBUG:root:['+proj=tmerc', '+lat_0=0.000000000', '+lon_0=39.000000000', '+k=1.00
0000000', '+x_0=500000.00', '+y_0=0.00', '+ellps=krass', '+towgs84=23.9,-141.3,-
80.9,0,-0.37,-0.85,-0.12', '+no_defs']
DEBUG:root:proj +proj=tmerc +lat_0=0.000000000 +lon_0=39.000000000 +k=1.00000000
0 +x_0=500000.00 +y_0=0.00 +ellps=krass +towgs84=23.9,-141.3,-80.9,0,-0.37,-0.85
,-0.12 +no_defs
DEBUG:root:process=Popen(params,stdin=None, stdout=None, stderr=None, universal_
newlines=False)
^Z
DEBUG:root:(None, None)
Traceback (most recent call last):
File \"C:\karty3\ozi2gdal.test2.py\", line 258, in <module>
map2vrt(f)
File \"C:\karty3\ozi2gdal.test2.py\", line 207, in map2vrt
command(['proj'] + out_srs, lat_long ).splitlines()]
AttributeError: 'NoneType' object has no attribute 'splitlines'

c:\karty3>
gLobster:после этого значительные глюки начинаются у N900 (переформатирования emmc в ext3). Проверено неоднократно.

У меня на N810 работает нормально. Правда на maemo.org я нашёл mmc-ускоренное ядро и \"noatime\" при монтировании.

В любом случае, похоже mappero неправ с организацией кеша
Да, на N8x0 ext2 работает замечательно. N900 это, правда, немного другая история... Хотя и на нём я пока глюков от ext3 не замечал. Хотя вернее сказать — не больше, чем с FAT ;)

А Mappero однозначно неправ, да.