This article is from the wechat official account of AmAP _tech

1. Introduction

As an indispensable part of automatic driving safety, High Definition Map can effectively strengthen the perception and decision-making ability of automatic driving and improve the level of automatic driving. For autonomous driving, high-precision maps are primarily for machines, but they still need to be understood by humans in the process of making and analyzing them. This paper will briefly introduce the exploration and practice of Autoravi’s high-precision map business team in WEB 3D engine technology in the past period of time, and how to present complex and abstract geographic data in front of people to meet the demands of business editing and analysis.

High-precision map is mainly a fine expression of road traffic layer objects (such as lane ground marking, traffic lights, traffic signs, guardrails, poles, etc.), including their geometric locations and attributes. Due to the high precision requirements, its production mainly depends on laser point cloud, usually a large amount of data, a point cloud at an intersection may be hundreds of millions, which has higher requirements on the performance of the rendering engine, to meet the real-time rendering and picking and editing of massive point cloud.

At first, we investigated the major Web 3D map engines on the market: Mapbox, Cesium, JS API, L7, etc., generally do not support enough loading and processing ability of point cloud. They tend to express abstract points, lines and surfaces, and lack fine rendering ability. Meanwhile, they cannot meet the editing ability of complex Topo correlation as an editing tool. For the business scenarios of Gaode high precision data editing and analysis, more low-level abstraction capacity construction is needed. Therefore, we started the exploration and practice of 3D engine Eagle. Gl in high precision business.

This video provides a brief overview of the capabilities of Autonavi’s 3D engine, Eagle. Gl, which implements a unified 2/3D map data editing and visualization solution with excellent scalability, has been applied to autonavi’s high-precision map data production, data analysis, and new infrastructure projects.

2. Design and implementation of engine schemes

Based on the above analysis, we need to achieve a set of data making engine capabilities that meet the requirements of Autonavi’s business scenarios. In order not to reinvent the wheel and to take advantage of existing open source capabilities, we ended up using Threejs as a framework dependency for our rendering layer. Based on this framework, GIS visualization and complex editing capabilities are constructed in the upper layer, and a set of 2/3D integrated rendering engine is finally constructed. At the same time, in the direction of future smart city and 5G IOT, the data team will build GIS 3D visualization capability that is comparable to the industry.

Figure 2.1 2/3D integrated digital engine for high-precision maps

The whole engine work can be divided into three parts (point cloud map, vector map and model map), and the whole work of the front-end team needs to be carried out around these three points.

  • Point cloud map: visualization of multiple point cloud data formats (LAS/LAZ/BC/XBC/RDS /bin), supporting real-time rendering and editing of massive point clouds, meeting the main production line’s adsorption capacity for point cloud data.
  • Vector map: It mainly connects with the vector mapping capability of online production line, and realizes the ability of adding, deleting, modifying and searching vectorized 3D data through data snapshot, command line editing mode, spatial data index and other capabilities.
  • Model map: mainly oriented to the data achievement application layer, it carries out data pre-processing modeling, real-time modeling and editing, etc., to achieve the level of data capability with the lane-level rendering capability of Autonavi client.

3. Technical solution

Here is a brief introduction to each core module capability.

3.1 Full-width fine rendering

High-precision data has more accurate and richer information, supporting finer data rendering, and better restoring the real world.

Figure3.1.1 full format fine rendering

The original output data of high precision is vectorized skeleton data. This layer of data is the digital point, line and plane abstraction of the real world. How to model rendering and display according to the original vector data? The original vector data is used for automatic driving and other machines. In order to better verify the data quality and investigate and analyze data problems, we need to model and render the point, line and surface vector data to achieve the final model and fine rendering effect, which is convenient for manual rapid problem verification.

Figure3.1.2 original vectorized data results

Figure3.1.3 refined rendering results of on-end real-time data modeling

In order to support refined rendering, the Eagle. Gl engine currently supports the common point, line, surface, volume, text, model and other visual layers, and implements data rendering in a configurable manner.

The whole modeling and rendering process is divided into the following core module processes. The main process is to pull the original point, line and plane vector data, and carry out data analysis, data modeling, data merging, Instance processing and data rendering according to the rules. The workload is the largest part of the data modeling process, because the expression of the original data is more abstract, in order to more real world, you need to do a lot of logical calculation, such as a zebra crossing/diversion belt of data expression, only the outside border outline, in order to render more real, need according to specifications and the length of the data of traffic network specification, In the process of real-time modeling generation.

Figure3.1.4 on-end rendering modeling core process

Figure.3.1.5 Zebra crossing original geometry

Figure.3.1.6 Geometry after zebra crossing modeling

By doing the same, we can achieve hundreds of highly refined data customization modeling capabilities. But hundreds of data specifications that can be hard-coded to model can corrupt and unmaintainable the entire code structure. Therefore, we implement the ability of data configuration to drive the presentation of map surface style in the engine layer.

Figure.3.1.7 Expression of various high-precision data modeling results

We can divide the definition of style into two types. One is the corresponding display behavior of basic feature elements, and this layer of style is currently defined as a static style configuration. Another style is styleSchema driven by tile data sources, which defines dynamic properties as well as common property definitions such as spatial scenes and lights.

The style corresponding to the basic element layer can be divided into the following types:

IBaseStyle | ILineStyle | ITextStyle | IPointStyl | IPolygonStyle | IModelStyle | ICustomStyle

For example, we use the ModelStyle class ModelStyle to add a style definition for the model, inherited from IBaseStyle.

