2024.1

2024.1.09

ImprovementInfrastructure Standards

LCD-13790
Fixed an issue opening certain DWG files that have region objects referring to non-existing blocks.

Bug fixAdvanced GIS Engine

LCD-13791
Fixed a bug in TLcdShapeUtil.isSelfIntersectingEllipsoidal which could cause an exception to be thrown for certain shapes.

2024.1.08

ImprovementOGC Server

LCD-13772
The constructor of TLcdWMSGeoJsonGetFeatureInfoEncoder now accepts a parameter that indicates whether a property's name TLcdDataProperty#getName() or its display name TLcdDataProperty#getDisplayName() should be used as key for the feature info properties. By default, a property's name is used, but you can plug in your own TLcdWMSGeoJsonGetFeatureInfoEncoder to change this.

Bug fixLuciadLightspeed

LCD-13764
TLspShapeLayerBuilder: when vector data is defined in a grid reference with a large unit of measure, the data loading of the layer could take a long time.

Bug fixLuciadLightspeed

LCD-13769
An issue has been resolved where in some cases the type of the elements decoded by the TLcdGeoPackageModelDecoder did not match with the instance class of the datatype.

Bug fixLuciadLightspeed

LCD-13389, LCD-13390
Fixed a race condition in the OGC Filter's property evaluation logic that could trigger an IllegalArgumentException or ArrayIndexOutOfBoundsException when used in combination with SLD styling to render data on a Lightspeed view.

Bug fixInfrastructure Standards

LCD-13771, LCD-13773, LCD-13776
The TLcdIFCModelDecoder support for reading materials has been improved. The decoder can now read the material from the presentation layer of an object (IfcPresentationLayerWithStyle). We also added support for reading the material from IfcFillAreaStyle, IfcColourRgb and IfcDraughtingPreDefinedColour. In addition, when an unknown material construction is encountered in the IFC file, the decoder no longer assigns a 'black' material to the object, but instead logs a warning and reuses the material from the context, or the default 'white' material if no material was present in the context.

Bug fixInfrastructure Standards

LCD-13770
The TLcdIFCModelDecoder now supports IfcProxy elements. Items that are encoded this way in the IFC file are now properly decoded and are returned in both the geometry and features models.

2024.1.07

Bug fixAviation Standards

LCD-13752
Fixed a geometry edge case in the handling of AIXM 5.1 airspace compositions: airspace data with segments containing small, almost self-intersecting bulges at the corner points could prevent its use in a new airspace composition, causing an invalid topology warning message. The airspace composition logic has now been made more robust to handle such airspace data segments.

Upgrade considerationAviation Standards

LCD-13756
A newer version of the JTS library, v1.19.0, has been added in support of the AIXM format implementation. The previous JTS version, 1.14.0, is also still included for backwards compatibility. Both JTS libraries use a different namespace, so they can be used together without interference.

2024.1.06

ImprovementOGC Server

LCD-13733
You can now plug in an ILcdWFSFilteredModelFactory by adding an @LcdServiceannotation to the implementation. This interface is used by the WFS service to filter requested data based on filter properties included in a GetFeature or GetFeatureWithLock request. Examples include an OGC Filter, a feature sorting condition, a feature limit, and/or a feature properties filter. Only the factory with the highest priority is used. By default, a factory with support for the filter properties defined in TLcdWFSGetFeatureConstraints is used.

Bug fixLuciadLightspeed

LCD-13753
TLcdCompositeGXYLayerFactory: the default GXY vector layer factory now takes model read locks when accessing model bounds.

Bug fixAdvanced Raster Connectors

LCD-13746
Fixed an issue with the ILcdModel produced by the TLcdECWModelDecoder#decode(String) due to which the ILcdModel when disposed would not release the held native resources like the ECW source file locks.

Bug fixDefense Symbology

LCD-13760
Resolved an issue were MIL-STD-2525C Sea Mine symbols where not painted in the correct color.

Bug fixDefense Symbology

LCD-13760
Resolved an issue where in some cases, unfilled icon symbols were still painted in the affiliation color when the affiliation color was disabled through styling.

2024.1.05

Bug fixAdvanced Raster Connectors

LF-2700
Fixed a bug where the resulting Luciad Panorama dataset could contain visual artefacts where the input images were stitched together.

Bug fixDefense Symbology

LCD-13744
Fixed an issue for APP-6A and MIL-STD-2525B symbols, where the question mark icon for a symbol in the Pending affiliation was painted with the symbol frame color instead of black.

2024.1.04

ImprovementLuciadLightspeed

LCD-13704
The existing SLD Lightspeed capability to render extruded shapes has been extended with functionality to set OGC expressions for the minimum and maximum height values. An example use case is the exaggeration of the maximum height value by multiplying it with a constant. The article How to style vector objects with an extruded shape in a 3D view has been updated with an example.

