RU:OSM2World

The 3D Development team are currently working on unifying 3D related tags.
For first results see Simple 3D Buildings.
OSM2World
Автор: Tobias Knerr and other contributors
Лицензия: GNU Lesser General Public License (бесплатно)
Платформ: Windows, Linux, и macOS
Версия: 0.1.9 (2012-01-11)
Язык: английский
Веб-сайт: http://osm2world.org
Исходный код: https://code.launchpad.net/osm2world
Язык
программирования:
Java

Creates a 3D model of the world from OSM data.

OSM2World (osm2world.org) это конвертер, который создает трехмерную модель мира на основе данных OpenStreetMap. Модель может быть экспортирована в различные форматы.

Форматы экспорта

В данный момент поддерживается файлы Wavefront .obj, файлы .pov для POVRay raytracer, прямой вывод через JOGL (OpenGL bindings for Java) и изображения .png, генерируемые с использованием JOGL. Дополнительные форматы могут быть добавлены при необходимости.

Как использовать OSM2World

Инсталляция

Для OSM2World требуется Java Runtime Environment 1.6 и выше. Если вы пользуетесь JOSM, то она вероятно у вас уже есть.

Если Java установлена, зайдите на osm2world.org/download и скачайте zip архив скомпилированной программы. Распакуйте его куда-нибудь на вашем компьютере.

Графический интерфейс

Запустите OSM2World из командной строки, используя командный файл/скрипт, подходящий вашей системе. Это позволит вам открывать файлы OSM и просматривать модели:

  • левая кнопка мыши перемещает позицию камеры
  • правая кнопка мыши вращает камеру
  • колесико мыши приближает и удаляет камеру

Навигация с клавиатуры доступна как альтернатива. Различные отладочные слои можно отобразить и экспортировать в .png, .pov и .obj при возможности. Учтите, что в этот момент ухудшится качество визуализации и производительность, поскольку процесс отладки имеет более высокий приоритет.

Интерфейс командной строки

Это краткая документация о командной строке OSM2World. Важно понимать, что синтаксис командной строки пока непостоянен, и вероятно изменится в будущем.

Ввод и вывод

  • -i/--input <file> входной файл .osm, .osm.gz, .osm.bz2 или .osm.pbf
  • -o/--output <file> ... один и более выходных файлов. Расширение имени файла определяет формат файла. Возможны файлы .obj, .pov и .png.
  • --resolution <horiz_res>,<vert_res> размер в пикселях для зависимых от разрешения выводов (.png)

gt;

Камера

Определение камеры и позиции для просмотра опционально (но рекомендуется) для .pov файлов и необходимо для вывода в .png. Вы можете использовать ортогональную или перспективную проекцию. От выбора проекции зависит набор доступных параметров камеры.

Ортогональная проекция:

  • --oview.angle <angle_deg> угол ортогональной проекции в градусах; по умолчанию 30. Работает в пределах > 0° и < 90°.
  • --oview.from <N/E/S/W> фундаментальное направление, от которого будет строиться просмотр в ортогональной проекции; по умолчанию принимается Юг (S).
  • есть два способа задания границ (для уровня elevation=0) отображаемой сцены:
    • --oview.bbox <lat>,<lon> <lat>,<lon> ... список координат; будут использованы ближайшие границы, охватывающие данные координаты
    • --oview.tiles <zoom>,<tileX>,<tileY> ... один и более тайлов (определяется уровнем зума и координатами x/y); будут использованы ближайшие границы, содержащие все эти тайлы

Перспективная проекция:

  • --pview.pos <lat>,<lon>,<ele> позиция камеры для перспективной проекции
  • --pview.lookAt <lat>,<lon>,<ele> look-at для перспективной проекции
  • --pview.aspect <value> соотношение сторон (ширина / высота) для перспективной проекции; по умолчанию, соотношение сторон текущего разрешения
  • --pview.fovy <angle_deg> vertical field угла просмотра для перспективной проекции, в градусах; по умолчанию 45.

