This repository hosts a prototype of PLATEAU VIEW 3.0, a part of the 2023 PLATEAU project overseen by the Ministry of Land, Infrastructure, Transport and Tourism of Japan (MLIT).
The prototype under development is available at plateau.takram.com. However, please be aware that it is still in development and is not intended to be a complete service.
Since 2020, MLIT has been developing and operating PLATEAU VIEW, where users can explore PLATEAU’s 3D city models and various datasets. In April 2023, they introduced PLATEAU VIEW 2.0, transitioning its platform from TerriaJS to a CMS-based system, ReEarth. This change allegedly allowed local governments to customize and host their versions of PLATEAU VIEW.
Nonetheless, it should be emphasized that the shift to a CMS-based system mainly benefits stakeholders such as government offices and data vendors rather than end-users. For those who visit and use the system, many areas need improvements around user experience, including usability, performance, and visual quality.
This project aims to apply Takram’s design and development expertise to improve and enhance the user experience of PLATEAU VIEW. Furthermore, this open-source project allows everyone to access the design and technical specifics involved.
The design and development process started on April 10, 2023, with our contribution to the 2023 PLATEAU project scheduled to conclude by September 10, 2023.
This repository consists of the following apps and libraries. The README for each will be added later.
Name | Description |
---|---|
api | NestJS API server |
app | Next.js frontend |
data-converters | Node.js script for converting data |
tiles | NestJS server for rendering vector map tiles |
Name | Description |
---|---|
cesium-hbao | Better HBAO implementation for Cesium |
cesium-helpers | Helper functions for Cesium |
cesium-vector-imagery | ImageryProvider for drawing MVT |
cesium | React components for Cesium |
color-maps | Collection of color schemes |
data-sources | Several DataSources used in PLATEAU VIEW |
datasets | Classes and components that represent PLATEAU and other datasets |
geocoder | Simple geocoding functions |
graphql | Generated GraphQL types and hooks |
heatmap | Visualizes regional mesh heatmap |
layers | Abstract structure of layers |
nest-cesium | Module for using Cesium in NestJS |
nest-firestore | Module for using Google Firestore in NestJS |
nest-plateau | NestJS module for PLATEAU datasets |
nest-terrain-tile | NestJS module for rendering DEM terrain tiles |
nest-tile-cache | NestJS module for caching tile images |
nest-vector-tile | NestJS module for rendering vector map tiles |
pedestrian | Integration with Google Street View and WASD navigation |
react-helpers | Helper functions and hooks for React |
regional-mesh | Converters for Japanese regional mesh |
screen-space-selection | Screen-space selection for Cesium |
shared-states | Collection of states shared across libraries |
sketch | Interaction for drawing extruded polygons |
type-helpers | Helper functions for TypeScript |
ui-components | UI components used in PLATEAU VIEW |
vector-map-imagery | Renders texts in MVT by label entities |
view-layers | Implementation of layers for PLATEAU VIEW |
view | Provides the main component |