I want to create a new wiki based project:
Warehouse for 3d models of buildings and other architectural objects, to use them in OpenStreetMap (OSM) and Wikimaps
3d Models' Peculiarities
There are different formats for 3d models. For purposes of this project there are 2 main classes of formats.
- Mesh based. Objects stored as a bunch of vertexes and polygons.
- Procedure generated. These formats allows to refine model step by step and looks like a script.
For 3d artists, it's easier to work with local coordinates for model. Taking some point as a reference.
But for geographical systems you'll need a global (latitude, longitude) coordinates.
So there should be a way to bind 3d model stored in commons to geometry stored in OSM and API to translate model coordinates from local to global coordinate space and vice-versa.
(I want to use OSM for georeferencing but I won't to stick to OSM objects as the only one possible reference. So there is a need for metainformation for georeferencing)
For mesh based models we need a different models with different number of polygons. So we need API to specify what kind of a model we are looking for, low/high/mid poly.
For procedure generated model, we could specify snapshot points, where different level of details could be achieved. From the point of API we need a way to specify do we want to get a script or processed to particular snapshot point model.
OSM Related Issues
For now all what we have to create a 3d objects inside OSM is http://wiki.openstreetmap.org/wiki/Simple_3D_Buildings
Disadvantages of current approach:
- Its hard to edit
- You cant get Hi/Low detailed variants of model
- It violates objects description: in case of a complicated 3d model, building:parts combined with bizarre roof shapes, to model a grass or a stadium seats, but modelled surfaces aren't the roofs of any kind.
It's not widely used inside OSM yet, but there is a possibility to map indoor spaces for large Malls, Airports and so on. With Current approach it's possible to build an door to door routing inside building. It's useless when you want to get just a model to show, but I don't want to loose that ability. I think it could be kept and developed throe procedure generated models and bindings between generated parts of model and some of objects inside OSM.
Reference (translation from local space coordinates to global space coordinates) may-be saved as metadata for exact model.
For purposes of referencing we need:
- Editor: Allows to move/rotate model footprint among the map online.
- Script/Model processor: Generate footprint of a model. Footprint is a flat projection of model onto model's earth level.