ImprovementDefense Symbology

LCD-13689
It is now possible to configure the symbol frame color to be used for icon symbols. This color can be configured using the method setSymbolFrameColor(Color) in the class TLcdMilitarySymbolStyle. This can be used to make the frame color of the symbol white in order to make the frame visible when displaying symbols on a dark background. When the symbol fill is disabled and the affiliation color is enabled, the symbol's affiliation color will be used as frame color, regardless of the configured symbol frame color. Additionally, the frame color will always be black and white dotted, for symbols of assumed affiliations (Assumed Friend, Assumed Neutral, etc.) for APP-6B/C/D and MIL-STD-2525C/D.
Icon symbol with a white symbol frame color.
Icon symbol with a white symbol frame color.

Bug fixLuciadLightspeed

LCD-13719
Fixed an issue in TLcdXYText when using text with a carriage return, for instance ABC\r\nDEF. The text object would have zero width, and only "DEF" was displayed in a GXY view. Both are now resolved.

Bug fixLuciadLightspeed

LCD-13712
Fixed an issue that caused the WCS client's default coverage decoder class TLcdGeoTIFFWCSCoverageDecoder to throw an ArrayIndexOutOfBoundsException in selected cases during decoding.

Bug fixLuciadLightspeed

LCD-13714
TLspComplexStrokedLineStyle: fixed an issue where lines styled with a TLspComplexStrokedLineStyle,with the orientation set to ComplexStrokeOrientation#CAMERA_FACING, would sometimes become very narrow or disappear.

Bug fixLuciadLightspeed

LCD-13709
Loading a GeoTIFF file containing tags referring to EPSG:28992 (Amersfoort / RD New) and vertical reference EPSG:5709 (NAP) would crash.

Bug fixLuciadLightspeed

LCD-13709
ESPG references EPSG:28992 and EPSG:7415 didn't contain axis information.

Bug fixLuciadLightspeed

LCD-13692
Added GML decoding/encoding support for ILcdSurface instances containing circles or circular arcs.

Bug fixLuciadLightspeed

LCD-13717
TLcdWFSLockFeatureRequest didn't correctly initialize the default value for the expiry time in case the WFS server did not support WFS 2.0.0. In this case, a default value of 300 minutes was used instead of the expected 5 minutes.

Bug fixLuciadLightspeed

LCD-13717
TLcdWFSGetFeatureWithLockRequest didn't correctly initialize the default values for the expiry time and lock action properties. Not setting an expiry time resulted in an expiry time of 0 seconds, while the default value is expected to be 300 seconds. Not setting a lock action resulted in a NullPointerException when the request was used.

Bug fixLuciadLightspeed

LCD-13716
Configuring a lock expiry time in TLcdWFSLockFeatureRequest and TLcdWFSGetFeatureWithLockRequest resulted in an incorrect expiry time value in case the WFS server did not support WFS 2.0.0. For WFS versions 1.0.0 and 1.1.0, a conversion needs to be done to minutes. See the javadoc of the method for the updated conversion logic.

Bug fixOGC Server

LCD-13720
The WFS server did not correctly handle the expiry time of feature locks created via a LockFeature of GetFeatureWithLock request. Such locks were only released by using them in a Transaction request with a lock release action.

Bug fixDefense Symbology

LCD-13689
Fixed an issue where the symbol frame was colored with the affiliation color, when the symbol fill and affiliation color were disabled. (See TLcdMilitarySymbolStyle.setSymbolFillEnabled and TLcdMilitarySymbolStyle.setAffiliationColorEnabled). The symbol frame will now be colored in the symbol frame color when both symbol fill and affiliation color are disabled. (See TLcdMilitarySymbolStyle.setSymbolFrameColor).

Bug fixInfrastructure Standards

LCD-13707
To improve the alignment with the other BIM formats, the metadata property containing the original binz file location (a source name property in a root feature) now holds only the filename of the entrypoint of the dataset, instead of its full path.

2024.1.03

ImprovementLuciadLightspeed

LCD-13665
The TLcdGeoJsonModelEncoder can now encode properties that contain objects of type ILcdShape. This was previously only possible if that property was marked as the domain object's geometry through a TLcdHasGeometryAnnotation.

ImprovementOGC Server

LF-1873
The WFS server's capability to output features as GeoJSON has been made more robust: an unsupported geometry type is now automatically transformed to a geometry type supported in GeoJSON (points, lines, polygons and collections of them). This for example improves the access to CAD data such as DGN and DWG files via a WFS server.

ImprovementInfrastructure Standards

LCD-13703

The bim.converter.[bat|sh] commandline sample now has an additional flag to specify whether you want the output folder to contain the OGC 3D Tiles output: --tileset. By default, the flag is set totrue. To skip the OGC 3D Tiles output, set the flag to false by adding --tileset=false or --no-tilesetto the commandline.

