Use viewer.swissgeol.ch to explore geological data across Switzerland - both at the surface and deep underground. You can view existing datasets, combine different sources, and even integrate your own data for a tailored experience.
With viewer.swissgeol.ch, you can...
...get an overview of geological data available across Switzerland
...combine surface and subsurface datasets
...slice through 3D geological models to explore underground structures
...upload and visualize your own geodata
...and much more
Follow the steps below to run viewer.swissgeol.ch in your local development environment.
Note that the development environment is fully dockerized. However, we recommend installing every programming language to optimize your experience.
Follow these steps to set up the development environment on your local machine:
Navigate to the API directory and download its dependencies:
cd api && cargo fetch
Configure a GITHUB_TOKEN
as described here
so you can install the @swisstopo/swissgeol-ui-core
library.
Afterward, you can install the UI's dependencies:
cd ui && npm install
Start the application's Docker containers:
docker compose up
This will automatically install all dockerized dependencies and also initialize the database.
The viewer's API and UI are available as Docker images:
A full deployment for Kubernetes is available as Helm charts in k8s/.
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