3D Tiles: the next big step for Cesium and 3D geospatial

Here is a link for 3DPS from last March: http://www.perey.com/ARStandards/OGC_3D_Portrayal_Service_SWG_Status_March_26_2014.pdf

  1. december 21., hétfő 13:29:03 UTC+1 időpontban Gergely Padányi-Gulyás a következőt írta:

Hi Gergely,

3DPS is for data discovery. 3D Tiles describe the way the data is streamed. 3DPS and 3D Tiles are not competitive. I expect they would be used together, e.g., use 3DPS to see what scenes are available, and then stream the content using 3D Tiles, instead of KML, COLLADA, etc.

As for 3D Tiles and the OGC, we are in frequent discussions and presentations with the OGC about 3D Tiles. There’s a lot of interest, but nothing to announce right now.

Patrick

Hi Patrick,

Thank you for the quick answer. I’m really happy that the two technologies are not competitive. This also means that I surely don’t fully understand 3D Tiles and 3DPS.

Best,

Gergely

Hi all,

Now that #3367 landed in the 3d-tiles branch thanks to Sean Lilley, 3D Tiles have pretty solid unit tests, which makes it much easier for us to accept contributions to Cesium’s 3D Tiles implementation.

So if you have been waiting to open a pull request or have an outstanding pull request, now is a good time to move forward.

If you are new to 3D Tiles and interested in getting involved, the roadmap is #3241.

Patrick

Hi Patrick,

First of all, happy new year!

I have one more question about 3DPS & 3D Tiles. If I get it right what you wrote earlier, the streaming will look something like this in the future:

http://myhost.org/mygisserver/3dps?

version=1.0&

service=3DPS&

request=GetScene&

format=3dtiles&

crs=EPSG:3857&

boundingbox=407255,5866253,483505,594003&

layers=my3dlayer

In this way, 3DPS is used to discover the scene, and 3D Tiles is used to stream the content. Is that correct?

It also assumes that I need a GIS server that supports 3DPS just like WMS or WFS. As far as I know there is no such GIS server, since 3DPS is still not out yet.

Can’t wait to see 3DPS and 3D Tiles work together!

Best,

Gergely

  1. december 21., hétfő 15:37:07 UTC+1 időpontban Gergely Padányi-Gulyás a következőt írta:

Hi Gergely,

Based on what I know about 3DPS (which isn’t too much), yes, you are spot on.

By the way, what are you building with 3D Tiles?

Patrick

Hi Patrick,

Thanks for the quick answer.

Until now I haven’t built anything with 3D Tiles yet, but my intention in the future is to be able to stream city-scale buildings (LOD2, LOD3) in a web browser.

Actually that is my next question: how can I create b3dm models from 3D data? At the moment I have some CityGML files, but in the future the input data will be BIM models in IFC format or even LAS files.

I would love to see a tool which helps me convert my heterogenous 3D datasets into 3D Tiles. Is there anything out already?

Best,

Gergely

  1. január 4., hétfő 14:17:06 UTC+1 időpontban Patrick Cozzi a következőt írta:

Hi Gergely,

Ah, cool! AGI, who employs most of the Cesium developers, is building tools to generate 3D Tiles, but they are not out yet.

Patrick

Hi all,

If you are using 3D Tiles, please consider submitting a proposal for a talk at the upcoming FOSS4G NA conference in May in Raleigh, North Carolina. It is a great conference on open-source geospatial software.

This is a nice opportunity to get your work some exposure and show the diversity of use cases that 3D Tiles will serve.

The early bird deadline for proposals is January 22. See https://2016.foss4g-na.org/cfp

Patrick

Dear Patrick,

I just noticed that there is another 3d-tiles specific branch in Cesium called 3d-tiles-refine. Maybe it was there all along and only I failed to see it.

How does it differ from 3d-tiles branch? Should we use this branch instead?

Anyway, keep up the good work! Really can’t wait to use 3D Tiles for visualizing my city-scale buildings!

Best,

Gergely

  1. január 4., hétfő 16:57:16 UTC+1 időpontban Patrick Cozzi a következőt írta:

Hi Gergely,

