Watch
1
0
Fork
You've already forked swissgeol-viewer-suite
0
mirror of https://github.com/swisstopo/swissgeol-viewer-suite.git synced 2026-08-17 12:54:58 +00:00
Read-only mirror of https://github.com/swisstopo/swissgeol-viewer-suite — Bundesamt für Landestopografie. Issues & pull requests at the source. Catalog: https://www.opensource.admin.ch/en/softwares/2mamqw https://www.opensource.admin.ch/en/softwares/2mamqw
  • TypeScript 86.5%
  • Rust 5.8%
  • CSS 4.6%
  • JavaScript 1.5%
  • Gherkin 0.7%
  • Other 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Urs Honegger 5fbd887114
Merge pull request #2046 from swisstopo/dependabot/cargo/api/cargo-b6abae3fae
chore(deps): bump the cargo group across 1 directory with 3 updates
2026-08-14 11:33:10 +02:00
.github fix(ci): bump Node.js to 22.14.0 for rolldown native binding compatibility 2026-08-11 17:44:31 +02:00
.husky Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
.idea Add change-background e2e tests 2025-05-20 08:37:14 +02:00
.vscode Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
api chore(deps): bump the cargo group across 1 directory with 3 updates 2026-08-13 10:49:38 +00:00
docs/layer-config refactor: key => labelKey to avoid confusion 2026-06-05 16:45:53 +02:00
k8s feat: remove api key from config 2026-06-15 17:08:01 +02:00
layers Sesimik Survey 24-GES integrarted 2026-06-26 12:05:22 +02:00
titiler Add layers to backend 2025-12-02 11:12:49 +01:00
ui fix(cypress): avoid external eIAM navigation in session sign-in scenario 2026-08-13 12:03:50 +02:00
.editorconfig Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
.env add permissions-policy header 2025-03-25 09:14:31 +01:00
.gitattributes Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
.gitignore Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
.prettierignore Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
.prettierrc Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
AGENTS.md feat: add generic lexic filter overview and dialog components 2026-07-03 17:28:02 +02:00
CHANGELOG.md chore: format 2026-07-01 14:16:48 +02:00
docker-compose-tests.yaml Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
docker-compose.yaml Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
DOCU_CESIUM_ION_LABELS.md Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
LICENSE Update copyright year 2020-01-06 11:45:23 +00:00
package-lock.json Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
package.json Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
publiccode.yml Add global prettier config via own package.json which is responsible for formatting everything outside of ui/ and api/ 2026-04-30 11:35:21 +02:00
README.md swapped default for single image WMS request 2026-07-13 12:41:21 +02:00
RELEASE_PROCESS.md Add RELEASE_PROCESS.md 2025-05-28 13:47:00 +02:00

viewer.swissgeol.ch

Sliced 3D scene

Description

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

Installation

Follow the steps below to run viewer.swissgeol.ch in your local development environment.

Prerequisites

Note that the development environment is fully dockerized. However, we recommend installing every programming language to optimize your experience.

Set Up the Development Environment

Follow these steps to set up the development environment on your local machine:

1. Install API Dependencies

Navigate to the API directory and download its dependencies:

cd api && cargo fetch

2. Install UI Dependencies

Install the UI's dependencies:

cd ui && npm install

Start Development Environment

Start the application's Docker containers:

docker compose up

This will automatically install all dockerized dependencies and also initialize the database.

Usage

The viewer's API and UI are available as Docker images:

A full deployment for Kubernetes is available as Helm charts in k8s/.

URL Parameters

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 3dtilesets
  • initialScreenSpaceError 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 rectangle
  • norequestrendermode disable the resource optimizations (will use 100% CPU)
  • inspector display the Cesium Inspector widget
  • inspector_wireframe enable the wireframe mode
  • cesiumToolbar display configuration panel for fog, ambient, background color and terrain underground color
  • lexicSingleTile Set to true to use a single untiled image instead of tiled WMS requests for the filter overlay (fewer requests, but lower quality at high zoom). Default: false

Example: https://viewer.swissgeol.ch/?lexicSingleTile=true

Support

Authors & acknowledgements

License