osm-3d and (Google Earth) geomodeling

I don’t think streaming is a requirement for the core service at all. Just like the OSM servers, the model repository itself would focus on handling uploads and providing “planet” dumps and diffs. If anyone wants more, they download these and provide regional extracts, filtering features and whatever.

The core service should be kept minimal - because if you plan too big you are afraid of even getting started. Things like that should be allowed to grow over time.

In my opinion, to get started we would just need enough “dumb” storage to last us for a year or two. Can anyone provide a guess how many MB we should expect per model and how many models we might get during the initial stage of such a project?

Hi Aerilius,

I like your idea to migrate the 3d model community to openstreetmap! And I’d really like to support this. I had several discussions with Tordanik about real 3D models to enhance the OSM2World-Slippymap but I always had the feeling that we’re facing the “chicken-egg-problem” here.

  1. We need modelers and models
  2. We need a platform to upload, view,… the models in an acceptable format and an acceptable license
  3. We need support in software like OSM2World (and ideally many others)

I think I could and would help provide part 2. A simple site for Collada-models, a simple (platform independant) viewer,… to start with. Part 3. is not so easy, but I guess Tordanik (and perhaps I) would be more encouraged to work on that (for OSM2World and the slippymap) if there are actual models that could be used :slight_smile: And as I understand it, you’d provide for part 1? You’d upload your models to kick-start the site? And you could help encourage other modelers to help OSM with even more models? If so, I’d give (2) a try.

Peda

Do we really want go into collada madness?
To be clear collada is not standard for files with models. Collada is template for creating new 3d file formats, not compatible with each other. To make more confusion with it, all that files are named collada. So one application which support collada can’t open correctly files generated by other. To make it even more messed up, many application store inside files additional data to mimic other application…

For me any file format is better then collada. For example OBJ are supported almost by all 3D editing application. They are easy to read and write and work everywhere the same.

But whatever you chose I will add support for that in kendzi3d as soon as possible.

Hm, I can not comment on that as a professional, however, I’ll add my humble opinion :wink:

I read the collada spec and the reason it was invented. I had the impression that it’s well specified and was thought to make a end to the mess with 3d file formats. Its main porpose was to have a file format that can be used to exchange 3d models between apps. Iit’s the format SketchUp supports :slight_smile: And by its XML nature it’s easy to extend, e.g. for meta data of the models.

On the other hand I have some experience with OBJ. It doesn’t support multi textures, it has some glitches how it’s interpreted (esp. textures) and it has some other shortcomings. Especially it doesn’t feature the extensible nature of Collada/XML: We need a way to store “anchor points” and “direction vectors” or something like that to integrate the models in our apps.

Anyways, I’m open minded to everything except VRML :slight_smile: I’d prefer something that’s expressive enough for nice models, open enough to be “platform independant” and free enough to not require any license fees or something like that :slight_smile:

I implemented exporter to collada and:

  • It is over-complicated
  • Only basic geometry can be portable between application
  • Everything beyond geometry like lighting, texturing is done by extension point, and extensions are application specific, undocumented, and made in strange way.
  • Collada supports multitexturing in theory, in practice I didn’t find any working or portable example of that, only some demo applications.
  • support for collada is really badly for 3d editing applications (except that which creating own extensions)
  • simply export collada from Blender, open it in notepad and search for tag all inside is not documented and application specific

As I know Google pack collada into zip package and add metadata as separate file, not inside file it self.

While the question about the right format is no doubt an important one, we should keep in mind that the model repository service itself will look 99% the same no matter whether the files it stores have .obj or .collada extensions. So first I’d like to focus on the decision whether to create it all. And to help with that decision, I’m also interested in Peda’s question to the thread starter:

Hi,
I will definitely provide all of my own models for free use if it can help make osm 3d happen (some are already to openbuildingmodels [203], [207], [209]).

