Does geoserver host offline elevation data?

Hi,

Does geoserver host ‘offline’ elevation terrain data for cesium or ‘online’?

I mean will I still require internet connectivity while hosting/accessing geoserver from my cesium project?

Thanks.

Hi there,

Cesium can handle terrain datasets streamed from a url, or hosted locally. See our tutorial on terrain for more information: http://cesiumjs.org/tutorials/Terrain-Tutorial/

Hope that helps!

  • Rachel

Also here’s a brief guide about offline data: https://github.com/AnalyticalGraphicsInc/cesium/wiki/Offline-Guide

Best,

  • Rachel

Hello,
You can display elevation terrain data and use it in Cesium by using this plugin. Nevertheless it use the Height Map terrain model and not quantized mesh terrain model. Also there is a known issue with serrated display when the camera is near the terrain.

Hi,

When i write below code:
terrainProvider : new Cesium.CesiumTerrainProvider({

url : ‘//assets.agi.com/stk-terrain/world

})

I can see map on the globe , but when i write below code:

var terrainProvider = new Cesium.GeoserverTerrainProvider({

url: “http://localhost:8080/geoserver/wms?SERVICE=WMS&REQUEST=GetCapabilities&tiled=true”,

layerName: “SRTM90”,

styleName: “grayToColor”,

waterMask: true

})

Then i cant see neither map nor globe. Whole screen becomes black when i from switch from ol3 to ol3cesium using below code:

this.map = new ol.Map({

});

this.ol3d = new olcs.OLCesium({ map: this.map });

Why is it coming as black!

Hi,

I solved the blank black screen problem by changing the code as below:

var globe = new Cesium.Globe(Cesium.Ellipsoid.WGS84);

var terrainProvider = new Cesium.GeoserverTerrainProvider({

url: “http://localhost:8080/geoserver/ows?service=wms&version=1.3.0&request=GetCapabilities”,

//layerName: “SRTM90”,

//styleName: “grayToColor”,

waterMask: false

});

globe.terrainProvider = terrainProvider;

Am not sure if this is the correct way though.

BUT, i cant see any elevations ! What am i missing?

Please guide.

var terrainProvider = new Cesium.GeoserverTerrainProvider({

url: “http://localhost:8080/geoserver/wms”,

layerName: “SRTM90”,

styleName: “grayToColor”

})

Hi Farouk,

But i will need to put srtm90 data in geoserver, right?

I have downloaded srtm data, which has the below structure:

srtm_51_08

srtm_51_08.hdr

srtm_51_08.tfw

srtm_51_08.tif

Now inside geoserver folder where do i copy-paste this “srtm_51_08” folder ?

I am using geoserver version 2.11.1.

When i pasted it inside \data_dir\workspaces\ folder, the geoserver started up with the warning:

" WARN [org.geoserver] - Ignoring workspace directory workspaces/srtm_51_08 "

How do i include it, so that it is not ignored by geoserver, as i want to use it in my app as below:

var globe = new Cesium.Globe(Cesium.Ellipsoid.WGS84);

var terrainProvider = new Cesium.GeoserverTerrainProvider({

url: “http://localhost:8080/geoserver/wms”,

layerName: “srtm_51_08”,

});

globe.terrainProvider = terrainProvider;

You should follow the readMe of geoserverTerrain Provider.
At the end, there is some links amongs other things, this link.

Hi,

I have got the elevations of a particular region by hosting the .terrain files on a local server on my machine by below code:

var terrainProvider = new Cesium.CesiumTerrainProvider({

url: ‘http://localhost:8080/terrain/terrain_52_06

});

this.scene.terrainProvider = terrainProvider;

But now i dont want it from “server”, but read directly from the local filesystem without server then what should be the code ?