2024.1

New featureLuciadLightspeed

The GeoTIFF model decoder (TLcdGeoTIFFModelDecoder) now supports loading TIFF data with overview levels from an external file.
For a file named <filename>.tif the overview file is expected to be named <filename>.tif.ovr.
For a file named <filename>.tiff the overview file is expected to be named <filename>.tiff.ovr.

New featureInfrastructure Standards

Visualization of a Navisworks file in LuciadRIA, processed and served using LuciadFusion's OGC 3D Tiles service
Visualization of a Navisworks file in LuciadRIA, processed and served using LuciadFusion's OGC 3D Tiles service

Added support for the Autodesk Navisworks data format. Autodesk Navisworks is a BIM software tool for architects, engineers, and construction professionals to combine and review 3D models created by other software packages, such as Autodesk Revit, AutoCAD, and others.

For more details, see the Autodesk Navisworks entry in the Data Formats documentation section.

New featureInfrastructure Standards

The TLcdIFCModelDecoder now supports decoding IFC files in the IFC 4.3 file format.

ImprovementLucy (LuciadLightspeed)

LUCY-5071
The table view add-on now stores the scroll bar positions into the workspace.

ImprovementLuciadLightspeed

LCD-8013
Added utility methods to TLcdShapeUtil to check if polygons are self-intersecting, using either ellipsoidal or cartesian calculations.

ImprovementLucy (LuciadLightspeed)

LUCY-5069
The Lucy map centric front-end now stores the heights of the bottom tabs into the workspace.

ImprovementLuciadLightspeed

The maven deploy script in build/maven/deploy.xml now accepts a -Drepository.id=X parameter, that can link to a server component in your maven settings.xml file. When this parameter is provided, the script assumes that authentication is configured in that settings file and won't prompt you to input user credentials.

ImprovementLuciadLightspeed

Non-draped pixel-sized 3D lines with complex strokes are now oriented towards the viewer by default. This behavior can be adapted by using TLspComplexStrokedLineStyle.Builder#orientation(TLspComplexStrokedLineStyle.ComplexStrokeOrientation) and passing TLspComplexStrokedLineStyle.ComplexStrokeOrientation#PARALLEL_TO_EARTH_SURFACE. Draped strokes and world-sized strokes are always oriented parallel to the Earth's surface.

Complex strokes on 3D lines
Example of complex strokes on 3D lines.

ImprovementLuciadLightspeed

The SLD Lightspeed implementation now supports the selection of the elevation mode. This capability can be enabled on both line and polygon symbolizers by configuring the elevationMode SLD vendor option accepting the values of ILspWorldElevationStyle.ElevationMode.

ImprovementLuciadLightspeed

ILcdComplexPolygon now has a List accessor for its subpolygons.

ImprovementLuciadLightspeed

LCD-10555, LCD-12804
The TLcdLASModelDecoder can now additionally decode LASzip (LAZ) 1.4 files.

ImprovementLuciadLightspeed

TLspComplexStrokedLineStyle.Builder#elevationMode(ILspWorldElevationStyle.ElevationMode) now correctly handles ILspWorldElevationStyle.ElevationMode#ABOVE_TERRAIN. In the past ILspWorldElevationStyle.ElevationMode#ABOVE_ELLIPSOID was used instead.

ImprovementLuciadLightspeed

The TLcdGeoTIFFModelDecoder has improved support for GeoTIFF tags related to the vertical coordinate system of a reference. It now falls back on the EGM2008 vertical datum when the vertical datum is not supported.

ImprovementLuciadLightspeed

When parsing Well Known Text (WKT) references with a vertical datum, the parser now uses EGM2008 as fallback in case the vertical datum is not supported. For more information see the API documentation of TLcdWKTReferenceParser.

ImprovementLuciadLightspeed

