https://github.com/reearth/reearth-visualizer
A free, open and highly extensible WebGIS platform
https://github.com/reearth/reearth-visualizer
3d cesium digitaltwin gis go graphql javascript map mongodb react reearth typescript webgis
Last synced: 3 days ago
JSON representation
A free, open and highly extensible WebGIS platform
- Host: GitHub
- URL: https://github.com/reearth/reearth-visualizer
- Owner: reearth
- License: apache-2.0
- Created: 2021-04-01T05:18:11.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T16:44:14.000Z (9 months ago)
- Last Synced: 2025-05-12T17:54:25.887Z (9 months ago)
- Topics: 3d, cesium, digitaltwin, gis, go, graphql, javascript, map, mongodb, react, reearth, typescript, webgis
- Language: TypeScript
- Homepage: https://renewal2025.reearth.io/
- Size: 51.7 MB
- Stars: 378
- Watchers: 17
- Forks: 48
- Open Issues: 57
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
[](https://github.com/reearth/reearth-visualizer/stargazers/)
[](https://img.shields.io/github/issues/reearth/reearth)
[](https://github.com/reearth/reearth-visualizer/blob/main/LICENSE)
[](https://github.com/reearth/reearth-visualizer/releases/)
Website
ยท
Documentation
ยท
Issues
---
๐ก **We are hiring full-time OSS comitters!** [https://eukarya.io/join](https://eukarya.io/join)
## Features
Visualizer is a powerful tool for visualizing GIS data, offering a range of features to enhance your mapping experience:
- **Comprehensive WebGIS Support**: Visualizer supports various common WebGIS data types, displaying them seamlessly on a digital map using Cesium as the rendering engine.
- **Interactive Geometry Drawing**: Draw geometric shapes directly on the map for custom annotations and spatial analysis.
- **Conditional Layer Styling**: Modify display styles for individual layers based on conditions, allowing for personalized data visualization.
- **Engaging Storytelling Feature**: Create interactive, page-by-page narratives with your GIS data using the built-in storytelling feature.
- **Customizable Interface with Plugins**: Use the plugin system to create custom solutions and tailor the interface of public projects to suit your needs.
- **Easy Project Publishing and Sharing**: Publish your projects and share them effortlessly through distribution, embedding, or custom URLs.
- **Community Plugin Marketplace**: Add your custom plugins to the [marketplace](https://marketplace.reearth.io/) and allow other users to integrate them into their projects.
## Built with
[React](https://github.com/facebook/react), [TypeScript](https://github.com/microsoft/TypeScript), [Go](https://github.com/golang/go), [GraphQL](https://github.com/graphql), [MongoDB](https://www.mongodb.com/), [WebAssembly](https://webassembly.org/) (plugin execution), [OpenID Connect](https://openid.net/connect/)
# Getting Started
### Setup Server and Database
Before you begin, please ensure that **Docker** is properly installed and running on your machine.
### ๐ฅ๏ธ macOS / Linux
1. Navigate to the `server` directory and start the backend server.
This command will automatically start the database and mock GCS storage:
```bash
cd server
make run
```
2. Initialize the development environment.
This creates a mock user and sets up the mock GCS bucket.
This step is only required for the first-time setup:
```bash
make init
```
###
Windows (PowerShell)
1. Open PowerShell and navigate to the `server` directory:
```powershell
cd server
```
2. Set an alias to use `dv` as a shortcut for `make`:
```powershell
Set-Alias dv .\dev.bat
```
3. Start the backend server.
This will automatically start the database and mock GCS storage:
```powershell
dv run
```
4. Initialize the development environment.
This creates a mock user and sets up the mock GCS bucket.
This step is only required for the first-time setup:
```powershell
dv init
```
---
## Setup Web
### ๐ฅ๏ธ macOS / Linux
1. Navigate to the `web` directory of your visualizer project and create a local `.env` file:
```bash
cd web
touch .env
```
2. Add the following environment variables to your `.env` file:
```plaintext
# .env
REEARTH_WEB_API=http://localhost:8080/api
REEARTH_WEB_PLUGINS=http://localhost:8080/plugins
REEARTH_WEB_CESIUM_ION_ACCESS_TOKEN=your_cesium_ion_access_token_here
REEARTH_WEB_AUTH_PROVIDER=mock
```
> To obtain a Cesium Ion Access Token, please follow
> [this official guide](https://cesium.com/learn/ion/cesium-ion-access-tokens/).
3. Install dependencies and start the frontend server:
```bash
yarn && yarn start
```
###
Windows (PowerShell)
1. Open PowerShell and navigate to the `web` directory:
```powershell
cd web
```
2. Create a new `.env` file:
```powershell
New-Item .env -ItemType File
```
3. Add the following environment variables:
```powershell
Add-Content .env "REEARTH_WEB_API=http://localhost:8080/api"
Add-Content .env "REEARTH_WEB_PLUGINS=http://localhost:8080/plugins"
Add-Content .env "REEARTH_WEB_CESIUM_ION_ACCESS_TOKEN=your_cesium_ion_access_token_here"
Add-Content .env "REEARTH_WEB_AUTH_PROVIDER=mock"
```
4. Install dependencies and start the frontend server:
```powershell
yarn
yarn start
```
---
## โ
Done!
You should now be able to access the **Re:Earth Visualizer** locally at:
๐ [http://localhost:3000](http://localhost:3000)
---
## ๐ Environment
### Supported OS
| Windows 10+ | macOS 10.12+ (Sierra) | ChromeOS | iOS 11+ | Android 10+ | Linux (Desktop) |
| ----------- | --------------------- | -------- | ------- | ----------- | --------------- |
| โ
| โ
| โ
| โ
| โ
| โ
|
---
For more information, please refer to the [Documentation](https://visualizer-developer-reearth-io.netlify.app/).
### Web Browsers
| 
Edge | 
Firefox | 
Chrome | 
Safari | 
iOS Safari | 
Chrome for Android |
| -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| 91+ | 57+ | 58+ | 11+ | last 2 versions | last 2 versions |
## Contributing
See [the contributing guide](CONTRIBUTING.md).
## Contributers
[](https://github.com/reearth/reearth-visualizer/graphs/contributors)
[](https://app.fossa.com/projects/git%2Bgithub.com%2Freearth%2Freearth-visualizer?ref=badge_shield)
Made with [contrib.rocks](https://contrib.rocks).
## Contact
Re:Earth core committers: [community@reearth.io](mailto:community@reearth.io)
## License
Distributed under the Apache-2.0 License. See [LICENSE](LICENSE) for more information.
[](https://app.fossa.com/projects/git%2Bgithub.com%2Freearth%2Freearth-visualizer?ref=badge_large)