Логи

  • --performancePrint печатает в командную строку время выполнения каждой фазы конвертации
  • --performanceTable <file> добавляет время выполнения в файл после конвертации, в текстовой таблицы

Прочие параметры

  • --config <file> файл properties с дополнительными параметрами (смотрите /Configuration file). Может использоваться как в графическом режиме, так и в командной строке.
  • --gui запускает графический интерфейс
  • --help печатает краткое описание доступных параметров командной строки
  • --version печатает текущую версию OSM2World

Если вы используете --gui, --help или --version, OSM2World не станет выполнять конвертацию, а исполнит указанную команду.

Файлы параметров

  • --parameterFile <file> файл, содержащий по одному набору параметров на каждую строку.

Если вы желаете выполнить несколько обработок, вы можете записать их параметры (без указания имени программы) в файл и передать его в качестве аргумента в OSM2World. Строки начинающиеся с # игнорируются.

По возможности, желательно сгруппировать эти обработки - например, чтобы они содержали одинаковые параметры --input и --config. Так вы можете, скажем, быстро отрендерить одни и те же данные с разных ракурсов.

Примеры

 ./osm2world -i example.osm -o image.png --pview.pos +50.2607,+10.965,+110.0 --pview.lookAt 50.2623367,10.9640632,0

Пишет OpenGL рендеринг 3D модели, сгенерированной из example.osm в image.png. Рендеринг использует перспективную проекцию с заданными координатами позиции и look at камеры.

 ./osm2world -i example.osm -o tileexample.pov 

Создает 3D модель из example.osm и экспортирует ее в POVRay файл example.pov. Файл POVRay не будет содержать настройки камеры, так что вам предстоит установить их вручную перед открытием example.pov в POVRay.

 ./osm2world -i example.osm -o tileexample.pov --oview.tiles 12,2186,1312 12,2186,1313

Создает 3D модель из example.osm и экспортирует ее в POVRay файл example.pov. Файл POVRay не будет содержать нужные настройки камеры для ортогональной проекции. Для отображения выбрана минимально возможная область, который включает в себя два тайла 2186,1312 и 2186,1313 (на 12 зуме). камера смотрит на эту область с Юга. Параметр --oview.angle не задан, так что по умолчанию взято 30 градусов. Этот угол в частности интересен тем, что под ним два "обычных" квадратных тайла вписываются в один квадратный ортогональный тайл (а всё потому, что sin(30°)=0.5).

Интерфейс библиотеки

Вы можете использовать OSM2World в качестве библиотеки Java. The preferred way to do this is by using the ConversionFacade class that wraps the whole conversion into a single method call. It lets you provide input data and set output targets. You can also choose which kinds of world objects you want to be created and provide fine-tuning parameters - or you can just stick to the defaults, of course. Have a look at the javadoc.

Если вам нужна большая функциональность, непонятен код и т.д., просто скажите!

Планы и ограничения

Данные о высотах

Функция в вычисления высот в OSM2World пока еще хрупкая и деактивирована по умолчанию, но присутствует как экспериментальная опция. Вычисления опираются на атрибуты объектов (таких как incline=*, layer=*, tunnel=* и bridge=*) и абсолютная высота (ele=*, как собственно из OSM, так и с других источников: SRTM или OpenDEM).


Возможные проблемы

  • Рекомендуется загружать только маленькие карты, особенно в графическом интерфейсе. В OSM2World есть пара мест, где используются очень неэффективные заполнители алгоритма.
  • Если для OSM2World не хватает RAM, вы можете поправить стартовые скрипты, увеличив параметр -Xmx
  • Если у вас есть еще вопросы, воспользуйтесь страницей обсуждения, или примите участие в соответствующих дискуссиях в форумах и списках рассылки. Вы также можете связаться с User:Tordanik напрямую.

Ссылки и ресурсы

Примеры приложений и тегов

  • OSM2World Maps - подвижная карта создаваемая с помощью OSM2World
  • Simple 3D Buildings - способ тегирования поддерживаемый OSM2World


Документация

Страницы проекта

This article is issued from Openstreetmap. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.