Evaluating Cesiumjs for coupling with geospatial modelling and visualizing modelling results

Dear Cesiumjs experts,

I am interested in using Cesiumjs for a project with several purposes: 1). Linking Cesiumjs with geospatial databases; 2). Developing "select" function to identify point, line or polygon features, query corresponding geospatial databases, and visualizing query results; 3). Applying a mathematical optimization model to the geospatial databases, generating optimization results, and visualizing results; 4). Adding chart functions to display results in charts.

May I ask several questions?

1. Can Cesiumjs platform be used to link to geospatial databases and develop select and query functions?

2. Can Cesiumjs platform be used to link to a mathematical optimization model and visualize modelling results?

3. Can Cesiumjs platform be used to link to chart functions?

4. What are the external data related to the Cesiumjs platform that need to be loaded when running my project? Are the external data stored on Cesiumjs server?

5. I think the Cesiumjs Globe and associated satellite imageries need to be loaded for a Cesiumjs project. May I ask if I can localize the Cesiumjs Globe and only use those satellite imageries for my study area as a background?

6. Is there a plan to add road layer and place names layer to the Cesiumjs platform (similar to Google map)?

7. Are there any restrictions on providing my Cesiumjs project for others to use?



For 1, 2 and 3: CesiumJS is a JavaScript visualization library, and while it doesn’t have any built in mathematical/statistical functions, if there does exist a JavsScript library you’re already using to do this, or a server you communicate with that has this data and functionality, then you can definitely do that and have the results displayed in Cesium or in a chart on the same page as the Cesium viewer is.

For 4 and 5: the default satellite imagery and terrain are loaded from the Cesium ion servers (https://cesium.com/ion/). If you have your own data offline you can load that into Cesium instead (or in addition), check out this code example: https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/?src=Offline.html

For 6, Bing imagery (that you can stream through Cesium ion) does actually have a road/name layer! You can see it by clicking on the icon to the left of the question mark icon in the Cesium viewer (that’s the base layer picker). You can see all the available layers there. You can also add your own layers from different web services too, like OpenStreetMap.

For 7, CesiumJS as a library is free to use and develop applications with, commercial or otherwise. You can see the full license here: https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md

Most of the restrictions are around data, so for example it’s against the terms of service to download Bing imagery and use it offline. You can see the full terms of service on that here: https://cesium.com/legal/terms-of-service/

Dear Omar,

Thank you very much for sharing your expertise with us.

May I ask a few follow-up questions?

1. If we customize Cesiumjs for our project, are we required to place “Cesium” logo on the interface?

2. Is it possible to modify the interface layout for our project? For example, we may add a left-hand side panel to show legend and a top panel with buttons for user interactions. Would you see if you have any examples to modify the interface layout?

3. Is it possible to set up our study area as the default view? (Users enter into our study area directly)? May I ask if you have any example to modify Cesiumjs default globe to a specific study area?