I also plan to invite as many modelers as possible (I closely know the top ~80, and then there were 1000+ modelers whose work I know by sight). However there is the before mentioned chicken-egg problem: Now that so much time passed, I am not sure how many modelers I can reach and persuade. If we imagine Google would revive geomodeling, everyone would hear about it and modelers would not hesitate because of Google’s big brand and the familiar upload process. A comparable infrastructure does not yet exist for osm, so what could modelers do now (and see results?).
I’m thinking about an interim solution/activity, like adding 2d building foot prints to osm, generated from our 3d models.

About Collada: SketchUp say they have the industry’s most complete implementation (93+%) and considering that, the intercompatibility with other applications is really bad. There are even issues when re-importing into SketchUp (“projected textures”). And when importing into another application I have fear it does not support those advanced Collada features that SketchUp’s Collada makes use of.
Obj is (too?) simple, and it seems to support geometry groups (I don’t know about repeated geometry/components).

I did a collada importer to directX once and i will never go into this madness anymore i totally agree with Kendzi on this point :wink:
You can add to the list that .dae file are huge even for very simple geometries (that’s why we implemented a compressed format on F4Map)

Hi,

this is great news! I had a look at your warehouse site and this would be a huge start already!

I’d say this is enough encouragement to go and start a model site for OSM (and the like) for me/us.

However, there’s still the format problem and it’s not a good sign that 2 developers had issues with Collada and even you as a modeller had found issues. And I agree with Kendzi that metadata could also be simply put into a zip file. This way one could even distribute textures via a single file. Again, OBJ is simple, yes. But it lacks multitexturing and much of the lighting stuff. Aerillus, you used SketchUp for all your models, right? And that’s the main application other modellers use, too? For the 8.0 version that I managed to install via wine the only export format was kmz and dae. Do current version support more export formats out of the box in the free version? I’d guess this is an important point in decission making.

Before your objections, I would have chosen Collada. Now I’m not sure about the format any longer … more input and opinion welcome :slight_smile:

Aerilius:

You seem to be from Germany? Would you like to come to FOSSGIS conference in Berlin 19.03-22.03 to discuss the issue in person?

As far as I know, !i!, Tordanik and Peda will be there. I hope to be there as well.

Another issue is with modelling software.

Free version of Sketchup can’t be used for commercial work. Here is an excerpt from the license of the free version of Sketchup:

So I switched to Blender, though it definitely requires more time to learn than Sketchup.
Blender is more powerful tool than Sketchup. It’s rather a 3D platform than a software. It includes advanced modelling, rendering and animation parts. Everything can accessed via Python bindings.

At FOSSGIS-2014 I hope to talk how to georeference a 3D model with help of Blender and OpenStreetMap data.

Regarding formats.

Collada should be used only to exchange 3D models. It shouldn’t be used for production. There is some analogy with OSM file format. It’s normally used to excange data. Each OSM application uses optimized binary format for OSM data.

In my opinion pycollada library works quite reliably. It’s used in Blender to import/export COLLADA files.

I created a simple COLLADA->POV-Ray converter with the help of pycollada.

I’d suggest to have GUI for open 3D model repository similar to Sketchup 3D Warehouse.

Some time ago I wrote a simple application to explore a 3D model via prerendered sprites in the same way it’s done in Sketchup 3D Warehouse. Check a demo here.

I can contribute to a plugin for Blender that loads a model from and uploads it to the open 3D model repository.

SketchUp’s license aims to prevent professional architects to earn their living without paying the SketchUp developers to earn their living. Hobbyists can still use it for ever for free (that was probably a condition by Google). This is important to know, but I’m not sure how this could be a problem for open building models that are distributed under a free license. Even if distributed under public domain and someone else using it for commercial products (navigation software), I don’t think it would conflict with the license of the software.
I’d like if SketchUp itself was open source (or a comparable alternative existed), but we would probably better go the way of the least effort, use existing wide-spread tools/editors and concentrate on adding the missing infrastructure (repository and viewer).

I think it’s a weak point of Sketchup. Someone creates a model with a free version of Sketchup and publishes it in the repository with a free license. Then someone uses the model for commercial work. In my opinion this contradict to the license of the free version of Sketchup.

As it was mentioned already a much more powerful and open source alternative to Sketchup is Blender.