Note that disabling the OGC 3D Tiles output is only useful if you enable the -g|--geojson flag to generate geojson output. If that flag is not set to true, and the --tileset flag is set tofalse, then no output will be generated and an error message will be printed.

Bug fixOGC Server

LCD-13701
The WFS server could not handle a GetFeature request for a non-georeferenced feature type if the request contained a bounding box spatial filter.

Bug fixInfrastructure Standards

LCD-13694
Fixed an issue where the TLcdIFCModelDecoder did not properly handle IfcBooleanResult subtractions in some cases, which could result in empty .b3dm files generated by the TLcdOGC3DTilesModelEncoder.

2024.1.02

ImprovementInfrastructure Standards

LCD-13450
The TLcdRevitModelDecoder now uses the Shared Coordinates of a Revit file. This allows to correctly geolocate Revit datasets using standard model references.

ImprovementInfrastructure Standards

LCD-13690

Improved the support for DWG line weights according to the DWG specification.

We now display the line weight of the ILcdDWGShape model elements, taking into account the actual dimensions of your screen. Additionally, if TLcdDWGPolyline2D and TLcdDWGCompositeCurve have a non-zero line width value, that value will be converted to a world-sized line width.

These changes also improve visualisation of a DWG dataset via a WMS service in LuciadFusion.

Line weight visualisation
Line weight visualisation on a standard 96 DPI monitor.

Bug fixLuciadLightspeed

LCD-13691
Fixed an OpenGL error that could occur when dragging a selection rectangle.

Upgrade considerationInfrastructure Standards

LCD-13663
The myVRDatakitConverter library has been upgraded to version 2024.10.75992. It is used by the TLcdRevitModelDecoder and the TLcdNWDModelDecoder. This upgrade brings the following new features and enhancements:
  • Fixes a decoding crash for some Revit files
  • Contains several improvements to the generated metadata for Revit and Navisworks files

2024.1.01

ImprovementLuciadLightspeed

LCD-13491
The TLcdGeoTIFFModelDecoder now logs the reference priority mode used when decoding the raster reference for a file when the logging level is set to debug.

ImprovementLuciadLightspeed

LCD-13669
TLcdOGCFilterDecoder now also accepts fes:Literal as XML element to represent the time value in a binary temporal filter condition (for example, TEquals). Before, only a gml:TimeInstant containing a gml:timePosition was accepted. The time value in a fes:Literal element needs to be formatted according to ISO 8601 (e.g. 2025-01-28T02:45:00.000Z), similar to the time value used in a gml:timePosition.

ImprovementLuciadLightspeed

LCD-13670
When encoding an OGC Filter to a String representation, you can now use a new encodeToString method in TLcdOGCFilterEncoder that accepts an OGC Filter and the desired OGC Filter encoding version (1.1.0 or 2.0.0).

ImprovementLuciadLightspeed

LCD-9349
Introduced a new method named TLspCreateController#setHandleLabelStyler, which allows to customize the appearance of the handle's label during the creation of a geometry.

ImprovementLuciadLightspeed

LCD-13687
The TLcdE57ModelDecoder now contains a safeguard for panoramic image datasets with invalid values the pixelWidth and pixelHeight values of spherical images. Datasets containing such invalid values can now be processed into Luciad Panorama datasets.

ImprovementLuciadLightspeed

LCD-12674, LCD-12676, LCD-12677
The model metadata information now includes supporting source files for the model decoders TLcdTFWRasterModelDecoder, TLcdTABRasterModelDecoder, and TLcdRasterModelDecoder.

ImprovementLuciadLightspeed

LCD-12988
Improved the automatic detection of Leica Pegasus Panoramic images in the TLcdE57ModelDecoder, to facilitate out-of-the box support for datasets that are created with more recent versions of the Leica software.

ImprovementLuciadLightspeed

LCD-13034
Both the SLD GXY and Lightspeed implementation now support drawing a label inside an icon. The new article How to draw a label inside an icon illustrates this capability with an example.

ImprovementInfrastructure Standards

LCD-13662
Fixed an issue where the line weight of objects in DWG datasets was erroneously rounded to 0.

Bug fixLuciadLightspeed

LCD-13682
TLcdE57ModelDecoder: added the acquisitionDateTime property to the decoded panoramic image elements of E57 datasets.

Bug fixLuciadLightspeed

LCD-7932, LCD-7930
The TLcdGeoPackageModelEncoder now correctly supports TLcdPrimaryKeyAnnotation. The support primary key types are:
TLcdCoreDataTypes.LONG_TYPE
TLcdCoreDataTypes.SHORT_TYPE
TLcdCoreDataTypes.INTEGER_TYPE
TLcdCoreDataTypes.STRING_TYPE

Bug fixLuciadLightspeed

