Code Monkey home page Code Monkey logo

ngm's Introduction

Swissgeol viewer

A Geology 3D viewer

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.

Your own version: getting started

Clone the repository

git clone https://github.com/swissgeol/ngm.git

Linux and Mac OS X

Install node.js and npm
See instructions at https://nodejs.org/en/download/package-manager

Start frontend

From the root directory change to the ui-dirrectory

cd ui

Install dependencies

npm install

start development server

npm start

open http://localhost:8000

Start backend api

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

open http://localhost:8000

Developing/deploying the Swisstopo version

See DEVELOPING.md. See DEPLOY_VIEWER.md. See DEPLOY_ABBREVIATOR.md.

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
  • date 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

Notes

Keyboard layout made with keyboard-layout-editor and json to import

ngm's People

Contributors

vladyslav-tk avatar fredj avatar gberaudo avatar dependabot[bot] avatar renovate[bot] avatar b4l avatar anjaamrein avatar pedroslvieira avatar noester avatar oesterli avatar eleu avatar bchapuis avatar tyrossel avatar oeni2023 avatar ckaenzig avatar danduk82 avatar vladyslavtk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.