2024.1.04

ImprovementLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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

Bug fixLuciadFusion

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

Bug fixLuciadFusion

LF-2691
Fixed an issue that caused old cached data to be returned by a WMS, WMTS or WCS service after updating an access rule for a data that was published in the service.

Bug fixLuciadFusion

LF-2696
Fixed an issue where GeoPackage files could not be added as data when LuciadFusion was obfuscated using the deployment script.

Bug fixLuciadFusion

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

Bug fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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 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

2024.1.03

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

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 fixLuciadFusion

LF-2690
Fixed an issue where LGSx files were not discovered during crawling when running LuciadFusion in Tomcat.

Bug fixLuciadFusion

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 fixLuciadFusion

LF-2687
Fixed an issue where CORS was not configured properly for the LuciadFusion LTS en LFS tiling engine endpoints.

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 fixLuciadFusion

LF-2682
Fixed an issue regarding the rotation of panoramic images stored in an LGSx file that caused them to have an incorrect orientation.

Bug fixLuciadFusion

LF-2681
Fixed an issue related the calculation of waypoint coordinates stored in an LGSx file that caused the panoramic images of these waypoints to be located at the wrong position.

Bug fixLuciadFusion

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

ImprovementLuciadFusion

LF-2676
When asynchronous event handling is enabled, LuciadFusion Platform will now only execute an ApplicationListener asynchronously, if it indicates it supports asynchronous execution via its ApplicationListener.supportsAsyncExecution method.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

LF-2673
The coordinates of panoramic images are now transformed to the default UCS (User Coordinate System) of the LGSx file. This fixes panoramas having an incorrect location.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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).

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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 fixLuciadFusion

LF-2670
Resolved an issue where WMS GetMap requests using the a vendor-specific FILTER parameter would fail when LuciadFusion Platform access control was enabled.

Bug fixLuciadFusion

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 fixLuciadFusion

LF-2671
The LuciadFusion hardware and software requirements article now correctly states that version 2.1 of H2 is being used.

Bug fixLuciadFusion

LF-2667
Resolved an issue that could cause a Studio job execution failure to not be caught, leaving the job in an Queued or Running state indefinitely.

Bug fixLuciadFusion

LF-2663
Resolved an issue with the LuciadFusion Platform FileServer service type, where an incorrect Content-Type header could be set when serving a file. This issue only occurred when running LuciadFusion Platform on a Tomcat server.

Bug fixLuciadFusion

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

Bug fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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

Bug fixLuciadFusion

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

Bug fixLuciadFusion

LF-2664
Fixed an issue that prevented the pre-process output folder to be deleted if a service was deleted.

Bug fixLuciadFusion

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

Bug fixLuciadFusion

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

Bug fixLuciadFusion

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 fixLuciadFusion

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 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 Services

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 Services

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 featureLuciadFusion

LuciadFusion Studio now supports LGSx data, a reality capture file format defined by Leica Geosystems.

LGSx files archive a complete reality project in a single, highly compressed package, and may contain point clouds, imagery, assets, and metadata. LuciadFusion currently supports the following data types inside LGSx files:
  • Point cloud data, stored as packed HSPC data, which can be published in an HSPC service.
  • Panorama data, which can be published in a Panoramics service.

The article Handling LGSx data explains in more detail how you can use LGSx data in LuciadFusion Studio.

New featureLuciadFusion

LuciadFusion Studio now allows the user to make WFS services transactional. A transactional WFS (WFS-T) service supports these requests:
  • LockFeature
  • GetFeatureWithLock
  • Transaction
By default, these requests are possible for data stored in a TLcdDatabaseModel, which includes vector data decoded from Microsoft SQL Server, DB2 Spatial, Informix (Geodetic and Spatial), Oracle (Locator and Spatial), PostgreSQL PostGIS, SQLite SpatiaLite, and GeoPackage. You can also extend this functionality by plugging in your own ILcdWFSServerModelEncoderFactory. More information can be found on this page.

New featureLuciadFusion

LuciadFusion now has improved support for composite models (i.e. an ILcdModelContainer) in WFS services. A WFS service will map a composite model to multiple WFS feature types. These feature types will be listed in the capabilities document and can be used in all other WFS operations that require a WFS feature type.

New featureLuciadFusion

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.

ImprovementLuciadFusion

LF-2648
The LuciadFusion Studio web application has been made more robust against endpoint changes (for example, the endpoint for the WMS preview).

ImprovementLuciadFusion

LF-2655
It is now possible to create services with the same name if these services have a different service type.

ImprovementLuciadFusion

LF-2641
The timestamp of the default error responses now uses the default timezone of the JVM (TimeZone.getDefault)

ImprovementLuciadFusion

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

ImprovementLuciadFusion

It is now possible to crawl HSPC Pack (aka HSPCA) files and publish them in an HSPC service.

ImprovementLuciadFusion

PostgreSQL 17 is now officially supported as a database for LuciadFusion Studio.

ImprovementLuciadFusion

The following service types now support single part HTTP range requests:
  • HSPC
  • Panoramics
  • OGC3DTiles
You can read the HTTP range requests article on the mozilla developer network for more information about HTTP range requests.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

LCD-13546
The WMS and WMTS services now come with improved GetLegendGraphic support for layers styled with an SLD:
  • External SVG and bitmap icons defined in a PointSymbolizer are now included in a legend.
  • The optional WIDTH and HEIGHT parameters are now taken into account to generate legend icons.
  • An optional LEGEND_OPTIONS parameter is now supported to control the visual appearance of a legend, such as the font and background color. See the sample class samples.wms.server.SLDLegendOptions for the possibilities. Note that this option is currently only supported for WMS GetLegendGraphic requests.