I also agree that it’s a good idea to distinguish between source file formats (ie. .blend, .skp, etc.) and the target file format that would be used in the repository, and to be displayed in osm. (Another question would be, is it worth to keep a copy of the source file in the repo, for easier editing?)

I could contribute a GUI for uploading from SketchUp. I have a couple of plugins for SketchUp, and currently I’m working on a plugin using OpenLayers and OverPass/Nominatim APIs.

I’ve been thinking to come to FOSSGIS, though I’m very new to this (and geomodeling or GIS is for me rather interest than my profession). Even better when I know some people who go there!

The turntable (or swivel view) is great! I’m not able to tell anything specific about the future of 3dwh, but technology doesn’t stop there. That’s why I mentioned webgl somewhere above. WebGL is quite universal and cross-platform (without need for Java or any plugins), so once there exists an OSM WebGL viewer, it could be easily included in a future open buildings repository.

Yes, we’ll be there - and it would be cool to meet you at FOSSGIS. Almost all members of the OSM community are hobbyists, including many of the speakers at the conference.

Regarding the different preferences for modelling software expressed here, it would be good if we could pick a format that works well for both Sketchup and Blender users. Blender, due to being open source and working natively on Linux, is a natural fit for an open community, but it is also hard to use. With Blender being our “JOSM”, it would be great to have Sketchup as our “Potlatch” - a simple editor usable by everyone. The license issue sounds unpleasant, but I wouldn’t form a conclusion without looking at it more closely.

Hi!

I’m presenting me.

I’m yopaseopor, a catalan guy (yes, this part of Spain called Barcelona in which political things are being speed up about independence)
I am a user of OSM, a little formerly contributor of 3Dwarehouse (in other projects find the EuroMediCat galleries http://sketchup.google.com/3dwarehouse/search?q=euromedicat&styp=c&scoring=t&btnG=Buscar&reps=1 ) and now a OSM contributor for my zone (basically “Catalonian countries”).
But one of my other hobbies is traffic signs.If your GPS says you maxspeed of the way, imagine if it says all the traffic signs of the road, street (if you watch stop,give_way,and traffic_lights why not the other about 300,a very concrete state of the way can be used to assist semiautomatic driving?).
My goal is to spread the use and make bigger Roadsigns JOSM pluging here in Catalonia and Spain with a preset for the plugin, a style to JOSM, a preset for tag intensively one way and also add the traffic signs…and a little port to make the traffic signs will be available to Kendzi 3D plugin (it was the only existent solution that shows me a little concrete model visible and available for all OSM via JOSM).
Instead I don’t know such thing about programming and 3D design, I want to next generation of 3D models will make able to include in OSM things as little as a concrete traffic sign in a concrete node in a concrete place with a concrete orientation, lamps, trees, etc. And also I want to make disposable to all the community and be able to upload all my work I have done for Kendzi3D so I hope contribute to this OSM Warehouse will be easier as editing the maps in OSM.

Thank you
yopaseopor.blogspot.com
PD: sorry for my bad english :stuck_out_tongue:

Hello yopaseopor!

Welcome and thank you in advance! It would be great to have such 3D library from you!
We need low poly models, or 2 versions of models:

  1. Low poly
  2. Nice look.

I have some experience with this things, but unfortunately less time :frowning:
If you wish, please contact me: http://wiki.openstreetmap.org/wiki/User:Marek_kleciak

Hi there, I’d like to join the discussion because I think it would be awesome to have high-quality 3D models in the openstreetmap, but I’m not convinced that s3db and comparable attempts that try to introduce 3D capabilities in the existing osm database are the right tools for complex buildings/structures (for most of the buildings out there, s3db is already fine in it’s current form, but it will never work for the really interesting ones ;)).

So here’s my idea how to add 3D objects to the openstreetmap:

  • There will be a separate database that stores all metadata about a 3D scene that is required to display it on the map. Required fields are:
    [list=*]

  • id (String): chosen by the contributor, but must be unique

  • minlat, maxlat, minlon, maxlon (decimal): defines location and extent of the whole scene

  • minheight, maxheight (decimal): lowest and highest point of the scene, relative to the ground level at (minlat, minlon)

  • model: the actual 3d model, as blob or reference to some other datastructure

  • integer-id, timestamp, changeset, user (whatever is required to properly support vcs)

