Конвертер OSM -> MP

liosha,

Насколько я понимаю, .osm файл объёмом 2 ГБ никак не сконвертировать?
osmsort.pl или osm2mp.pl падают с “Out of memory!”, когда съедают 2 ГБ оперативки. 64-битного перла что-то не видно в интернетах…
/PAE и /3GB не спасают.
Может кто-нить знает какой-нить способ обойти предел?

Присоединяюсь к вопросу.
И связанный вопрос: можно ли узнать технологию получения набора .mp файлов в архиве __russia.mp.7z (отсюда: http://gpsmapsearch.com/osm/mp?

Пока такой возможности нет, придётся полностью механизм определения типов менять.

Или порэзать на части, или пройтись фильтрами и выкинуть лишние объекты.
Кажется, wildMan такой фильтр писал.

Режу на квадраты сплиттером, лежит в svn вместе с конвертером.

ПК (Пермский край, а не персональный компьютер или пожарный кран или players killer) вычистил :slight_smile: Буду поглядывать … Больше всего замороки, конечно, с веями, начинающимися и заканчивающимися в одной точке … и состоящими при этом только из неё же :))

писал. http://code.google.com/p/pyosm/source/browse/tools/osm-filter.README

Порэзать не пойдёт, нужен роутинг. Это автодорожная сеть всего мира. Можно разве что на континенты поделить…
Лишних объектов нету.
Фильтр… только если он сможет из

Сделать

Откуда брать-то?:
http://code.google.com/p/pyosm/source/browse/
http://pyosm.googlecode.com/svn/
Первый вариант отваливается с таким трейсом:

...
  File "G:\OSM\osm_filter\common.py", line 655, in item_end_action
    if action( self.item ):
  File "G:\OSM\osm_filter\common.py", line 943, in copyNode
    srcItem.saveToOsmFile( self.node_file )
AttributeError: OSM_Item_Node instance has no attribute 'saveToOsmFile'

текущая версия должна быть:
http://pyosm.googlecode.com/hg/tools/osm-filter.py
http://pyosm.googlecode.com/hg/tools/osm-filter.xml
http://pyosm.googlecode.com/hg/tools/osm-merge.README
http://pyosm.googlecode.com/hg/tools/common.py

если будет падать - пришлите дамп или линк на дамп на osm.belarus@gmail.com - поправлю

PS сорри. на данный момент в репозитории не рабочая версия. постораюсь пофиксить в ближайшее время

уже давно наблюдаю, как здесь http://gpsmapsearch.com/osm/mp/chel.err.htm
конвертер ругается на Address polygon WayID=41332864 ** is not closed

хотя месяц назад была другая ошибка (полигон города не закрыт)

при этом город находится в Свердловской, а не в Челябинской области - в Свердловской области конвертер ошибок не находит…

в чем причина и как это пофиксить?

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

А можно Челябинск по аналогии со Свердловской областью брать из нескольких прямоугольников прямо из ОСМ? Там потребуется три штуки…

а гис-лаб не заинтересован в отсутствии ошибок в их дампах?

предложение Ilis было бы оптимальным, я думаю

upd:

Леша, давай хоть Челябинск не брать с гис-лаб
Roads 42647008 **:0, 42647044 **:0, 42647047 **:0 have 100 duplicate segments near (53.8529166,61.9694216) **

я эту ошибку еще 7го числа пофиксил (сегодня 24-ое, если что) - она все еще не ушла из их дампа

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

Кто-то готов сливать Челябинск и выкладывать на fmesh?

Всё-таки порезал :slight_smile:
splitter-ом: http://www.mkgmap.org.uk/page/tile-splitter
По Lat=-32 америки отделяются ото всего остального.
splitter ещё почистил лишнее оформление, получилось 2 файла всего по ~450 МБ, и они сконвертились в mp.

Наличие лишнего оформления на конвертацию не влияет.

А какой Челябинск там сейчас?

Сейчас там старый, который я когда-то выкачивал

А можно тогда краткую инструкцию по выкачиванию и выкладыванию для линукса. Плюс примерные временные затраты на одну область. Я бы попробовал…

ЗЫ. Лучше ссылку на вики, где этот процесс был бы описан :slight_smile:

вариант 1: http://wiki.openstreetmap.org/wiki/Xapi
вариант 2: http://wiki.openstreetmap.org/wiki/RU:Osm2mp#.D0.94.D1.80.D1.83.D0.B3.D0.B8.D0.B5_.D0.BF.D0.BE.D0.BB.D0.B5.D0.B7.D0.BD.D1.8B.D0.B5_.D1.81.D0.BA.D1.80.D0.B8.D0.BF.D1.82.D1.8B
Может и ещё какие есть

Скачать, запаковать в bz2 и выложить.
Если на fmesh, то логин надо спросить у Ивана Комарова.

А как установить osmget? Насколько я понимаю, командой svn, но я с ней не разбирался, что-то аналогичное ставил по инструкции…