Support for the following EPSG coordinate references has been added. These EPSG references have a vertical datum which is approximated by using EGM2008 as fallback vertical datum. When the fallback behavior is disabled these EPSG references are not supported. For more information see the API documentation of TLcdEPSGReferenceParser.
  • EPSG:3901 to EPSG:3903
  • EPSG:4097 to EPSG:4100
  • EPSG:5318
  • EPSG:5554 to EPSG:5556
  • EPSG:5598
  • EPSG:5698 to EPSG:5699
  • EPSG:5707 to EPSG:5708
  • EPSG:5832 to EPSG:5835
  • EPSG:5942
  • EPSG:5945 to EPSG:5976
  • EPSG:6144 to EPSG:6176
  • EPSG:6190
  • EPSG:6696 to EPSG:6697
  • EPSG:6700
  • EPSG:6917
  • EPSG:6927
  • EPSG:7400 to EPSG:7405
  • EPSG:7409 to EPSG:7414
  • EPSG:7416 to EPSG:7423
  • EPSG:7954 to EPSG:7956
  • EPSG:8349 to EPSG:8350
  • EPSG:8360
  • EPSG:8370
  • EPSG:8912
  • EPSG:9422 to EPSG:9430
  • EPSG:9449 to EPSG:9450
  • EPSG:9452
  • EPSG:9462
  • EPSG:9500 to EPSG:9501
  • EPSG:9505 to EPSG:9517
  • EPSG:9519 to EPSG:9542
  • EPSG:9656 to EPSG:9657
  • EPSG:9705
  • EPSG:9723 to EPSG:9725
  • EPSG:9785
  • EPSG:9897
  • EPSG:9907
  • EPSG:9920
  • EPSG:9922
  • EPSG:9924
  • EPSG:9928 to EPSG:9935
  • EPSG:9948 to EPSG:9953
  • EPSG:10162 to EPSG:10174
  • EPSG:10245 to EPSG:10246
  • EPSG:10318
  • EPSG:20001

ImprovementLuciadLightspeed

TLcdGeoPackageModelEncoder now uses the libjpeg-turbo library to encode images as JPEG. Depending on the used data and underlying hardware, this reduces the CPU usage during the encoding process.

ImprovementLuciadLightspeed

LCD-7068
The convenience measure factory TLcdImageMeasureProviderFactory has been added to work on ALcdImage directly without the need to construct a model around it.

ImprovementLuciadLightspeed

LCD-10575
The javadoc of TLcdGeoPackageModelEncoder now correctly describes which geometry types are supported and which ones are not.

ImprovementLuciadLightspeed

LCD-11511
The magnetic north data files for WMM and IGRF have been updated to cover the period 2005-2030.

ImprovementAdvanced Raster Connectors

LCD-13600
Added an option to TLcdLuciadPanoramaModelEncoder to modify the resolution of the output cubemap images: see setResolutionFactor(double).

ImprovementAdvanced Raster Connectors

LCD-12877
Added setters for the properties of TLcdLuciadPanoramaModelEncoder that were previously only accessible through the constructors. The constructors with arguments have been deprecated and will be removed in a future release. Use the no-arg constructor and the setters methods to override the default values.

ImprovementDatabase Connectors

LCD-8431
The TLcdMSSQLModelDecoder and TLcdMSSQLModelEncoder now have support for the CURVEPOLYGON geometry types.

ImprovementOGC Server

The WMS Server now uses the libjpeg-turbo library to encode maps as JPEG. This improves the performance of GetMap requests that use the JPEG format with up to 50%.

ImprovementInfrastructure Standards

LCD-12693
We improved the FeatureId shift when combining multiple Binz datasets using a *.binz.index file in the TLcdBinzModelDecoder. The resulting dataset will now no longer have huge gaps in the FeatureId range. The link to the original FeatureId is now also stored in the feature metadata as RenderId.

ImprovementInfrastructure Standards

