Уважаемые форумчане, требуется помощь.
Хотел сконвертировать файл *.osm.pbf в файл *.osm.map для Locus .
Зашел на страничку wiki/Locus .
Скачал последнюю версию Osmosis. Сделал пакетный файл, запустил и ничего не вышло.
Osmosis похоже запустился. После выдал типа ошибку:
"SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Task type mapfile-writer
doesn't exist."
Версию 0.39 Osmosis не нашел, ибо там тестировано на версии 0.39 .
Хотя полагаю, что дело не в версии.
Osmosis использовал впервые.
Заранее благодарю за помощь. (Мож и еще кому нить пригодится.)
Спасибо. Уже попробовал прикрутить, но не получилось. Положил файл плагина в папку …\Osmosis\Plugins,
в текущий каталог с BATником, в текущую папку в поддиректорию \Plugins.
Прописал в BATнике строку “-plugin “mapsforge-map-writer-0.3.0-jar-with-dependencies.jar””.
При запуске выдает:
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to load plugin cl
ass (mapsforge-map-writer-0.3.0-jar-with-dependencies.jar).
Не получается. Sergey Astakhov, напишите, плииз, подробнее, куда надо положить скачанный файл плагина
и где прописать строку подключения.
Я перепробовал несколько вариантов и все не дали положительного результата.
Чего-то я не догоняю.
…
Вообщем эта часть таки заработала.
Кинул файл плагина в папку lib\default к другим JAR файлам и плагин подключился автоматом.
(OS - M$ Win XP SP3)
Далее все равно вылезли 2-е ошибки:
SEVERE: Thread for task 1-read-pbf failed
java.lang.OutOfMemoryError: Java heap space
...
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed
.
...
Памяти вроде не мало - 2 ГБ (правда похоже, что винда видит только 1 ГБ).
Файл RU-ххх.osm.pbf то-же не большой, не более 13 МБ .
Да, не знаю. Разъясните, плииз, что имеете ввиду. И как выставить это “разрешением памяти”?
Мож версия Osmosis’а кривая???
Вот часть дампа при конвертации:
...
04.08.2012 17:34:06 org.mapsforge.map.writer.osmosis.MapFileWriterTask process
INFO: start reading data...
04.08.2012 17:34:26 org.mapsforge.map.writer.osmosis.MapFileWriterTask complete
INFO: completing read...
04.08.2012 17:35:06 org.mapsforge.map.writer.osmosis.MapFileWriterTask complete
INFO: start writing file...
04.08.2012 17:35:06 org.mapsforge.map.writer.osmosis.MapFileWriterTask complete
INFO: overwriting file ...\RU-ххх.osm.map
04.08.2012 17:35:31 org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskMan
ager waitForCompletion
SEVERE: Thread for task 1-read-pbf failed
java.lang.OutOfMemoryError: Java heap space
at java.nio.HeapByteBuffer.<init>(Unknown Source)
at java.nio.ByteBuffer.allocate(Unknown Source)
at org.mapsforge.map.writer.MapFileWriter.writeSubfile(MapFileWriter.jav
a:338)
at org.mapsforge.map.writer.MapFileWriter.writeFile(MapFileWriter.java:1
60)
at org.mapsforge.map.writer.osmosis.MapFileWriterTask.complete(MapFileWr
iterTask.java:105)
at crosby.binary.osmosis.OsmosisBinaryParser.complete(OsmosisBinaryParse
r.java:35)
at crosby.binary.file.BlockInputStream.process(BlockInputStream.java:37)
at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:37)
at java.lang.Thread.run(Unknown Source)
04.08.2012 17:35:32 org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed
.
at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForComple
tion(Pipeline.java:146)
at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)
at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Laun
cher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Ну там же всё и так расписано, скопировать сюда содержимое секции Plugin Installation из страницы про mapsforge?
Мало иметь саму память, надо ещё разрешить java её использовать. По умолчанию там стоят небольшие лимиты. Делается это заданием ключика -Xmx<размер>. Например -Xmx1g или -Xmx1024m задаст максимальный размер в 1 гигабайт. Это опять же упомянуто в разделе Plugin Installation.
Кроме того, если памяти не хватает - можно использовать опцию type для хранения на диске
Копировать не нужно. Там всего десяток строчек. И то, что там написано у меня не сработало.
Куда пришлось кинуть плагин, что-б заработал, писал выше.
Добавление в BATник строчки " set JAVACMD_OPTIONS = -Xmx800m " то-же ничего не изменило.
Качать Osmosis. Распаковывать в любое место, например в С:\Program Files\osmosis
Качать плагин к Osmosis, отсюда: mapsforge
Положить в папку osmosis\lib\default . Он будет автоматически активироваться.
Нарезанные файлы можно брать отсюда: gis-lab-osm_dump
Лучше брать файлы в формате PBF. И размер меньше и не нужно указывать границы.
В папке с файлом(файлами) PBF создать BATник примерно такого содержания:
…\osmosis\bin\osmosis --read-pbf “File.osm.pbf” --mapfile-writer file=“File.osm.map”
поищите версию плагина mapsforge-map-writer-0.3.1-SNAPSHOT-jar-with-dependencies.jar, там решили проблему обработку больших полигонов и скорость конвертации увеличится
Установил этот плагин. Скачал из архива ГИС-Лаба последнюю нарезку Лен. области с С-Пб .
Вот уже 2-а часа висит на 10% … index 2 .
(За это время для Osmand уже сконвертилось-бы.)
У меня так Узбекистан зависал, что подвигло на поиски 0.3.1 - с этой версией ковертация заняла 20 мин.
Остается проверить - дейсвительно ли используется 0.3.1
Она!
Осталось проверить использует ли этот самый плагин osmosis
например удалить mapsforge-map-writer-0.3.1-SNAPSHOT-jar-with-dependencies.jar и зарустить osmosis с темеже параметрами заново - будет ругаться на нехватку плагина - ждать, а если начнет отрабатывать, искать почему используется старая версия.
Старая версия удалена. При активации плагина в его названии присутствует SNAPSHOT и 0.3.0.1 (именно так).
05.08.2012 16:24:59 org.java.plugin.standard.StandardPluginManager activatePlugi
n
INFO: plug-in started - org.mapsforge.map.mapfile-writer@0.3.0.1-SNAPSHOT