Swissgeol is the new geology 3D viewer of Swisstopo, available at https://viewer.swissgeol.ch and developed by Camptocamp. It is Open Source and based on the Open Source CesiumJS 3D library.
You are welcome to use and adapt this software for your own uses; see LICENSE. If you want to get started off rapidly, Camptocamp offers support and expertise to meet your needs rapidly.
Clone the repository
git clone https://github.com/swissgeol/ngm.git
Install node.js and npm
See instructions at https://nodejs.org/en/download/package-manager
From the root directory change to the ui
-dirrectory
cd ui
Install dependencies
npm install
start development server
npm start
Install Docker
See instructions at https://docs.docker.com/get-docker/
Install rust and cargo
See instructions at https://doc.rust-lang.org/cargo/getting-started/installation.html
Start the api and application
make run
See DEVELOPING.md. See DEPLOY_VIEWER.md. See DEPLOY_ABBREVIATOR.md.
A few URL parameters will modify the behavior of the viewer:
noLimit
disable the navigation limits (sphere and lava). Use noLimit=false to enforce limits on local dev.ionAssetIds
display some additional Cesium ION 3dtilesets (coma separated list of CesiumIon ids)ionToken
optional token to access Cesium ION 3dtilesetsinitialScreenSpaceError
define the visual quality (default: 10000)maximumScreenSpaceError
define the visual quality (default: 2.0 except for localhost which is 20.0)ownterrain=false
disables the terrain (mind that their is only data in the swissrectangle)ownterrain=cli_ticino_0.5m
' use the 0.5m terrain generated using Cesium CLI (for testing only - only around Ticino)ownterrain=cli_walensee_0.5m
' use the 0.5m terrain generated using Cesium CLI (for testing only - only around Walensee)swissrectangle=false
do not restrict rendering to the Swiss rectanglenorequestrendermode
disable the resource optimizations (will use 100% CPU)inspector
display the Cesium Inspector widgetinspector_wireframe
enable the wireframe modedate
a date to be used for illumination (default to "2018-06-21T10:00:00.000Z")light
a white light source from infinity (ex: 1-2-0-1000 will have direction (1, 2, 0) and intensity 1000)cesiumToolbar
display configuration panel for fog, ambient, background color and terrain underground color
Keyboard layout made with keyboard-layout-editor and json to import