# suggestions for OGC services

**URL:** <https://community.cesium.com/t/suggestions-for-ogc-services/1641>\
**Category:** CesiumJS\
**Created:** [November 3, 2014, 9:26pm UTC](https://community.cesium.com/t/suggestions-for-ogc-services/1641 "2014-11-03T21:26:31Z")\
**Posts on this page:** 3\
**Page:** 1

<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:** [November 3, 2014, 9:26pm UTC](https://community.cesium.com/t/suggestions-for-ogc-services/1641/1 "2014-11-03T21:26:31Z")

</div>

Hello,  
I just update GeoserverTerrainProvider plugin in order to implement getTileDataAvailable function that will be required for Cesium 1.4. During this update I refactor my plugin to separate the specifics code of terrain provider from a generic code to parse WMS, TMS and WMTS capabilities xml. see between line 2 and line 778 ([https://github.com/kaktus40/Cesium-GeoserverTerrainProvider/blob/master/GeoserverTerrainProvider.js#L778](https://github.com/kaktus40/Cesium-GeoserverTerrainProvider/blob/master/GeoserverTerrainProvider.js#L778)). We could call these generic code the OGCHelper.  
My suggestion for Cesium dev is to rewrite imageryProvider using WMS and TMS protocol in order to use OGCHelper.  
As I use geoserver, I can't use TileMapServiceImageryProvider because the server must provide a tilemapresource.xml (see the line [https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/TileMapServiceImageryProvider.js#L260](https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/TileMapServiceImageryProvider.js#L260)). The TMS protocol doesn't specify it.

With OGCHelper, and some adaptation of TileMapServiceImageryProvider, I could use TMS from geoserver and also WMTS. OGCHelper could also be used to make a terrain provider (like my plugin) not limited to geoserver but to any geographic Information System compliant to OGC proctols.

I also think that it would be easier to maintain.  
I'm waiting your opinion and comment.

---

<div class="post-metadata">

**Author:** ![patrick](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/patrick/32/2045_2.png) [@patrick](https://community.cesium.com/u/patrick)\
**Post date:** [November 7, 2014, 8:18pm UTC](https://community.cesium.com/t/suggestions-for-ogc-services/1641/2 "2014-11-07T20:18:20Z")

</div>

This is not an area I am very familiar with, but this sounds reasonable to me. Perhaps Kevin will have more ideas here. We started something like this a long while back:

> [Comparing main...wms · CesiumGS/cesium · GitHub](https://github.com/AnalyticalGraphicsInc/cesium/compare/wms)

Patrick

---

<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:** [November 8, 2014, 9:41am UTC](https://community.cesium.com/t/suggestions-for-ogc-services/1641/3 "2014-11-08T09:41:36Z")

</div>

Ok I'm waiting Kevin's ideas.