LCD-12404
We enhanced the feature metadata for Binz files by adding the possibility to link back to the original data. We added (a) root feature(s) containing the original binz file location(s). Next to that we added a RenderId property, which is the original FeatureId in the original binz file. Both are especially useful when converting multiple Binz files into a single model using a *.binz.index file in the TLcdBinzModelDecoder.

ImprovementInfrastructure Standards

LCD-13534

Changed the log level for problems when decoding IFC, Binz, Revit and Navisworks datasets: if the input dataset contains objects that are incorrect (for example, a circle with a negative radius) or impossible to discretize (for example, a cylinder with zero height), this will no longer appear in the log as ERROR or WARNING messages.
This change affects all BIM data types: IFC, Binz, Revit and Navisworks.

The log level has been changed to DEBUG, so to re-enable the output you can change your log configuration accordingly. Refer to the Logging tutorial for more information.

ImprovementMaritime Standards

The S-52 symbology has been updated to S-52 Presentation Library version 4.0.4 (October 2024).

The changes compared to the previous version are small.

TLcdS52Symbology.getPresentationLibraryVersion now returns "4.0" as version.

ImprovementTiling Engine

The Fusion Engine now uses the libjpeg-turbo library to encode images as JPEG. Depending on the used data and underlying hardware, this reduces the CPU usage during the processing of a coverage that uses JPEG as tile format.

Bug fixLuciadLightspeed

Fixed an issue with the TLcdDatabaseModelEncoder where it did not properly lock the given models before exporting or saving them.

Bug fixLuciadLightspeed

TLcdLASModelDecoder now takes into account the extra bytes when calculating the format size, making it possible to decode files which triggered an error in earlier versions.

Bug fixDatabase Connectors

LCD-11321
The TLcdMSSQLModelDecoder now correctly takes into account the base of the CURVEPOLYGON geometry type as defined by the WKB string.

Bug fixDatabase Connectors

LCD-12894
TLcdOracleSpatialModelDecoder: The dimensions configured in the ora file now have priority over the value in the metadata retrieved from the database, to determine the dimension of the TLcdOracleSpatialModelDescriptor. If the property is not specified, the value in the metadata retrieved from the database is used. If no value can be retrieved in the metadata from the database, we fall back to the default value of 2.

Bug fixOGC Server

Resolved an issue in WFS Server where the changes made by Update operations of a Transaction request were not rolled back properly, in case an error occurred during the request. The changes applied on the in-memory model would not be rolled back, but would not have been persisted, resulting in an inconsistent state.

Bug fixOGC Server

Resolved an issue in WFS Server, where Transaction Delete KVP requests would delete each feature of a feature type when the FEATUREID parameter was specified.

Bug fixOGC Server

Resolved an issue in WFS Server, where Transaction Delete KVP requests would result in a NullPointerException.

Bug fixOGC Server

Resolved an issue in WFS Server, where feature types were not found when specifying the namespace of a feature type in the typeName parameter of a WFS Transaction request.

Bug fixInfrastructure Standards

LCD-13584
The TLcdRevitModelDecoder failed to decode Revit files if the working directory was read-only.

Bug fixMaritime Standards

LCD-13558
Fixed a case where text coming from a custom "symbology instruction" object attribute wasn't shown. This is a very rare case that is mostly used in testing data.

Upgrade considerationLuciadLightspeed

The EPSG and WKT reference parsers use the EGM2008 vertical datum as fallback now for unsupported geoids. The same fallback is used when decoding references, having a vertical coordinate system, from GeoTIFF tags. This behavior is enabled by default. It can be switched off by using the system property com.luciad.reference.format.allowApproximateVerticalReference with the value false.

Upgrade considerationLuciadLightspeed

Added a dependency on the third party library libjpeg-turbo. This library is used by a number of components to improve performance for writing images as JPEG. For each usage, a separate release note is added that describes the improvement.

Upgrade considerationLuciadLightspeed

