# Cesium.WebMercatorTilingScheme

**URL:** <https://community.cesium.com/t/cesium-webmercatortilingscheme/42255>\
**Category:** CesiumJS\
**Created:** [July 22, 2025, 9:15pm UTC](https://community.cesium.com/t/cesium-webmercatortilingscheme/42255 "2025-07-22T21:15:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alan\_Rose](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/alan_rose/32/2293_2.png) [@Alan\_Rose](https://community.cesium.com/u/Alan_Rose)\
**Post date:** [July 22, 2025, 9:15pm UTC](https://community.cesium.com/t/cesium-webmercatortilingscheme/42255/1 "2025-07-22T21:15:22Z")

</div>

Hi. I have been asked to look into producing quantized mesh tiles in Web Mercator format which the documentation suggests is possible. However attempts to do so and find online examples has proven difficult. f.i. I have tried to get tiles from Cesium ion and Maptiler in this format but the returned tiles are WGS84 as seen in the layer.json file  
“projection”: “EPSG:4326”  
Does anyone know of an example I can use to get a projection of EPSG:3857 quantized mesh tiles.

this is how i request the tiles  
const terrainProvider = await Cesium.CesiumTerrainProvider.fromUrl(  
terrainUrl,  
{  
requestVertexNormals: true,  
// Explicitly specify Web Mercator tiling scheme for terrain  
tilingScheme: new Cesium.WebMercatorTilingScheme()  
}  
);

---

<div class="post-metadata">

**Author:** ![jjhembd](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/jjhembd/32/10144_2.png) [@jjhembd](https://community.cesium.com/u/jjhembd)\
**Post date:** [July 24, 2025, 3:54pm UTC](https://community.cesium.com/t/cesium-webmercatortilingscheme/42255/2 "2025-07-24T15:54:41Z")

</div>

Hi @Alan_Rose,

The `tillingScheme` property of `CesiumTerrainProvider` is read-only, and not part of the [constructor options](https://cesium.com/learn/cesiumjs/ref-doc/CesiumTerrainProvider.html#.ConstructorOptions). `CesiumTerrainProvider` automatically sets the value of `tilingScheme` based on the `layer.json` file that it receives from the server.

Both [Cesium World Terrain](https://cesium.com/platform/cesium-ion/content/cesium-world-terrain/) and [Maptiler’s quantized mesh tileset](https://cloud.maptiler.com/tiles/terrain-quantized-mesh-v2/) are provided in EPSG:4326. If you need tiles in EPSG:3857, you will either need to find a different data source, or re-tile the terrain data yourself.

Can I ask why EPSG:3857 is necessary? As discussed in [this older thread](https://community.cesium.com/t/tiling-scheme-terrain-quantized-mesh-and-wmts/27900), you can combine 4326 terrain with 3857 imagery in CesiumJS. Are you wanting to use the terrain tiles in a different viewer?

---

<div class="post-metadata">

**Author:** ![Alan\_Rose](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/alan_rose/32/2293_2.png) [@Alan\_Rose](https://community.cesium.com/u/Alan_Rose)\
**Post date:** [July 25, 2025, 6:09am UTC](https://community.cesium.com/t/cesium-webmercatortilingscheme/42255/3 "2025-07-25T06:09:09Z")

</div>

Correct. I want to display in a different viewer and I was asked if I could make QM tiles in Web Mercator format to match the imagery. I also wanted to verify my QM service was producing tiles in the correct format in a Cesium viewer. I set the projection in the layer.json to EPSG:3857 however the root tile is currently been rejected in Cesium.  
net::ERR\_CONTENT\_DECODING\_FAILED 200 (OK). This maybe my error to fix. This is as far as I have got so far so was hoping really there might be a demo out there I could study. We are displaying the terrain in 2.5D

---

<div class="post-metadata">

**Author:** ![Alan\_Rose](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/alan_rose/32/2293_2.png) [@Alan\_Rose](https://community.cesium.com/u/Alan_Rose)\
**Post date:** [July 25, 2025, 10:13am UTC](https://community.cesium.com/t/cesium-webmercatortilingscheme/42255/4 "2025-07-25T10:13:25Z")

</div>

FYI I fixed my error. The root tile was not gzipped. I think I should be Ok from here. Thank you for the reply.

---

<div class="post-metadata">

**Author:** ![Haadi\_M1](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/haadi_m1/32/33134_2.png) [@Haadi\_M1](https://community.cesium.com/u/Haadi_M1)\
**Post date:** [March 12, 2026, 12:13pm UTC](https://community.cesium.com/t/cesium-webmercatortilingscheme/42255/5 "2026-03-12T12:13:10Z")

</div>

> [@jjhembd](#):
>
> you can combine 4326 terrain with 3857 imagery in CesiumJS.

Is there any advantage of having imagery in 3857 over 4326? does gdal2tiles perform better with epsg 3857 format?