Always use the 3d-tiles branch. At this point, we are treating the 3d-tiles branch as the stable master version of 3D Tiles so all development is done on branches off of 3d-tiles, and then merged into the 3d-tiles branch with pull requests.

The 3d-tiles-refine branch was actually already merged into 3d-tiles; we just forgot to delete it. Thanks for pointing it out!

Patrick

Hello,

i'm new with cesium and 3d-tiles.
i need some help of conzeption and implementation.

i load a citygml to 3dcitydb and export the collada files as tiles wich i converted with the colladaToBglTFConverter.jar to bgltf.
so now i have folders of the tiles with the gbltf files in it.

how could i show it in cesium?
I download the branch "3d-tiles". but i think i have to put the "build" folder of the cesium projekt to it.?
I add the code:
    var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: '../../data'
    }));
but i get the error "Cesium.Cesium3DTileset is not a function"
so, is there a detailed description how to run this branch and load it with 3d-tiles?

Where does cesium knows which tiles it has to show? Does it have to load a tileset.json file and how i will get it?

does bgltf store the full coordinates (long lat) or relative postitions?

Thanks

Hi,

Are you using the 3d-tiles branch in Cesium? If so, Cesium.Cesium3DTileset should be defined.

To the best of my knowledge, colladaToBglTFConverter does not generate 3D Tiles tilesets. For the concepts in 3D Tiles, review the spec.

Note that this is still a work-in-progress so expect minor changes over the next few months.

Patrick

Hello Patrick,

Hi,

Are you using the 3d-tiles branch in Cesium? If so, Cesium.Cesium3DTileset should be defined.

yes. So i only need this branch? I ask, because there is no "cesium.js". So i don't know how to initialize cesium.

To the best of my knowledge, colladaToBglTFConverter does not generate 3D Tiles tilesets. For the concepts in 3D Tiles, review the spec.

Yes, i read it. But for me it is not clear what it is the concrete workflow to get it from a citygml. Does it work with 3DCityDB too or how i get it?

Thanks
Stephan

Hi all,

The Cesium 3d-tiles branch now has simple 3D Tiles datasets for testing with a new Sandcastle example by Sean. See

https://github.com/AnalyticalGraphicsInc/cesium/blob/3d-tiles/Apps/Sandcastle/gallery/3D%20Tiles.html#L32-L479

To try the example, pull the 3d-tiles branch, then build with npm run combine, before running the development server (npm start) and browsing to the Sandcastle example.

Note that the tile payloads in the repo (e.g., *.b3dm, *.i3dm, etc.) are gzipped.

Patrick

Patrick, there shouldn’t be a need to run combine, unless you are doing something special I’m not aware of, npm run build is all you need and only takes a couple of seconds (compared to combine which takes forever)

As it turns out, visualization of weather data in 3d surfaces and volumes above a terrain map is exactly what led me to cesium.js, and I'm very glad to see the development of 3d tiles.

Grib data does indeed lend itself to applications like this - grib files generally are supplied with multiple bands representing different data over a geographic grid. For many grib files (numerical model output), the some of the bands represent data values for multiple altitudes, with one band containing geopotential height for individual points and another band containing data values of the corresponding points.

The GDAL library is good at extracting individual bands and working with the data, typically writing output files in GeoTIFF format. It would take minimal scripting to turn that into point clouds, though functions that can take a multi-band GeoTIFF and turn it directly into point clouds would be really convenient. would be really convenient.

One thing that could be really interesting would be the ability to map values in collections of point clouds to alpha values on the fly -- in other words, to load a point cloud, and selectively make parts of it transparent or semi-transparent via user interface.

Hi,

Part of 3D Tiles is declarative styling, which, as you suggest for point clouds, allows us to map feature property values to color/show. This work is just getting started in the 3d-tiles-style branch.

Patrick

Hi all,

We put together some early doc and examples for the declarative styling part of 3D Tiles. See here. Please provide your feedback and use cases to help drive the direction of the styling schema.

Patrick

Hi all,

If your interested in 3D Tiles, check out the impressive work Vricon is doing with their terrain in Cesium:

http://cesiumjs.org/2016/03/08/Vricon-and-3D-Tiles/

Vricon has also made some nice contributes to the Cesium implementation. Thanks again to them!

Patrick