[/*] [*]I will not join the discussion about the best 3d model format, because that's not my expertise, but it'd be nice to have all data (except for textures) in a non-binary and uncompressed format to support diffs and therefore efficient version control (at least for the database, for the contributors it would be great to support as many formats as possible, which can be converted without losses in the internally used format).[/*] [*]We need a platform where users can upload and tag 3D models. A framework like [https://sketchfab.com/](https://sketchfab.com/) would be awesome! Some more details on required capabilities:
  • The uploader will provide a unique name for the object (like files in mediawiki)

  • Uploaded files and metadata are under version control and can be edited by all registered users

  • There should be a user-friendly live-preview-kind-of-way to position the object on the map and set the correct scale. center, scale and ground offset may then be converted to the not-so-userfirendly but more precise database fields minlat, maxlat, minlon, maxlon, minheight, maxheight.

  • All metadata that goes beyond the required fields (e.g. description, license, ratings, etc.) will be stored in the (separate) database of this platform. The 3d model storage database should be kept free from all of this to make it as fast as possible.

[/*] [*]No 3D model will be visible in the map until it's counterpart in the openstreetmap gets tagged with a reference to the object. This way, the 3D model and possible 3D structures generated from osm polygons will not be in conflict.
  • We’d need a new tag, e.g. “model=*” where * is the unique name of the 3d model in the database

  • The tag can be used on a single polygon or on a relation that combines multiple elements, so all of them get replaced by one 3D model (e.g. a detailed 3d model of a castle with a park should replace all building parts, walls, trees, fountains, etc.)

  • Further Advantages: Because all metadata is stored in the database, no additional tags are required to position the object. If someone creates a new 3d model, the old one doesn’t have to be overwritten or deleted. The osm database is kept free of 3D-data, existing polygons don’t need to be altered.

[/*] [/list]

So, what do we gain here? We have a separate database for 3D models, which I think is a good thing, because we wouldn’t have to change the OSM database model and the planet files wouldn’t get polluted with 3D meshes and gigabytes of high-res textures (thereby dramatically increasing acceptance in the osm community). Still, the 3d models would be closely linked to the OSM database through the tag describing which elements are to be replaced by which 3d model in maps that support the display of 3d models.

For the geomodelling-community and all other interested contributors we’d provide a nice and easy to use platform, where models can be shared and integrated into the openstreetmap without too much effort.

For developers of 3d maps, there’d be a simple database schema available where the 3d models can be retrieved from. For 2D purists and all other applications where 3D models are irrelevant (e.g. routing algorithms), the overhead caused by 3d-related nodes and tags would be negligible.

OK, that’s it, what do you think about it? :smiley:


Related stuff I’m curently thinking about:

  • Decoupling the location data from the actual 3D objects for better reuse. Ideas:
    [list=*]

  • Express all of the location data in OSM tags (bad idea, locations shall never be stored in tags)

  • create a new polygon with only 3 tags: the 3d model reference, minheight and maxheight; the corners of the polygon define the extent of the model. Create a relation with a special type and roles, containing this polygon and the osm elements to replace (works, but quite complex)

  • allow multiple locations for one 3D object (locations go in a separate table of the database) and give each location a new name that may be referenced in the model tag, e.g. “model=tower:north”, “model=tower:south” (would require a changes of an object’s metadata rather than changes in the map, maybe not the right place?)

  • → right now I’m in favor of the second approach (polygon with relation), though I would leave the location data attached to the 3d object (as default location and definition of size) and we’d need a JOSM plugin to get a polygon of correct size and preset with the correct model reference and height values.

[/*] [*]3D models linked to tags: People should be able to create general-purpose models that can be used in 3D maps. They would require slightly different metadata (length, width, height instead of min/max lat/lon/height) and maybe some additional testing / approval by experienced users, but then we could get a variety of high-quality models of highly reusable objects like trees, mailboxes or objects that can be randomly placed on playgrounds, graveyards, construction sites etc.[/*] [/list]