LCD-13346, LCD-13416, LCD-13484, LCD-10555, LCD-12804
The following dependencies have been updated:
Group ID Artifact ID Old Version New Version
software.amazon.awssdk annotations 2.17.168 2.25.57
software.amazon.awssdk apache-client 2.17.168 2.25.57
software.amazon.awssdk arns 2.17.168 2.25.57
software.amazon.awssdk auth 2.17.168 2.25.57
software.amazon.awssdk aws-core 2.17.168 2.25.57
software.amazon.awssdk aws-query-protocol 2.17.168 2.25.57
software.amazon.awssdk aws-xml-protocol 2.17.168 2.25.57
software.amazon.awssdk json-utils 2.17.168 2.25.57
software.amazon.awssdk metrics-spi 2.17.168 2.25.57
software.amazon.awssdk profiles 2.17.168 2.25.57
software.amazon.awssdk protocol-core 2.17.168 2.25.57
software.amazon.awssdk regions 2.17.168 2.25.57
software.amazon.awssdk s3 2.17.168 2.25.57
software.amazon.awssdk sdk-core 2.17.168 2.25.57
software.amazon.awssdk third-party-jackson-core 2.17.168 2.25.57
software.amazon.awssdk utils 2.17.168 2.25.57
org.reactivestreams reactive-streams 1.0.3 1.0.4
com.github.mreutegg laszip4j 0.9 0.19
com.fasterxml.jackson.core jackson-annotations 2.15.3 2.15.4
com.fasterxml.jackson.core jackson-core 2.15.3 2.15.4
com.fasterxml.jackson.core jackson-databind 2.15.3 2.15.4
org.slf4j slf4j-api 2.0.9 2.0.16

The following dependencies have been added:
Group ID Artifact ID Version
software.amazon.awssdk checksums 2.25.57
software.amazon.awssdk checksums-spi 2.25.57
software.amazon.awssdk crt-core 2.25.57
software.amazon.awssdk endpoints-spi 2.25.57
software.amazon.awssdk http-auth 2.25.57
software.amazon.awssdk http-auth-aws 2.25.57
software.amazon.awssdk http-client-spi 2.25.57
software.amazon.awssdk identity-spi 2.25.57
commons-codec commons-codec 1.15

The following dependencies have been removed:
Group ID Artifact ID Version
org.apache commons-codec 1.11

Upgrade considerationAdvanced Raster Connectors

LCD-13600
Fixed the calculation of the resolution of the output cubemap images in TLcdLuciadPanoramaModelEncoder. The new resolution will now be a factor sqrt(2) bigger than the previously, resulting in better image quality but larger output data sets.

To revert to the earlier behaviour, you can use the new setResolutionFactor method with 1 / sqrt(2) as argument.
This setting is also available in the fusion.panoramics.preprocessing section of the LuciadFusion config/fusion.common.yml file.
This setting is also available as commandline option for the panoramaConverter.bat sample (-r|--resolutionFactor).

Upgrade considerationOGC Server