LCD-13278
TLcdKML22Polygon: when the altitude mode of a KML22 Polygon is set to CLAMP_TO_GROUND, it will now use rhumbline interpolation instead of geodetic interpolation, as specified in official the KML 2.2 specification. This behavior works both in GXY and Lightspeed views.

Bug fixLuciadLightspeed

LCD-13645
Resolved a problem where printing a Lightspeed view on multiple pages would require an excessive amount of memory.

Bug fixLuciadLightspeed

LCD-13642
TLsp3DTileLayerBuilder: Tiles in the foreground could sometimes disappear unexpectedly when vertical exaggeration was applied to the view.

Bug fixLuciadLightspeed

LCD-13643
The SLD GXY implementation now correctly visualizes image strokes again.

Bug fixLuciadLightspeed

LCD-13589
Fixed a bug in TLcdE57ModelDecoder where separate panoramic image locations from an E57 dataset were accidentally merged into a single panorama.

Bug fixLuciadLightspeed

LCD-13683
An OGC Filter containing a TLcdOGCBinaryTemporalOperator condition was not correctly evaluated in case the tested data property (containing a date) occurred multiple times in the data.

Bug fixLuciadLightspeed

LCD-13676
An OGC Filter containing a TLcdOGCBinaryComparisonOperator condition was not correctly evaluated in case the tested data property occurred multiple times in the data.

Bug fixOGC Server

LF-2670
Resolved an issue with the a vendor-specific FILTER parameter for GetMap requests. GetMap requests could fail when the data contained in the requested LAYER would be decoded in a ILcdModelTreeNode.

Bug fixAviation Standards

LCD-4589, LCD-13599
The rendering of AIXM 5.1 TaxiwayElement features in a Lightspeed view could trigger an IllegalArgumentException in some cases.

Bug fixDefense Standards

LCD-13667
The decoding of the CGM vector data contained in the NITF files has been made more robust allowing to decode additional NITF files.

Bug fixDefense Standards

LCD-13668
Resolved an issue affecting JPEG-encoded raster data, ensuring that these images are no longer shrunk and no longer have a black border added to the bottom and right sides.

Bug fixDefense Symbology

LCD-13648
Resolved an issue where some NVG TLcdNVG20SymbolizedContent and TLcdNVG15MapObject elements were not properly invalidated when their symbol code or modifiers were updated. This caused some style changes to not be applied immediately in GXY views.

Bug fixDefense Symbology

LCD-13610
Resolved an issue where NVG 2.0 models, containing Dublin Core terms elements in NVG metadata elements, could not be encoded by the TLcdNVG20ModelEncoder.

Bug fixInfrastructure Standards

LCD-13541
TLcd3DTilesProcessorBuilder: fixed an issue that could cause points to get moved far away from the mesh, which resulted in unexpected extruded triangles and overly large bounding boxes.

Bug fixInfrastructure Standards

LCD-13631
TLcd3DTilesProcessorBuilder: fixed an issue where material colors were applied multiple times, causing textures to become darker than intended. This happened if a texture was referenced multiple times in different materials.

Bug fixInfrastructure Standards

LCD-13369
TLcd3DTilesProcessorBuilder: fixed a possible performance degradation when processing an OBJ file with textures.

Bug fixInfrastructure Standards

LCD-13674
Fixed a bug where the TLcdBinzModelDecoder could generate wrong material PBR color values for the output 3DTiles dataset for some input data.

Bug fixInfrastructure Standards

LCD-13635
Fixed an issue where the TLcdIFCModelDecoder did not properly handle IfcBooleanResult subtractions in some cases, which could lead to missing objects in the geometry model.

Bug fixMaritime Standards

LCD-12214
Fixed a very rare edge case where UWRTOC points were not visible because they were obscured by an OBSTRN area.

Upgrade considerationAdvanced Raster Connectors

LCD-13673
TLcdGeospatialPDFModelDecoder#discoverDataSources now throws an IOException when there are no map frames in the PDF, which is the case for regular (i.e. non-geospatial) PDFs. This allows an TLcdCompositeModelDecoder to continue searching for model decoders that can correctly decode a non-geospatial PDFs.

Upgrade considerationAdvanced Raster Connectors

LCD-13675
TLcdGDALModelDecoder#decode will by default throw an IOException when no model reference could be found. This change allows a TLcdCompositeModelDecoder to continue searching for a model decoder for a file for which the TLcdGDALModelDecoder could not find a model reference. It is possible to revert to the old behavior by using the new API:
  • TLcdGDALModelDecoder#get/setDefaultModelReference allow setting a default model reference, which will be used when no model reference could be decoded.
  • TLcdGDALModelDecoder#get/setModelReferenceDecoder allow setting a model reference decoder that can decode any custom model references. This is more flexible than setting a default model reference.

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]