About this release
With this 2022.0 release, LuciadLightspeed is ready for GeoBIM. Data in the IFC format is now directly supported. Furthermore, we added an important set of improvements and enhancements that were high on our customers' wish lists.

Benefits of the new features
Support for Building Information Models (BIM) in the IFC format
The Industry Foundation Classes (IFC) format is an open file format used by Building Information Modeling (BIM) programs. It contains a model of a building or facility, including spatial elements, materials, and shapes. In recent years, GeoBIM has become necessary to bring situational awareness into infrastructure projects, and vice versa.
This 2022.0 release of LuciadLightspeed brings support for IFC. The IFC models can be decoded, and are then converted into OGC 3D Tiles for efficient visualization. This conversion can be done on the fly, resulting in “drag and drop” of IFC data. Depending on the size of the IFC model, this may take a while. Therefore, LuciadLightspeed also offers the capability to pre-compute the 3D tiles dataset once. Visualization will be instantaneous afterwards. Multiple IFC models can be combined into one 3D Tiles dataset, if required.
IFC models contain geometries as well as metadata. LuciadLightspeed allows you to correlate between the OGC 3D Tiles data and the properties inside the IFC. These properties can then be used to style, filter, or select elements from the IFC model.
For easy access to the metadata, LuciadLightspeed offers a tool to convert the IFC dataset into the GeoJSON format. This conversion maintains the properties stored inside the IFC dataset, together with a bounding box of each item. The unique identifier stored inside the 3D Tiles data is also present in the GeoJSON data. You can perform this conversion to GeoJSON programmatically, or you can run a convenient IFC data conversion script from the command line.
Support for data in the IFC format has also been added to Lucy, the LuciadLightspeed high-level application framework.
Sample code to get you started
The decoder sample is the main access point for testing the LuciadLightspeed IFC support. Furthermore, several articles have been added to complete the product documentation with information about the format IFC and how to handle it. These articles are easily accessible via Data formats: IFC.
Extended OGC SE styling capabilities
OGC Symbology Encoding (SE), previously called Styled Layer Descriptor (SLD), is a standard for cross-platform and cross-vendor style definition. It mainly focuses on vector data, but also includes some parameters for defining the appearance of raster data.
OGC SE is widely used. Nevertheless, its expressive power is limited with respect to label styling options. This is one of the primary reasons that the industry introduced the concept of vendor options. Vendor options are key/value pairs that can be set on a symbolizer to customize settings that are not available in OGC SE.
This mechanism has already been used within the Luciad Portfolio products for labeling. A typical use case is street labeling. Now we have used the concept of vendor options to support the label box styling settings.

Other improvements related to OGC SE support in LuciadLightspeed:
- Styling the points of a line-based shape
-
You can now style the points of a line-based shape. When you use a PointSymbolizer with the Geometry function “vertices”, the defined point style is applied to all points of the encountered shape. An example use case is the styling of waypoints along an ATS route.
- Extended PointSymbolizer capabilities
-
You can now use the geometry function “interiorPoint” to style a shape using a PointSymbolizer. This function takes a point in the middle of the shape border itself if it is open, or inside the shape if it is closed.
- Changing the anchor point of icons
-
You can now adjust the anchor point of icons in OGC SE, by using the AnchorPoint property on a PointSymbolizer graphic. An example use case is the alignment of the tip of an arrow icon with the end of a line segment.

Sample code to get you started
The existing OGC SE samples have been extended. For the label box styling, see the article How to draw a box around labels.
Area calculation for complex polygons with holes
You can calculate the area of a surface with one of these three methods:
-
TLcdEllipsoidUtil.geodesicArea(ILcdShape, ILcdEllipsoid)
for shapes with longitude/latitude coordinates -
TLcdSphereUtil.geodesicArea(ILcdShape, double)
for shapes with longitude/latitude coordinates -
TLcdCartesian.area(ILcdShape)
for shapes with Cartesian (X/Y) coordinates
All these functions now support complex polygons, including islands and holes.

Sample code to get you started
A new how-to article has been added. See How to calculate the area of a complex polygon?.
Improvements for customers in the aviation domain
Apply constructive geometry to AIS shapes
ince early versions of LuciadLightspeed, topological checks and constructive geometry operations have been possible. This capability has now been extended for aeronautical objects, that are decoded as so-called “AIS shapes” by the LuciadLightspeed API. It is particularly relevant to all polyline- and polygon-like objects.

Note that the Lucy Drawing capability already supported constructive geometry operations on aeronautical shapes. This capability remains unchanged.
DAFIFT support for Minimum Sector Altitude data
The decoder for the DAFIFT aviation data format now supports decoding and visualization of Minimum Sector Altitude data. This data defines the lowest altitude that provides a minimum clearance of 1000 feet above all objects located within a circle sector around a navigational aid, for example.
Other improvements
- Scale locking in Lightspeed views
-
A Lightspeed layer can optionally have scale ranges to automatically adjust its visibility based on the view scale. For additional flexibility, it is now possible to adjust the scale value to be considered, independent of the view scale. This allows users to “lock” on a scale and keep a layer visible, regardless of the current view scale. The article How to lock scale-based styles to a certain zoom level provides more information and sample code.
- Support for Draco compression
-
To reduce the tile size, and increase streaming speed, 3D tile geometries can be compressed using the Draco library. LuciadLightspeed now supports decoding and visualization of Draco-compressed 3D Tiles. Draco compression can also be applied to point cloud data.
- Improved Java 17 support
-
The Java 17 support has been further improved:
-
This release removes a series of package splits over distinct jar files. Please consult the related upgrade consideration on the Release notes page for the details.
-
The sample code has been adapted. There are no more deprecation warnings when you are using Java 17.
-
There were some changes in third-party libraries to improve the compatibility with Java 17. For example, the samples now depend on the HikariCP third-party library. It is used to illustrate how the database model decoders can use a database connection pooling framework. The version of Ehcache was also updated from 3.2.0 to 3.10.0. Such changes are documented as an upgrade consideration in the Release notes as well.
-