You can find the full implementation in sample code to ease customizations: see samples.wms.server.SLDWMSGetLegendGraphicEncoder and samples.wmts.server.SLDWMTSGetLegendGraphicEncoder.

ImprovementLuciadFusion

The LuciadFusion Studio REST API and Java API now offer the capability to create, update, delete and fetch a single custom property at a time.

To perform these operations in Java, the methods getCustomProperty(String) and cloneAsEditableData() have been added to the class TLfnData. Additionally, the class TLfnEditableData has been added which contains the following methods to modify the custom properties: putCustomProperty(String, Object), deleteCustomProperty(String).

To enable LuciadFusion clients applications to perform these operations, the following LuciadFusion REST API endpoints have been added:

HTTP method Path pattern
GET /api/data/{dataId}/custom-properties/{customPropertyName}
PUT /api/data/{dataId}/custom-properties/{customPropertyName}
DELETE /api/data/{dataId}/custom-properties/{customPropertyName}

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

ILcdComplexPolygon now has a List accessor for its subpolygons.

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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%.

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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

ImprovementAdvanced Raster Services

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

ImprovementAdvanced Raster Services

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.

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.

Bug fixLuciadFusion

LF-2647
The LuciadFusion Studio web application will no longer stop working if the actuators endpoint is changed.

Bug fixLuciadFusion

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

Bug fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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

Bug fixLuciadFusion

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 fixLuciadFusion

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 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 considerationLuciadFusion

The FusionServer(.sh/.bat) script to run the LuciadFusion server now uses an increased default heap size of 8GB to improve its overall performance when working with large datasets. You can override the default settings by altering the config/vmoptions/com.luciad.fusion.platform.vmoptions file.

Upgrade considerationLuciadFusion

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 considerationLuciadFusion

Security updates have been applied to the following dependencies:
Group ID Artifact ID Old Version New Version
org.apache.commons commons-configuration2 2.9.0 2.11.00
org.freemarker freemarker 2.3.32 2.3.33
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.dataformat jackson-dataformat-yaml 2.15.3 2.15.4
org.slf4j jul-to-slf4j 2.0.9 2.0.16
org.slf4j jcl-over-slf4j 2.0.9 2.0.16
org.slf4j log4j-over-slf4j 2.0.9 2.0.16
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-context-support 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-jdbc 6.1.2 6.1.14
org.springframework spring-messaging 6.1.2 6.1.14
org.springframework spring-tx 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.springframework spring-websocket 6.1.2 6.1.14
org.springframework.ldap spring-ldap-core 3.2.1 3.2.7
org.springframework.security spring-security-config 6.2.1 6.2.7
org.springframework.security spring-security-core 6.2.1 6.2.7
org.springframework.security spring-security-crypto 6.2.1 6.2.7
org.springframework.security spring-security-ldap 6.2.1 6.2.7
org.springframework.security spring-security-oauth2-core 6.2.1 6.2.7
org.springframework.security spring-security-oauth2-resource-server 6.2.1 6.2.7
org.springframework.security spring-security-web 6.2.1 6.2.7
org.springframework.boot spring-boot 3.2.1 3.2.11
org.springframework.boot spring-boot-actuator-autoconfigure 3.2.1 3.2.11
org.springframework.boot spring-boot-actuator 3.2.1 3.2.11
org.springframework.boot spring-boot-autoconfigure 3.2.1 3.2.11
org.springframework.boot spring-boot-configuration-processor 3.2.1 3.2.11
org.springframework.boot spring-boot-starter 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-actuator 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-freemarker 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-jdbc 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-security 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-validation 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-web 3.2.1 3.2.11
org.springframework.boot spring-boot-starter-websocket 3.2.1 3.2.11
io.micrometer micrometer-common 1.12.1 1.12.11
io.micrometer micrometer-jakarta9 1.12.1 1.12.11
io.micrometer micrometer-observation 1.12.1 1.12.11
io.micrometer micrometer-core 1.12.1 1.12.11
org.apache.tomcat.embed tomcat-embed-el 10.1.17 10.1.31
jakarta.xml.bind jakarta.xml.bind-api 4.0.0 4.0.2
LuciadFusion can be used with a Jetty embedded servlet container. The jetty sample dependencies are used in this situation. The following sample dependencies related to Jetty have changed:
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
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.eclipse.jetty.http2 jetty-http2-common 12.0.7 12.0.9
org.eclipse.jetty.http2 jetty-http2-hpack 12.0.7 12.0.9
org.eclipse.jetty.http2 jetty-http2-server 12.0.7 12.0.9
org.eclipse.jetty jetty-alpn-conscrypt-server 12.0.7 12.0.9
org.eclipse.jetty jetty-alpn-server 12.0.7 12.0.9
org.slf4j jul-to-slf4j 2.0.9 2.0.16
io.micrometer micrometer-commons 1.2.1 1.2.11
io.micrometer micrometer-observation 1.2.1 1.2.11

The following sample dependencies related to Jetty have been added:
Group ID Artifact ID Version
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.0.1
org.eclipse.jetty jetty-ee 12.0.9

Upgrade considerationLuciadFusion


The following dependencies have been added to support reading JXR images contained in LGSx reality capture data:
Group ID Artifact ID Version
com.luciad.native libjxr 1.1+2

Upgrade considerationLuciadFusion

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 considerationLuciadFusion

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 considerationLuciadFusion

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 Services

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 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]