Security updates have been applied to the following sample dependencies of the OGC server sample:
Group ID Artifact ID Old Version New Version
org.springframework.boot spring-boot 3.2.1 3.2.11
org.springframework.boot spring-boot-starter 3.2.1 3.2.11
org.springframework.boot spring-boot-autoconfigure 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-json 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-logging 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-web 3.2.1 3.2.11
org.springframework spring-aop 6.1.2 6.1.14
org.springframework spring-beans 6.1.2 6.1.14
org.springframework spring-context 6.1.2 6.1.14
org.springframework spring-core 6.1.2 6.1.14
org.springframework spring-expression 6.1.2 6.1.14
org.springframework spring-web 6.1.2 6.1.14
org.springframework spring-webmvc 6.1.2 6.1.14
org.ow2.asm asm 9.6 9.7
org.ow2.asm asm-commons 9.6 9.7
org.ow2.asm asm-tree 9.6 9.7
com.fasterxml.jackson.datatype jackson-datatype-jdk8 2.15.3 2.15.4
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.15.3 2.15.4
com.fasterxml.jackson.module jackson-module-parameter-names 2.15.3 2.15.4
com.fasterxml.jackson.core jackson-annotations 2.15.3 2.15.4
com.fasterxml.jackson.core jackson-core 2.15.3 2.15.4
com.fasterxml.jackson.core jackson-databind 2.15.3 2.15.4
org.eclipse.jetty jetty-client 12.0.7 12.0.9
org.eclipse.jetty jetty-http 12.0.7 12.0.9
org.eclipse.jetty jetty-io 12.0.7 12.0.9
org.eclipse.jetty jetty-plus 12.0.7 12.0.9
org.eclipse.jetty jetty-security 12.0.7 12.0.9
org.eclipse.jetty jetty-server 12.0.7 12.0.9
org.eclipse.jetty jetty-util 12.0.7 12.0.9
org.eclipse.jetty jetty-xml 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-annotations 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-plus 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-servlet 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-webapp 12.0.7 12.0.9
org.eclipse.jetty.websocket jetty-websocket-jetty-common 12.0.7 12.0.9
org.eclipse.jetty.websocket jetty-websocket-jetty-api 12.0.7 12.0.9
org.eclipse.jetty.websocket jetty-websocket-core-common 12.0.7 12.0.9
org.eclipse.jetty.websocket jetty-websocket-core-server 12.0.7 12.0.9
org.eclipse.jetty.websocket jetty-websocket-core-client 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-client 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-common 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-websocket-jakarta-server 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-websocket-jetty-server 12.0.7 12.0.9
org.eclipse.jetty.ee10 jetty-ee10-websocket-servlet 12.0.7 12.0.9
org.eclipse.jetty jetty-alpn-client 12.0.7 12.0.9
org.eclipse.jetty jetty-jndi 12.0.7 12.0.9
org.eclipse.jetty jetty-session 12.0.7 12.0.9
org.slf4j jul-to-slf4j 2.0.9 2.0.16
io.micrometer micrometer-commons 1.12.1 1.12.11
io.micrometer micrometer-observation 1.12.1 1.12.11

The following dependencies have been added:
Group ID Artifact ID Version
org.apache.tomcat.embed tomcat-embed-el 10.1.31
jakarta.enterprise jakarta.enterprise.cdi-api 4.0.1
jakarta.enterprise jakarta.enterprise.lang-model 4.0.1
jakarta.inject jakarta.inject-api 2.0.1
jakarta.interceptor jakarta.interceptor-api 2.1.0
org.slf4j slf4j-api 2.0.12
org.eclipse.jetty jetty-ee 12.0.9

Upgrade considerationInfrastructure Standards

We aligned the approach for feature metadata between all supported BIM formats. For Binz, this means the adjustment of the naming of the "minZ" and "maxZ" properties in the generated dataModel to "MinZ" and "MaxZ". This affects both the generated geoJson file and the WFS service for features of a BINZ dataset. You could be using the "minZ" and "maxZ" properties to allow automatic fitting to a feature. If you are using the "minZ" and "maxZ" properties in your code, you will need to adjust the property names to "MinZ" and "MaxZ".

Upgrade considerationInfrastructure Standards

The myVRDatakitConverter library has been upgraded to version 2024.10.75374. It is used by the TLcdRevitModelDecoder and the TLcdNWDModelDecoder. Without this upgrade, there is no support for the Navisworks format.

Upgrade considerationInfrastructure Standards

The commandline samples to create 3DTiles datasets for different BIM data types have been consolidated into one single sample:bim.converter.[bat|sh]. The previous samples all used the same syntax, which is now available on the new sample.
The sample provides a uniform way to convert these data formats: Binz, IFC, Revit and Navisworks.

The following commandline samples are no longer available:

  • decoder.binz.[bat|sh]
  • decoder.ifc.[bat|sh]
  • decoder.revit.[bat|sh]