# Terrain by WMTS, WCS, WMS or WFS Server?

**URL:** <https://community.cesium.com/t/terrain-by-wmts-wcs-wms-or-wfs-server/4575>\
**Category:** CesiumJS\
**Created:** [September 6, 2016, 8:25am UTC](https://community.cesium.com/t/terrain-by-wmts-wcs-wms-or-wfs-server/4575 "2016-09-06T08:25:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![heerco](https://avatars.discourse-cdn.com/v4/letter/h/87869e/32.png) [@heerco](https://community.cesium.com/u/heerco)\
**Post date:** [September 6, 2016, 8:25am UTC](https://community.cesium.com/t/terrain-by-wmts-wcs-wms-or-wfs-server/4575/1 "2016-09-06T08:25:37Z")

</div>

Hi, I'm still working through the proces of understanding how the Cesium's Terrainprovider works. Right now I'm reading some contradictory things about using WMTS for terraindata.

In the Netherlands, we have the AHN2 database that has very accurate height-data for the Netherlands. This data is served in WCS, WFS, WMS or WMTS Format, with the WMTS format being the closest (from what I've read so far) as being usable within Cesium to possible create terrain.

Are there any ways for me to use the WMTS server from that server to generate Terrain data on the fly for use in a terrainprovider?

Heerco

---

<div class="post-metadata">

**Author:** ![hannah](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/hannah/32/4509_2.png) [@hannah](https://community.cesium.com/u/hannah)\
**Post date:** [September 6, 2016, 2:46pm UTC](https://community.cesium.com/t/terrain-by-wmts-wcs-wms-or-wfs-server/4575/2 "2016-09-06T14:46:55Z")

</div>

Hello,

Sorry, I’m not familiar with WMTS being used as a terrain format. We have WMTS imagery support.

For terrain, we support either a height map or quantized mesh format. We recommend using quantized mesh because it generally has better performance. You can use a [CesiumTerrainProvider](http://cesiumjs.org/Cesium/Build/Documentation/CesiumTerrainProvider.html) for that data format.

Here is some documentation on our terrain providers: [http://cesiumjs.org/Cesium/Build/Documentation/TerrainProvider.html](http://cesiumjs.org/Cesium/Build/Documentation/TerrainProvider.html)

And here is a terrain demo: [http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Terrain.html&label=Showcases](http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Terrain.html&label=Showcases)

Best,

Hannah

---

<div class="post-metadata">

**Author:** ![abdou](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/abdou/32/2012_2.png) [@abdou](https://community.cesium.com/u/abdou)\
**Post date:** [September 7, 2016, 5:13am UTC](https://community.cesium.com/t/terrain-by-wmts-wcs-wms-or-wfs-server/4575/3 "2016-09-07T05:13:47Z")

</div>

Hello,  
I wrote [Cesium-GeoserverTerrainProvider](https://github.com/kaktus40/Cesium-GeoserverTerrainProvider) which works with MS, WMTS and TMS. This is specific to geoserver because it can serve bil/DDS data (direct map with an arraybuffer waiting by cesium in [HeightmapTerrainData](http://cesiumjs.org/Cesium/Build/Documentation/HeightmapTerrainData.html)). Nevertheless, you can adapt the code [here](https://github.com/kaktus40/Cesium-GeoserverTerrainProvider/blob/master/GeoserverTerrainProvider.js#L69) for example to process your data.
