2024-12-16
OSM2World is one of the projects which is currently being funded in round 16 of the Prototype Fund.
The Prototype Fund is a funding program of the German Federal Ministry of Education and Research that is managed and evaluated by the Open Knowledge Foundation Germany.
Work during the 6-month of development period is going to focus primarily on making it easier for developers to integrate OSM2World’s ability to generate 3D models into applications and websites according to their individual requirements.
3D tile generation
Map tiles are a common approach to serving geospatial data on the Web, for both 2D and 3D maps. OSM2World is already able to output scenes as glTF and glb files, and will be improved to make it more convenient and performant to generate an entire set of tiles in this popular 3D content exchange format. Support for the open 3D Tiles standard pioneered by Cesium.js will allow website developers to display OSM2World’s output using existing frontend libraries. 3D tile generation will also be used to publish an interactive demo of OSM2World based on WebGL.
Custom glTF models
OSM2World ships with a collection of liberally licensed assets which includes textures and 3D models. However, users of OSM2World may wish to replace these with their own assets. Thanks to the upcoming ability to import models from glTF files, this is as simple as adding the path to such an asset to a human-readable configuration file. Other features of the glTF import include randomly chosing from multiple available models, and re-coloring assets at runtime according to color information from the OpenStreetMap database or random color variations.
Improved command line interface
Developers and advanced users can use OSM2World’s command line interface to integrate its capabilities into scripts and automate recurring tasks. However, OSM2World has acquired several relatively distinct modes of operation over time, and this is not yet reflected in the command line interface. This calls for a reorganization of the existing options, taking inspiration from the “subcommand” metaphor used by popular tools like Git.
Modular architecture and Maven library
In addition to its core functionality, OSM2World contains code that is only required when running it as a web server or standalone application. This extra functionality is not needed when using OSM2World as a library. Therefore, the goal is to split the OSM2World codebase into several modules, allowing developers to use only the required module(s) as dependencies for their project. Dependencies of the core module will be reviewed for compatibility with other platforms, such as Android systems and servers. The goal is to replace or make optional dependencies that would prevent OSM2World from being used in other environments other than desktop computers.
To further encourage the use of OSM2World as a library in third-party projects, builds of the software will be made available as Maven dependencies through a suitable repository, and its interface will be improved to make it convenient to use in multiple programming languages, including Java and Kotlin.
More powerful map styles
A final goal is to improve OSM2World’s ability to support different map styles – similar to 2D map renderers, which typically allow the user to customize the visual appearance of the output with map styles specified in languages such as MapCSS. A map style would assign 3D models and textures to OpenStreetMap elements based on their attributes, and modify the appearance of the generated models according to the user’s requirements.
Software Sprint - Einzelvorhaben: OSM2World-3D-Modelle der Welt aus OpenStreetMap-Daten
Förderkennzeichen 01IS24S36