Mapview. addDataLayer({id: 'model', // layer ID, id is unique, cannot repeat style: {type: 'model', resources: {type: 'GLTF ', base: '//cn-zhangjiakou-d.oss.aliyun-inc.com/fe-zone-daily/eagle.gl/examples/assets/theme/default/model/', files: ['ludeng_0.glb'], }, translate: [0, 0, 0], }, features: [ { geometry: { type: 'Point', coordinates: [[116.46809296274459, 39.991664844795196, 0]],},},]});Copy the code

attribute

Gray indicates inheritance from the BaseStyle attribute

ModelResource Resource definition

The model data can be loaded and rendered through the above API calls. The full representation of the whole map surface can be visualized in this form.

Figure.3.1.8 How does the GLTF model inform configuration styles for definition loading

3.2 Integrated rendering of multi-source heterogeneous data

For HD data production, point cloud and DEM elevation are divided into the core data expression corresponding to the acquisition and application side. As a characteristic capability of the engine, the engine has realized DEM elevation rendering and multi-dimensional point cloud coloring capabilities at present. In the future, it will also access multi-source model capabilities such as BIM/ tilt photography to realize macro/micro integration display capabilities based on a single image.

3.2.1 DEM elevation rendering

Figure.3.2.1.1 DEM Rendering effect DEMO

The high-precision data is the XYZ THREE-DIMENSIONAL data expression, but many of our traditional road network data are two-dimensional. How to realize the mixed superposition of multi-source vector data, we adopt the access DEM elevation scheme to project the traditional background data/road network data without elevation to the altitude. The original input is TIFF image file, and QMesh rendering vector is generated through data preprocessing. The main data processing process is as follows:

Figure.3.2.1.2 DEM data rendering process

The QMesh rendering scheme is Cesium’s recommended terrain slice format for present and future use, with higher performance advantages and smaller data storage compared to the Heightmap format. Based on the QMesh geometric processing scheme with better performance, real-time loading of mountain terrain across the country is realized. Meanwhile, real-time terrain subdivision is supported in Worker, which can dynamically calculate and render to level 21 terrain based on low-level triangles.

Figure.3.2.1.3 Integration rendering of multi-source heterogeneous data – DEM Elevation scheme

3.2.2 Point cloud map

Compared with traditional photo data, point cloud can restore three-dimensional location information of the real world with maximum accuracy. In order to achieve a highly refined description of the real world, Web mass point cloud loading and rendering are very important content in our daily work.

The biggest problem of point cloud rendering is real-time loading and dynamic picking of massive data. Eagle. Gl realizes real-time loading of point cloud from network based on global ECEF unified coordinate index, and can realize real-time loading of massive point cloud over 800W in memory and mixed coloring ability according to reflectivity/height /MIX. The render frame rate can be maintained at 60fps, and real-time data pickup interaction is achieved through GpuPicker and Raycast hybrid pickup schemes.

Figure.3.2.2.1 Real-time adsorption and editing capability based on LOD point cloud

3.3 Interaction and extension capabilities

For map data production, data visualization is the first step, and how to build the GIS editing ability on the basis of data visualization is an important part of business value-added.

3.3.1 Interactive capability

In order to meet the complex data editing demands of high-precision production line, pickup is the lowest editing ability. The integration of ray pickup and GPU pickup can accurately meet the rapid pickup ability of mass data within 20ms.

Figure.3.3.1.1 Mass data picking capacity

Data clipping ability: In overpass scenarios, mutual occlusion between data will have a certain impact on data analysis. By default, we provide data clipping ability to meet the requirements of data editing and analysis in complex scenarios.

Figure.3.3.1.2 Real-time data clipping

3.3.2 Plug-in system

The engine supports plug-in development, and users can customize plug-ins according to their own needs. At present, we provide three plug-ins ranging, editing and box selection for your reference. At the same time, the engine also supports layer and controller customization development, to meet a variety of business scenarios.

Figure.3.3.2.1 Ranging plug-in system

3.4 Other abilities – Visual & motor effects

3.4.1 track of flight

Smooth flight effects and filter based background peels.

Figure.3.4.1.1 Smooth flight effects/background peels

3.4.2 light

Simulate the time of day to achieve light shadow ability.

Figure.3.4.2.1 Light shadow

The rule 3.4.3 post-processing

Deeply customized extension Threejs, the implementation of the extended post-processing rendering pipeline, and abstract out the general three-party post-processing base library, which increases the engine’s post-processing capacity, used to improve the visualization, for the future big-screen project preparation.

Figure. 3.4.3.1 post-processing

3.4.4 3 d earth

23D integration, support free switch between Mercator projection and ball projection, enhance the visualization effect.

Figure.3.4.4.1 2/3D integrated sphere Display

4. Summarize the plan

Currently, the Eagle. Gl engine is widely used in data production, data analysis and capacity building of new infrastructure projects for Autonavi High Precision teams. Subsequently, with the complete capability of the engine, on the one hand, based on high-precision business, the simulation platform for automatic driving was built; On the other hand, through the digital depiction of the real world, the fusion rendering of multi-source heterogeneous data (DEM/BIM/ tilt photography and other industry-related) is realized, and the digital twin capability is finally achieved.

There is a long way to go before all of these things can be realized. Please contact us and join us in building a digital world. Welcome friends who are interested in general platform front end, online editing IDE, 3D visualization direction to join us and do something meaningful together. Please send your resume to gdtech@alibaba-inc,com with the subject line: name – technical direction – from Autontec.