VC Map is an Open Source JavaScript framework and API for building dynamic, interactive maps on the web. It can display 2D data, oblique imagery and large 3D data including terrain data, vector data, mesh models, and point clouds. VC Map can be configured using the VC Publisher backend or, alternatively, based on a set of configuration files along with data converter tools.
VC Map's technology stack comprises:
CesiumJS: an open source library for creating 3D globes, developed for aerospace and smart city solution
OpenLayers: an open source library for creating dynamic maps in web pages
3D-Tiles: an open standard for massive, heterogeneous 3D geospatial datasets built on GITF, such as point clouds, buildings, and photogrammetry
VC Map framework offers multiple widgets that can be mixed and matched depending on user needs. Possible applications include:
Data export from backend databases
Drawing vector geometries and creating simple 3D shapes
Measuring distances and areas in 2D/3D
Creating height profiles
Shadow and viewshed analysis
Uploading and positioning 3D city models
Clipping geometries
VC MAP can load and display data from various sources and in different formats, including OGC standards and interfaces. Support for OGC compliant services such as WMS and WMTS ensures compatibility with internal Geo-IT systems, such as those used by cities. This feature in particular aligns well with the MIM-driven interoperability ethos embraced by BIPED to scale project results across borders.
When BIPED's digital twin for Aarhus is ready, users will access it through VC Map's interface.
VC Map's architecture comprises four main layers.
VC Map Core
The VC Map Core is a thin abstraction layer and wrapper around OpenLayers and Cesium. It provides a common data and feature management API and automatically synchronizes data and user actions between the 2D, oblique and 3D views. Map functions and tools can be developed against this Core API to make them available in 2D, 3D and the oblique view rather than having to develop them redundantly based on different technologies.
Configuration Management
All contents of a VC Map application such as available layers, views, tools, and plugins are managed in a JSON-based configuration file that is loaded when application starts. Every VC Map application can thus be easily configured according to the end-user needs. Map configurations can be dynamically changed, extended, and serialized at runtime through a corresponding API.
User Interface
VC Map comes with a modern UI interface for VC Map applications that provides UI components for all map tools and widgets implemented based on Vue.js and HTML5. In addition, the VC Map framework provides pre-built, low-level UI elements that can be used by developers to easily build more complex user dialogs and include them in a map application.
Plugin API
VC Map can be customised and extended through a Plugin API. Plugins enable the addition of new functionalities, tools, and user dialogs to a VC Map application. Plugins can be added to a VC Map through the configuration file or loaded dynamically to an existing map application using the Plugin API. Plugin developers can use the entire VC Map stack (VC Map Core, configuration management, UI components) to build their own extensions.
Comments