OGC 3D Tiles

This sample shows how to load 3D tiles with meshes and point cloud data on the map. It also shows you how to style meshes and point clouds with expressions, allow measurements on meshes and point clouds, add effects to your map, and drape shapes on top of meshes. The map supports both 3D and 2D projections.

Usage

Features

3D data

Use OGC3DTilesModel with a TileSet3DLayer .
You can load 3D tileset data on 2D and 3D WebGLMap maps.
Note: The elevation data has no effect in a 2D map.

3D ruler

The 3D ruler controller displays various measurements: distance of 3D line segments, angles between points, orthogonal distances, heights over terrain, and area surface, depending on the selected measurement mode. To start a measurement tool, turn on the 3D ruler controller and click on the map in order to add new points for measurement. Each additional click adds a new segment to measure. You can change the measurement mode on the measurement panel.


The 3D ruler uses Map.getViewToMapTransformation API with LocationMode.CLOSEST_SURFACE mode. This transformation object provides for the given view position a map point on the closest surface, that is a 3D object represented by meshes, point cloud points, extrudes shapes, or terrain.
This transformation is used on 3D maps only.

Graphic effects

The Effects and Lights tools show various graphic effects that can be applied on a 3D scene. In the effects panel you can change the camera focus depth, you can enhance depth perception by enabling eye-dome-lighting, and you can play with the color palette of the scenery. In the light panel you can enable sunlight with shadows and atmosphere lighting, ambient occlusion and fog effects.

Expression based styling

The TileSet3DLayer allows to set PointCloudStyle that defines the expression based styles for the point cloud data.
The are three types of expressions:

Draping

The TileSet3DLayer that contains the 3D tiles with meshes is marked as a drape target using the isDrapeTarget constructor parameter. This means that data can now be draped on this layer. To drape the walking tour shape, it is styled with a ShapeStyle in which the drapeTarget parameter is set to DrapeTarget.MESH.

Data

The Marseille 3D mesh data used in this sample was created by Airbus with Airbus Street Factory. The train station lidar data was created by Flying-Cam for Altametris and SNCF Réseau. Both datasets are available as OGC 3D Tiles services, hosted by our LuciadFusion server on https://sampleservices.luciad.com/ . You can use these services only for simple tests and demonstrations. You should not rely on either of them in any way.