Google Photorealistic 3D Tiles

Why can’t we add Google Photorealistic 3D Tiles just like any other 3D tileset, like as an asset? What if we want to add a different imagery layer or terrain source below google photogrammetry tiles, Is that possible?

1 Like

yes it’s possible to combine 3D Tilesets, for example see

yes we can combine tileset, I want to change the basemap from satellite to lets say streets map under google tiles, Is that possible?
as we turn off the globe for cesium tiles, So the basemap imagery + terrain + google 3D tiles come as a single layer. Can we handle each of these layers (imagery, terrain and google 3d tiles) individually?

2 Likes

Hi @saadat2930,

You don’t necessarily need to turn off the globe when using Google Photorealistic 3D Tiles. However, Google Photorealistic 3D Tiles and Cesium World Terrain use different reference systems, meaning they will not always align.

Do you have a pointer to details about the reference systems (SRS) for Photorealistic Tiles and the Cesium World Terrain?

Thanks,
Tim

1 Like

yeah that’s the main problem. So If I have to get elevation values from terrain for some analysis, and I can’t use cesium terrain, because it will block certain areas due to different elevation source. what should I do then?
Only 1 option is left which is if I use google terrain with photogrammetry tiles. but google doesnt provide any such terrain provider i think that can be use as a terrain source with cesium. Can you suggest any better alternative? Because this problem is going to be there with any terrain source other than the google terrain.

If I have to get elevation values from terrain for some analysis

Would you mind explaining your use case? We’re looking into potentially adding this ability for things like and clamping functionality on 3D Tiles.

Here is some info on the coordinate system for Cesium World Terrain. Notably, the terrain data height is relative to a WGS84 ellipsoid. I’m not sure what SRS Google’s data uses; I don’t think they have made that info public. Though it appears the data is not necessarily relative to the WGS84 ellipsoid.

Google uses the same WGS84 ellipsoid

2 Likes

I have trouble keeping my markers over ground with those tiles, height seems to not work to well most of the time. I just put them 100 m high above ground now

And outside the tiles
image

@Gabby_Getz
In our app we clamp buildings to the terrain, and then do different analysis like cut/fill or positioning of model.
Now the problem I am facing is with 3D tiles and Cesium Terrain Alignment. They both uses same reference system, but they are acquired through different platforms, so there will always be difference in the elevation values.
The Ideal solution would be, If we get terrain mesh/height maps from google, and then use that as base terrain instead of cesium terrain. But google doesn’t provide any such service.

In below image I have remove imagery and added black color to basemap, to identify the regions where google tiles are above or below the cesium terrain.

1 Like

We have same exact requirements. We want to be able to modify the google 3d tiles using our own jpeg imagery. Its only possible with cesium terrain and unfortunately both dont align. Notice how our 2D map image on the cesium terrain is on top of the google 3d tile. I would like to be able to map this image on the google 3d tile terrain…

  1. Would it be possible to cut/remove cesium terrain outside of my residential community map so only google 3d tile would show and do the opposite inside of the map so only cesium terrain would show. I would like to control the content inside my community map while keeping google tiles arround it.

  2. Also I wonder if in the future it would be possible to separate the google 3d tiles into components, the terrain, the building, the vegetation, the imagerie.

1 Like

Dear Experts,
Please I am to cesiumJs as a whole but my current project requires I use a 3d map engine to display flood map in KMZ format. I heard about the Google Photorealistic 3D Tiles and am pretty sure its what I want for my project but I am having some issues with using the google photorealistic 3d tiles.

I have read through this thread, however, I think my problem could be simpler than what is discussed here.

I have managed to load some flood maps in KMZ formats onto the world map using cesiumJS. Now I want to add the google photorealistic 3d tiles. I noticed, the tileset overlays and hide the loaded KMZ files. Please how can I make sure the KMZ is alwasy on top of the 3d tiles?

See my code below

 viewer = new Cesium.Viewer("cesiumContainer", {
        animation: true,
        sceneModePicker: false,
        baseLayerPicker: false,
        homeButton: false,
        vrButton: false,
        selectionIndicator: false,
        projectionPicker: false,
        navigationInstructionsInitiallyVisible: false,
        requestRenderMode: true,
        // This property is required to display attributions as required.
        showCreditsOnScreen: true,
    });

    // Add Photorealistic 3D Tiles
    try {
        const tileset = await Cesium.createGooglePhotorealistic3DTileset();
        viewer.scene.primitives.add(tileset);
    } catch (error) {
        console.log(`Error loading Photorealistic 3D Tiles tileset. ${error}`);
    }


    try {
        // '../../shapes/UFlow_3d/nov2020IB_100.kmz'
        // console.log(floodJson.kmlDataPath);
        viewer.dataSources.add(Cesium.KmlDataSource.load(floodJson.kmlDataPath,
            {
                camera: viewer.scene.camera,
                canvas: viewer.scene.canvas,
                //screenOverlayContainer: viewer.container,
            })
        ).then(function (dataSource) {
            viewer.flyTo(dataSource);
        });

    } catch (error) {
        console.log(`Error loading flood data. ${error}`);
    }

Thanks for your responses in advance.
Makinde

@makinde one cause could be that the altitudes in the kmz file are relative to the geoid and not to the ellipsoid. See Adding objects to Google Photorealistic 3D Tiles | bert

Hi @Jonb,

We want to be able to modify the google 3d tiles using our own jpeg imagery. Its only possible with cesium terrain and unfortunately both dont align. Notice how our 2D map image on the cesium terrain is on top of the google 3d tile. I would like to be able to map this image on the google 3d tile terrain…

I believe your feature request is covered by Drape imagery over 3D Tiles · Issue #7591 · CesiumGS/cesium · GitHub. I’ll add your use case there.

1 Like

Great, is it possible to break the google 3d tiles per components? (ex Buildings and terrain) what we really want to do is remove the buildings and keep the terrain so we can map a new jpeg image on the terrain. Other option we looked is to using a polygon and clipping plane cut the google 3dtiles and use the cesium terrain since we can then map our own imagery. the problem is cesium terrain and google 3d tiles dont have same elevation height… so it dosent fit visualy.

Great, is it possible to break the google 3d tiles per components? (ex Buildings and terrain)

Currently no… but stay tuned.

1 Like

I Solved this by a hacky way, Got the elevation from terrain, and google 3D tiles for the selected lot. Then adjusted the height of google Tiles as per the difference between the elevations from both sources. Now for selected lot the tiles are aligned correctly.

1 Like