Version: 0.01 Copyright: Shenzhen InteGeo Innovation Technology Co., Ltd.
Last Updated: 2026-02-28
"GeoTwin", "Shenzhen InteGeo Innovation Technology Co., Ltd." and related marks are registered trademarks of Shenzhen InteGeo Innovation Technology Co., Ltd., protected by law. Unauthorized use of these trademarks in any form constitutes infringement and will be prosecuted.
Optimizations:
triggerSceneGraphDelta)vectorHighlight) now supports batch operationsNew Features:
Other Changes:
translateCoord coordinate conversion API@gt-viewer/sdk upgraded to 1.1.26, @gt-viewer/engine upgraded to 1.1.34| Version | Date | Key Updates |
|---|---|---|
| 0.0.1 | 2026-03-16 | Initial release |
| Component | Recommended Specification |
|---|---|
| CPU | Intel i7-12700K+ / AMD Ryzen 7 5800X+ |
| GPU | NVIDIA RTX 3080+, VRAM ≥ 10GB |
| RAM | 32GB+ (dual-channel) |
| Storage | 512GB NVMe SSD (system) + 4TB HDD (data) |
| Network | Gigabit Ethernet |
| Browser | Google Chrome 100+ / Microsoft Edge 100+ |
GeoTwin App Builder is a low-code visual dashboard construction platform deeply integrated with the GeoTwin 3D GIS engine. It supports drag-and-drop arrangement of visualization components, multi-source real-time data binding, and seamless integration of 2D/3D geographic scenes with business dashboards on a single canvas. Applicable to smart city, digital twin, emergency command, industrial monitoring, land surveying, and other domains for dashboard visualization and interactive analysis.
The software consists of the following core modules:
Application Management Module: Handles creation, search, import/export, and paginated display of dashboard applications. Supports name-based search and multi-resolution screen selection (1920×1080, etc.).
App Editor Module: The core drag-and-drop editor with a three-panel layout — component library/layer panel on the left, visual canvas in the center, and property configuration panel on the right. Supports multi-component overlay layouts.
3D Map Scene Module: A 3D scene container based on the @gt-viewer/sdk ECS architecture. Supports overlay rendering of point clouds, 3D Tiles, vector data, GeoTiff, and more. Exposes the window.scene.api interface externally.
GIS Feature Component Module: Includes layer management, feature identification (Identify), spatial measurement (11 types), 3D analysis (11 types), camera flight animation, bookmark management, 2D/3D toggle, compass, scale bar, screenshot/recording, weather effects, and other map feature components.
Data Binding & Configuration Module: Supports static data, HTTP/HTTPS APIs, WebSocket, MQTT IoT, direct database connections, and other data sources. Provides data filters, global variables, event linking, and conditional logic for advanced configurations.
Preview & Publishing Module: Offers real-time dashboard preview. Supports packaging as a standalone UMD library file (index.umd.js) or publishing via shareable links.
window.scene.api for deep integration with third-party platforms.| Data Type | Supported Format / Protocol | Notes |
|---|---|---|
| Point Cloud | Potree (POTREE) | Streaming point cloud, suitable for large-scale scenes |
| 3D Models | 3D Tiles (OGC Standard) | Suitable for oblique photogrammetry models, BIM models |
| Annotation Models | GLTF, FBX, OBJ, IFC, Collada (.dae), 3DS | Multiple 3D model formats for scene annotation |
| Vector Data | Vector (GeoTwin FeatureTile), GeoJSON, Shapefile, WFS | WFS is the OGC standard vector feature query service |
| Raster Imagery | GeoTiff | Georeferenced raster imagery with tiled loading support |
| Basemap Services | Web Map (XYZ/TMS/WMTS), WMS, ArcGIS Map Server | Supports major online/offline basemap services |
| Terrain Services | Terrain (elevation tiles) | For 3D terrain rendering |
| Compressed Point Cloud | LCC | LCC compressed point cloud layer format |
| API Data | HTTP/HTTPS RESTful | GET/POST, configurable headers, body, refresh interval |
| Real-time Streaming | WebSocket | Real-time push data binding to chart/map components |
| IoT Data | MQTT | Custom Broker, Topic, clientId for IoT device data |
| Tabular Data | Excel (.xlsx), CSV | Local upload as static data source |
| Output Type | Supported Format | Notes |
|---|---|---|
| Dashboard Configuration | JSON | Export full dashboard config for cross-platform import |
The application management page provides unified management of all dashboard applications, with support for filtering by application type (AppBuilder).
Key Features:
Steps:
Log in and access the application homepage to view the application list;
Click the "Add" button, select screen size, and enter the application name;
Confirm to automatically redirect to the dashboard editor.
Figure 5-1-1: Application management homepage showing application card list and "+ Add" button
The dashboard editor is the core interface, featuring a three-panel layout: component/layer panel on the left, canvas area in the center, and property configuration panel on the right.
Key Features:
| Area | Description |
|---|---|
| Left Panel | Component library (charts/maps/media/text), layer tree (canvas component hierarchy) |
| Canvas Area | Visual dashboard canvas with drag-and-drop, multi-select, alignment, and zoom |
| Right Property Panel | Data binding, style properties, animation effects, event linking for selected components |
| Top Toolbar | Save, preview, publish, history, global settings shortcuts |
Steps:
Drag components (charts, 3D maps, text labels, etc.) from the left component library to the canvas;
Select a component and configure data source (static/HTTP/WebSocket/MQTT) in the right property panel;
Set component styles (colors, fonts, borders, backgrounds);
Configure component events (click to trigger flight/popup/data refresh);
Click "Preview" in the top toolbar to check the result;
Save and publish once confirmed.
Figure 5-1-2: Dashboard editor three-panel layout — left: GIS component library, center: map canvas, right: Config property panel
The 3D map scene component (map) is the core GIS component of GeoTwin App Builder, embedding the GeoTwin 3D engine for multi-source geographic data overlay rendering.
Key Features:
sceneId)window.scene.apiConfiguration Parameters:
| Parameter | Description |
|---|---|
option.server |
GeoTwin backend service URL (as API baseURL) |
sceneId |
Unique scene identifier corresponding to backend scene configuration |
| Width/Height | Component display dimensions on the canvas |
Steps:
Drag the "3D Map" component from the left component library to the canvas;
Configure server (backend service URL) and sceneId in the right property panel;
Once the map loads, the sceneReady event fires to indicate readiness;
Optionally add layer management, measurement, analysis, and other GIS auxiliary components.
Figure 5-1-4: 3D map component after loading — showing imagery basemap and layer tree panel
The layer management component (layer) provides a visual layer tree for toggling visibility, locating, and filtering layers in the scene.
Key Features:
Steps:
Add a "Layer Management" component to the canvas and link it to the map component;
The layer tree automatically loads all layers from the current scene;
Click checkboxes to toggle layer visibility;
Double-click a layer name to quickly locate the view;
Enter keywords in the search box to filter the layer list.
Figure 5-1-5: Layer management component showing tree-structured layer list (YLS_Welfare_Sum, Zoom Andy, etc.) with visibility control and positioning
The spatial measurement component (measurement) provides 11 types of 3D measurement tools for precise spatial measurements.
Supported Measurement Types:
| Type | Description |
|---|---|
| Coordinate | Click map to get 3D coordinates (longitude/latitude/altitude) |
| Distance | Measure distance along surface or spatial polyline |
| Area | Draw polygon region to calculate planar area |
| Horizontal Distance | Calculate horizontal distance only, ignoring elevation |
| Vertical Distance | Calculate elevation difference between two points |
| Point-to-Line Distance | Calculate shortest distance from a point to a line segment |
| Point-to-Plane Distance | Calculate perpendicular distance from a point to a plane |
| Projected Area | Calculate polygon area projected onto the horizontal plane |
| Angle | Measure the angle defined by three points |
| Elevation Difference | Quick elevation difference between two points |
| Cut and Fill Volume | Calculate excavation or fill volume for a given area |
Steps:
Add a "Measurement" component to the canvas and link it to the map component;
Select the desired measurement type (e.g., "Distance") from the measurement toolbar;
Click measurement start and end points in the 3D scene;
The system displays measurement results as annotations in the scene in real time.
Figure 5-1-6: Spatial measurement toolbar featuring Coordinate, Distance, Projected Distance, Horizontal/Vertical Distance, Point-to-Line/Plane, Area, Projected Area, Angle, and Cut and Fill — 11 measurement tools in total
The 3D spatial analysis component (analysis) provides 11 types of spatial analysis tools for decision support and simulation.
Supported Analysis Types:
| Type | Description |
|---|---|
| Skyline Analysis | Calculate and visualize the skyline profile from a given viewpoint |
| Line of Sight | Analyze line-of-sight obstruction between two points |
| Flood Simulation | Set water level parameters to simulate flood inundation extent |
| Sunlight Analysis | Simulate solar illumination and shadows at a specified time |
| Gradient Analysis | Calculate terrain slope and render with color mapping |
| Sky View Factor | Analyze the openness of the field of view for a given area |
| Landscape Analysis | Assess landscape quality of visible areas |
| Profile Analysis | Generate terrain or model elevation profiles along a cross-section line |
| Viewshed Analysis | Calculate visible ground area from a specified observation point |
| Flatten Analysis | Flatten the model of a selected area |
| Excavation Analysis | Simulate excavation of a selected area to reveal subsurface structures |
Steps:
Add a "Spatial Analysis" component to the canvas and link it to the map component;
Select the analysis type (e.g., "Flood Simulation") from the analysis toolbar;
Configure analysis parameters (e.g., water level elevation);
Click "Execute" — the analysis results render in the scene in real time.
Figure 5-1-7: 3D spatial analysis toolbar featuring Skyline, Height Restriction, Line of Sight, Profile, Flood Analysis, Viewshed 3D, Gradient, Sky View Factor, Landscape, Sunlight, and Float Analysis
Log in and access the application homepage;
Click the "Add" button in the upper right to open the creation dialog;
Select screen resolution (e.g., Desktop 1920×1080);
Enter the application name and click "Confirm";
The system automatically creates the application and redirects to the dashboard editor.
Figure 5-2-1: New application (Create APP) dialog supporting Desktop (default 1920×1080), MacBook Pro, iPad Pro, Phone Max, and custom screen sizes
Open the dashboard editor and locate the "3D Map" component in the left component library;
Drag the "3D Map" component to the canvas and adjust its position and size;
In the right property panel, enter server (GeoTwin backend service URL) and sceneId;
Wait for the scene to load — the sceneReady event fires when ready;
Optionally drag and add layer management, measurement, analysis, and other GIS auxiliary components;
Configure the association between GIS components and the map;
Add business data chart components (line charts, pie charts, gauges, etc.) and configure data sources;
Adjust component stacking order and display styles to finalize the dashboard layout.
Figure 5-2-2: Dashboard editor initial state — blank canvas (dark blue) after creating a new app, with GIS component library on the left (Map, Layer Tree, Back to North, Scene Screenshot, etc.) and property panel on the right
Figure 5-2-3: Right-side Config property panel for configuring map component parameters (sceneId, server) and global properties (Screen Size, Background, etc.)
Click "Save" in the editor toolbar to save the current dashboard configuration;
Click "Preview" to open the dashboard preview in a new tab;
Verify display effects, data loading, and event linking;
Return to the editor to make adjustments if needed;
Once confirmed, click "Publish" or use the "Share" function to generate an access link;
For standalone deployment, export the JSON configuration file or run pnpm lib to build the UMD package.
Figure 5-2-7: Full-screen dashboard preview — 3D scene fully loaded with layer tree panel overlaid on the map
Click "Start Recording" — the system begins recording 3D scene operations;
Click "Stop Recording" when done — the recording is automatically saved and downloaded as an MP4 file.
Figure 5-2-8: Scene recording in progress — green notification bar at top reads "Recording started, click again to stop", with recording control button on the left
window.scene.api is the JavaScript API exposed by GeoTwin App Builder, enabling external platforms or page scripts to control the 3D scene.
Prerequisites:
Listen for the sceneReady event to ensure the API is available before making calls:
API Methods:
| Method | Description |
|---|---|
getCompositeViewer() |
Get the 3D scene composite viewer instance |
getBookmark() |
Asynchronously get the current scene bookmark list |
triggerSceneGraphDelta(delta) |
Perform Insert/Change/Delete operations on scene graph nodes |
genGUID() |
Generate a globally unique identifier consistent with the scene graph |
flyTo(options) |
Fly the camera to specified coordinates |
flyToEntity(guid) |
Fly the camera to a specified layer/entity |
flyToGeometry(geometry) |
Fly the camera to the extent of a GeoJSON geometry |
flyToBookmark(bookmark, duration) |
Fly the camera to a bookmark viewpoint |
translateCoord(options) |
Coordinate system conversion (proj4-based) |
setViewMode("2D"|"3D") |
Toggle 2D/3D view mode |
backToTheNorth() |
Reset camera heading to true north |
getFlyControl() |
Get the fly-through control component instance |
vectorHighlight.add(guid, ids) |
Add highlight to specified vector layer features |
vectorHighlight.remove(guid, ids) |
Remove highlight from specified features |
vectorHighlight.clear(guid) |
Clear all highlights for a specified layer |
Scene Events:
| Event | Trigger |
|---|---|
sceneReady |
3D scene initialization complete, window.scene.api available |
sceneGraphChange |
Scene graph data has changed |
Issue 1: 3D map component shows blank after loading
server (backend service URL) is accessible; confirm sceneId is correct; check browser WebGL 2.0 support (visit about:gpu to confirm GPU acceleration is enabled).Issue 2: HTTP data source fails to load data
Issue 3: Dashboard editor drag-and-drop is laggy
Issue 4: window.scene.api returns undefined
sceneReady event callback, not during page initialization; verify that the map component's sceneId and server are fully configured.Issue 5: Cannot access dashboard after login
| Term | Definition |
|---|---|
| Dashboard (Screen) | A complete visualization board containing canvas layout, component configuration, data binding, and event linking, stored in JSON format |
| Component | The smallest visual unit in a dashboard, including chart, map, text, media, and container types, each independently configured with data source and style |
| 3D Map Scene | A 3D geographic scene rendered by the GeoTwin 3D engine, linked to backend scene configuration via sceneId |
| Scene Graph | A tree-structured data model describing all nodes (viewers/layers/features) in a 3D scene, each identified by a unique GUID |
| Scene API | The JavaScript API object exposed via window.scene.api, enabling external scripts to control and query the 3D scene |
| ISceneGraphDelta | Scene graph incremental update object, supporting Insert (add node) / Change (modify node) / Delete (remove node) operations |
| GUID | Globally Unique Identifier used to identify each scene graph node, generated via genGUID() |
| ECS | Entity-Component-System architecture pattern, the core design pattern of @gt-viewer/sdk, decomposing scene objects into Entity, Component, and System layers |
| CompositeViewer | GeoTwin composite viewer, the top-level scene container managing all layer components and the rendering pipeline |
| EntityFactory | Factory pattern implementation that automatically creates corresponding layer entities based on layer type (LAYER_TYPE) |
| 3D Tiles | OGC standard 3D tile format, commonly used for streaming and rendering oblique photogrammetry models and BIM data |
| Potree (POTREE) | Octree-based point cloud streaming format supporting efficient web rendering of massive point clouds |
| GeoTiff | Georeferenced raster imagery format that can be directly overlaid in 3D scenes |
| WFS | Web Feature Service, an OGC standard for querying geographic features by attribute and spatial extent |
| LCC | LCC compressed point cloud layer format for efficient storage and loading |
| MQTT | Message Queuing Telemetry Transport, a lightweight IoT messaging protocol for real-time device data access |
| Share Token | Authentication token dedicated to dashboard share links, stored in sessionStorage with higher priority than admin login tokens |
| AIGC | AI Generated Content — styles, component code, or data processing logic generated by AI models |
| Data Filter | Rule configuration for format conversion, field mapping, and conditional filtering of raw data during data binding |
| Global Variable | Dashboard-level variables referenced by multiple components, updated via event triggers to enable cross-component linking |
| Bookmark | Preset camera viewpoint (position, heading, pitch) that supports one-click fly-to positioning |
| Identify | Interactive feature query — click on a vector feature on the map to display its attribute information in a popup |
| Cut and Fill Analysis | Calculates excavation and fill volumes for a specified area based on elevation differences between design surface and existing terrain |
| Skyline Analysis | Projects horizontally from a specified viewpoint to calculate and visualize the silhouette formed by buildings or terrain |
| Line of Sight Analysis | Determines whether the line of sight between two spatial points is obstructed by terrain, buildings, or other obstacles |