0.43.0 • Published 6 months ago

@giro3d/giro3d v0.43.0

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
6 months ago
draw toolPotree point cloudGeoTIFF elevation
alt textalt textalt text

What is Giro3D ?

Giro3D is a Web library written in TypeScript to build 2D and 3D geospatial scenes. It is powered by three.js and WebGL. It aims to support major geospatial standards and provide a rich feature set to help visualize data in a 3D environment.

!note Giro3D is designed to integrate well in major UI frameworks such as React and Vue.

Features

  • 2D and 3D maps with unlimited color layers, real-time lighting and a broad range of data sources (tiled images, GeoTIFFs, static images, vector data, including Vector tiles).
  • High-resolution terrain rendering with elevation querying / elevation profile
  • Support of shadow maps on terrain
  • Point clouds colored by classification, colormaps or color layer
  • Create shapes and annotations, including height measurements and angular sectors.
  • Easy to integrate with GUI frameworks such as Vue and React.
  • Limit visibility of datasets using cross-sections
  • Display 3D features with a rich style API

Supported data sources

Giro3D is powered by OpenLayers for maps, and three.js for 3D assets, and can be easily extended to support more.

Below is a non-exhaustive list of supported data sources.

Image data

Elevation data

Vector data

Point clouds

3D assets

  • 3D Tiles for optimized massive 3D datasets, including point clouds
  • glTF for individual models

!note You can also implement your own data sources, such as image sources or point cloud sources, as well as your own entities.

Getting started

💡 To test Giro3D without installing anything, check the interactive examples.

🐋 Quick start with Docker

To run the examples locally without installing Node or NPM and without cloning the repository, you can use Docker to build and run an arbitrary branch of Giro3D:

docker run --rm -p 8080:8080 $(docker build https://gitlab.com/giro3d/giro3d.git#<branch> -q)

Alternatively, a two-step method to see the Docker output:

docker build -t giro3d:local https://gitlab.com/giro3d/giro3d.git#<branch>
docker run --rm -p 8080:8080 giro3d:local

Replace <branch> with the branch name, (e.g main).

Then open your browser on the following URL: http://localhost:8080.

!note This procedure will not work on branches that do not contain a Dockerfile.

Install from the NPM package

To install with npm (recommended method):

npm install --save @giro3d/giro3d

This package contains both original sources (under src/) and slightly processed sources (dead code elimination, inlining shader code...).

If you're using a module bundler (like wepback) or plan on targeting recent enough browser, you can directly import it as such:

import Instance from '@giro3d/giro3d/core/Instance.js';

You can also import the original, untranspiled sources, by adding src after @giro3d/giro3d/ :

import Instance from '@giro3d/giro3d/src/core/Instance.js';

This will probably limit browser compatibility though, without application specific process or loader. Also, non .js files (such as .glsl files) will need to be inlined at client application level.

From a release bundle

See our release page.

Tests

To run the test suite:

npm test

API documentation and examples

Browse the API Documentation documentation or check the examples.

Running examples locally

The examples are the main way to test and develop Giro3D.

To run the examples locally:

npm run start

Then open <localhost:8080> (or the port that was mentioned in the build log) to see the example page.

To run a single example, for example the osm example, set the EXAMPLE environment variable to the name of the example:

EXAMPLE=osm npm run start

!note Any change in the source code (typescript or GLSL files) will automatically reload the example. Other changes, such as HTML or CSS require a manual refresh of the page.

Contributors and sponsors

Giro3D has received contributions and sponsoring from people and organizations listed in CONTRIBUTORS.md. If you are interested in contributing to Giro3D, please read CONTRIBUTING.md.

Support

Giro3D is the successor of iTowns, an original work from IGN and MATIS research laboratory. It has been funded through various research programs involving the French National Research Agency, Cap Digital, The Sorbonne University, Mines ParisTech, CNRS, IFSTTAR, Région Auvergne-Rhône-Alpes.

Giro3D is currently maintained by Oslandia.

No code with Piero

In case you don't want to code your own application, you can also use Piero, our sister project - also available on GitLab.

FAQ

Where does the name Giro3D come from ?

The name is a reference to the italian mathematician and inventor Girolamo Cardano.

0.43.0-beta.13

7 months ago

0.43.0-beta.14

6 months ago

0.43.0-beta.11

7 months ago

0.43.0-beta.12

7 months ago

0.43.0-beta.15

6 months ago

0.43.0

6 months ago

0.42.0-beta.0

10 months ago

0.42.0-beta.2

9 months ago

0.42.0-beta.1

9 months ago

0.43.0-beta.10

7 months ago

0.42.0-beta.3

9 months ago

0.40.0-beta.0

1 year ago

0.40.0

1 year ago

0.43.0-panorama.0

9 months ago

0.41.0-beta.0

11 months ago

0.41.0-beta.1

11 months ago

0.41.0

11 months ago

0.43.0-beta.1

8 months ago

0.43.0-beta.2

8 months ago

0.43.0-beta.3

7 months ago

0.43.0-beta.4

7 months ago

0.42.4

8 months ago

0.42.5

6 months ago

0.43.0-beta.5

7 months ago

0.43.0-beta.6

7 months ago

0.42.2

9 months ago

0.43.0-beta.7

7 months ago

0.42.3

8 months ago

0.43.0-beta.8

7 months ago

0.43.0-beta.9

7 months ago

0.42.0

9 months ago

0.42.1

9 months ago

0.42.1-lazperf.0

9 months ago

0.39.0

1 year ago

0.39.0-beta.5

1 year ago

0.39.0-beta.6

1 year ago

0.39.0-beta.7

1 year ago

0.39.0-beta.3

1 year ago

0.39.0-beta.4

1 year ago

0.39.0-beta.1

1 year ago

0.39.0-beta.2

1 year ago

0.39.0-beta.0

1 year ago

0.36.0

2 years ago

0.36.0-beta.1

2 years ago

0.36.0-beta.2

2 years ago

0.37.3

1 year ago

0.37.2

1 year ago

0.37.1

1 year ago

0.37.0-beta.2

1 year ago

0.37.0

1 year ago

0.37.0-beta.1

1 year ago

0.37.0-beta.0

1 year ago

0.38.0-beta.1

1 year ago

0.38.0-beta.0

1 year ago

0.38.2

1 year ago

0.38.1

1 year ago

0.38.0

1 year ago

0.38.5

1 year ago

0.38.4

1 year ago

0.38.3

1 year ago

0.37.3-webgl.1

1 year ago

0.37.3-webgl.0

1 year ago

0.36.0-beta.0

2 years ago

0.36.0-raycast.0

2 years ago

0.35.0

2 years ago

0.35.0-beta.2

2 years ago

0.35.0-beta.1

2 years ago

0.35.0-beta.0

2 years ago

0.34.2

2 years ago

0.34.1

2 years ago

0.34.0

2 years ago

0.33.1

2 years ago

0.33.0-beta.1

2 years ago

0.33.0-beta.2

2 years ago

0.33.0

2 years ago

0.33.0-beta.0

2 years ago

0.32.3-memory.0

2 years ago

0.32.2

2 years ago

0.32.1

2 years ago

0.27.1-demo.1

2 years ago

0.28.0-beta.1

2 years ago

0.28.0-beta.2

2 years ago

0.27.0-alpha.1

2 years ago

0.28.0-beta.0

2 years ago

0.28.0-beta.3

2 years ago

0.32.0

2 years ago

0.30.0

2 years ago

0.29.0

2 years ago

0.27.0

2 years ago

0.29.0-demo.1

2 years ago

0.31.0

2 years ago

0.28.0-demo.1

2 years ago

0.28.0

2 years ago

0.28.0-demo.9

2 years ago

0.26.0

2 years ago

0.25.1-preview.0

2 years ago

0.23.1-wfsmesh.1

3 years ago

0.25.0-wfsmesh.1

2 years ago

0.25.0

3 years ago

0.24.1

3 years ago

0.24.0

3 years ago

0.21.0

3 years ago

0.23.1

3 years ago

0.23.0

3 years ago

0.22.1

3 years ago

0.22.0

3 years ago

0.20.1

3 years ago

0.20.0

3 years ago

0.19.0

3 years ago

0.19.1

3 years ago

0.18.0

3 years ago

0.14.0-beta.0

3 years ago

0.14.0-beta.1

3 years ago

0.14.0-beta.2

3 years ago

0.11.0

3 years ago

0.12.0

3 years ago

0.13.0

3 years ago

0.14.0

3 years ago

0.15.0

3 years ago

0.16.0

3 years ago

0.17.0

3 years ago

0.10.0

3 years ago

0.9.0

3 years ago

0.8.0

3 years ago

0.7.0

3 years ago

0.5.0

3 years ago

0.6.0

3 years ago

0.4.0

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.1

3 years ago

0.1.0

4 years ago

0.2.0-next

4 years ago

0.1.0-beta1

4 years ago