2023.0.11

ImprovementLuciadLightspeed

LCD-13099
TLcdEPSGReferenceParser now also documents which EPSG codes are not supported.

ImprovementLuciadLightspeed

LCD-12947
Generated B3DM files and their contained glTF data now adhere to the padding requirements in their specifications. This improves the compatibility of data sets created by the 3D Tiles Processing Engine with third party tools and with a wider range of display drivers.

ImprovementLuciadLightspeed

LCD-12969
A new standard symbol TLcdSymbol.PLUS_DIAMOND was added.

ImprovementInfrastructure Standards

LCD-12687
TLcdIFCModelDecoder now supports IfcTriangulatedFaceSet and IfcIndexedColourMap.

ImprovementInfrastructure Standards

LCD-12915
Fixed a bug where the conversion of an erroneous Binz dataset seemed to succeed. The conversion will now fail, instead of generating an empty 3DTiles dataset.

Bug fixLuciadLightspeed

LCD-13103
Fixed an issue where creating 3D Tiles for meshes without primitives would create invalid glTF. Such meshes are skipped now.

Bug fixLuciadLightspeed

LCD-13049
ALcdWMSProxy#toDataSource now takes ALcdSLDNamedLayer#isQueryable into account. This fixes the problem that the "enable feature info" checkbox in the Connect-To panel in Lucy was broken for SLD styled layers.

Bug fixLuciadLightspeed

LCD-13093
Models containing one or more elements of type TLcdShapeList that themselves contains an ILcdShape that implements both ILcdPolyline and ILcdPolygon are now correctly exported to LVDB and Geopackage databases.

Bug fixLuciadLightspeed

LCD-13107
Fixed a memory leak that could occur for layers with labeled objects that are added, updated and removed frequently.

Bug fixLuciadLightspeed

LCD-13107
Fixed a memory leak that occurred when using a grid on a Lightspeed view with labels enabled.

Bug fixLuciadLightspeed

LCD-13104
The method TLcdWFSProxyModel#getGeometryPropertyName could trigger a NullPointerException when it was called from multiple threads concurrently.

Bug fixOGC Server

LCD-13085
The WCS server's GetCoverage performance improvement introduced by LCD-12948 could result in too many open threads, causing OutOfMemoryError issues on certain platforms.

Bug fixOGC Server

LCD-13108
When sending a WMTS request without request parameter, the returned exception report did not refer to the correct exception code: this should be MissingParameterValue instead of InvalidParameterValue.

Bug fixAviation Standards

LCD-13087
Fixed the handling of an airspace segment that follows a geographical border for only one point.

Bug fixDefense Symbology

LCD-13089
Resolved an issue that caused exception to be thrown when different cornerSmoothness values were configured on the symbology styles of the TLcdNVGGXYLabelPainterProvider and the TLcdNVGGXYPainterProvider.

Bug fixDefense Symbology

LCD-13100
Resolved an issue that caused certain Task Graphics symbols, such as "Seize" and "Turn", to be rendered with a straight line instead of an arc. This only occurred when visualizing an NVG file using a GXY view.

Bug fixDefense Symbology

LCD-13080
Resolved an issue that would cause exceptions to occur during the calculation of label positions. These exceptions only occurred when decoding NVG containing "Forward edge of Battle Area (FEBA)" symbols in a GXY view.

Bug fixDefense Symbology

LCD-13021
The fix for issue LCD-12502, where the NVG fill-pattern "DiagonalUpwardLine" was misspelled as "DiagonalUpLine", has been backported to 2018.2.

2023.0

2023.0.10

ImprovementDefense Symbology

LCD-13065
Fixed an issue in Lightspeed views, where military tactical graphics we're no longer painted with a dashed stroke when their status was set to "Anticipatted/Planned", and haloed style was applied to them (with TLcdDefaultAPP6AStyle.setHaloEnabled or TLcdDefaultMS2525bStyle.setHaloEnabled).

Bug fixLuciadLightspeed

LCD-13078
Fixed a bug in the TLcdE57ModelDecoder: when creating panoramic images from input pinhole images, multiple locations could end up in one Luciad Panorama if they differ only in their Z coordinate.

Bug fixInfrastructure Standards

LCD-13082
IFCFeatures decoded by the TLcdIFCModelDecoder no longer contains children that don't exist in the model.

2023.0.09

Bug fixLuciadLightspeed

LCD-13063
Fixed a NullPointerException in TLspSLDStyler that could happen when adding an SLD-styled raster layer to the view.

Bug fixLuciadLightspeed

LCD-13061
TLsp3DIconStyle: an exception was thrown when styling an oriented point with a TLsp3DIconStyle on a 2D cartesian view.

Bug fixLucy (LuciadLightspeed)

LUCY-5037
TLcyConnectionAddOn: the connect-to dialog no longer replaces special characters such as "+".

Bug fixLuciadLightspeed

LCD-13050
Fixed some controller rendering issues in the ILcdGXYView implementations when using HiDPI rendering.

Bug fixLuciadLightspeed

LCD-13066
The built-in custom OGC functions START_POINT_FUNCTION_NAME, END_POINT_FUNCTION_NAME, START_ANGLE_FUNCTION_NAME, END_ANGLE_FUNCTION_NAME, INTERIOR_POINT_FUNCTION_NAME and VERTICES_FUNCTION_NAME in TLcdOGCVendorSpecificFunctions could not handle GML geometry properties.

Bug fixDefense Symbology

LCD-13031
Fixed an issue with the Block, Contain and Penetrate tactical graphic task symbols that could cause the vertical line of the symbol to not be painted perpendicular to the horizontal line of the symbol.

2023.0.08

Bug fixLuciadLightspeed

LCD-12930
The correct forward slash separator is now always used to find child resources instead of the system dependent java.io.File#separatorChar.

Bug fixLuciadLightspeed

LCD-13036
Fixed an issue where OSGB datasets with paths containing non-latin scripts characters would not be served correctly by LuciadFusion

Bug fixLuciadLightspeed

LCD-13032
The TILcdDatabaseEncoder2 now uses PreparedStatement#getParameterMetaData to determine the SQL type of a parameter when setting null values. This corrects the situation where a null value for a nullable boolean column resulted in an error when saving.

Bug fixLuciadLightspeed

LCD-13046
Fixed a NPE that could occur when using the TLspEditController to edit an object, and simultaneously modifying that object programmatically.

Bug fixLuciadLightspeed

LCD-12888
The TLcdMBTilesModelDecoder now interprets the minzoom value stored in the metadata table. As a result tiles are now shown which previously where not.

Bug fixLuciadLightspeed

LCD-12664
The TLcdLVDBModelDecoder and the TLcdGeoPackageModelDecoder now return null instead of 0 when the NULL value is stored in the database.

Bug fixLuciadLightspeed

LCD-12861
The TLcdMBTilesModelDecoder and TLcdGeoPackageModelDecoder no longer create empty directories when trying to open non-existing sources.

Bug fixLuciadLightspeed

LCD-13029
To avoid threading issues, the collections returned by ILspInteractivePaintableLayer#getObjectsWithPaintState are now protected by read or write locks, managed by TLcdLockUtil. Before this locking mechanism was introduced, a rare ConcurrentModificationException could occur for example when changing a layer filter, while simultaneously (de)selecting objects on that layer.

We recommended checking your codebase for any custom usages of #getObjectsWithPaintState and apply the proper locking. An example snippet of how to take a read or write lock is included in the method javadoc. This recommendation is mostly relevant for dynamic layers, in which for example the layer filter may frequently change, and in which the elements can be selected or edited.

2023.0.07

ImprovementLuciadLightspeed

LCD-13004
Improved the labeling position for polygons crossing the date line in several Lightspeed and GXY scenarios.

ImprovementLuciadLightspeed

LCD-13014
SLD icon rendering in GXY and Lightspeed now supports well-known mark icons to represent a horizontal line and a vertical line. The supported well-known names are horline or shape://horline for a horizontal line and vertline and shape://vertline for a vertical line.

ImprovementLuciadLightspeed

LCD-13030
The WMTS client will now use the tile matrix set which is in the EPSG:4326 reference and has a quad tree tile structure, if there's any.

ImprovementOGC Server

LCD-12948
The WCS server's GetCoverage handling logic now takes better advantage of multiple CPU cores, improving the response time with up to 50% depending on the used data and hardware.

ImprovementAviation Standards

LCD-12950
A new package com.luciad.ais.model.finalapproachpath has been added to AIS containing domain objects to model a final approach path.

ImprovementAviation Standards

LCD-12950
A new DAFIFT decoder TLcdDAFIFTPrecisionApproachPathDecoder has been added to support the decoding of Precision Approach Path objects. The data type of the decoded objects is TLcdDAFIFTDataTypes#PrecisionApproachPath, which extends from the new FinalApproachPath type in AIS.

ImprovementRadar Connectors

LCD-13002
Support for ASTERIX Category 34 has been added, cfr. TLcdASTERIXCategory34. As a result, TLcdASTERIXLiveModelDecoder and TLcdASTERIXModelDecoder can now decode ASTERIX Category 34 datasets. The data type of the decoded objects is TLcdASTERIXDataTypes#Category34RadarServiceMessageType.

Bug fixLuciadLightspeed

LCD-13008
TLcdWKTReferenceParser didn't parse WKT strings using the 'Albers_Equal_Area' projection name correctly and TLcdWKTReferenceFormatter used an invalid name with a 't'. This issue was introduced in patch version 2022.1.13.

Bug fixLuciadLightspeed

LCD-12980
Fixed an issue where, in some scenarios, raster data using an IndexColorModel was displayed with incorrect colors when zoomed out.

Bug fixLuciadLightspeed

LCD-12983
Fixed an issue where the TLspPopupMenuSelectionCandidateHandler did not handle correctly selection candidates correctly when they were already selected.

Bug fixLuciadLightspeed

LCD-13000
The TLcdDatabaseModelDecoder now correctly handles the optional maxCacheSize parameter, disabling the caching when the value is less or equal to 0.

Bug fixLuciadLightspeed

LCD-13006
SLD icon rendering in GXY did not support foot for the uom property of a point symbolizer, in contrast with Lightspeed. To ease using this uom, a new method foot has been added to the builder of TLcdSLDPointSymbolizer.

Bug fixLuciadLightspeed

LCD-13020
The utility method ILcdPropertyRetrieverProvider#createDefaultPropertyRetrieverProvider could result in model read access without an appropriate lock.

Bug fixAviation Standards

LCD-12850
Made the calculation of the connection between an airspace segment and a geographical border more robust to avoid a self-intersecting geometry. A self-intersecting geometry prevents the use of the airspace in an airspace aggregation.

Bug fixAviation Standards

LCD-12852
Fixed a geometry edge case in the handling of AIXM 5.1 airspace compositions. A composition of several equal airspaces could introduce small inaccuracies. This could prevent its use in a new airspace composition, causing the warning message "Cause: found non-noded intersection between LINESTRING ... and LINESTRING ...".

Bug fixInfrastructure Standards

LCD-13012
TLcdIFCModelDecoder no longer throws a ClassCastException when an IfcSpatialStructureElement has invalid bounds.

Bug fixInfrastructure Standards

LCD-13013
TLcdIFCModelDecoder now supports IfcArcIndex with a radius that is different from 1.0.

Bug fixInfrastructure Standards

LCD-12934
TLcdIFCModelDecoder now decodes ISO8859 characters that have been encoded with the \S\ and \P\ control directives.

Bug fixInfrastructure Standards

LCD-12935
TLcdIFCModelDecoder no longer throws an IndexOutOfBoundsException when openings are defined on an IfcElement, but none of them could get converted for some reason.

2023.0.05

ImprovementLuciadLightspeed

LF-2214
TLcdDataModelBuilder and TLfnCustomPropertyDefinitions now allow type names and property names that include periods and dashes.

Bug fixLuciadLightspeed

LCD-12996
com.luciad.io.TLcdStatusInputStreamFactory now excludes wrapping created input streams for GeoTIFF files as reading this format requires random file access.

Bug fixLucy (LuciadLightspeed)

The WMS client favors PNG as first item in the list of supported images types, which is selected and used by default.

2023.0.04

ImprovementLuciadLightspeed

LCD-12337
TLcdWKTReferenceParser now supports compound references with an ellipsoidal vertical datum: VERT_DATUM tag with value 2002 (ellipsoid).

ImprovementLuciadLightspeed

LCD-11990
TLcdWKTReferenceParser now recognizes "North American 1983 CSRS", "North American Datum 1983 CSRS" and variants as aliases for the "NAD83 Canadian Spatial Reference System" geodetic datum name.

ImprovementDefense Symbology

LCD-12973
It is now possible to configure the size of the icon of the "Biological Contaminated Area", "Chemical Contaminated Area", "Radiological Contaminated Area" and "Nuclear Contaminated Area symbols". The icon size of these symbols can be configured using the methods TLcdDefaultMS2525bSymbologyStyle.setSizeSymbol(int) and TLcdDefaultAPP6ASymbologyStyle.setSizeSymbol(int)

ImprovementInfrastructure Standards

LCD-12938
The algorithm to detect pixel colors to texture simplified meshes has gotten a make-over, which lead to a significant performance improvement.

Bug fixLuciadLightspeed

LCD-9650
Fixed a rare crash in TLspLabelPainter that could happen when removing a layer that contains labels with pins, or disposing the view.

Bug fixLuciadLightspeed

LCD-12726
TLcdWKTReferenceParser now more consistently assigns the correct datum transformation parameters to "Amersfoort / RD New" references.

Bug fixLuciadLightspeed

LCD-12471
Some of the EPSG references parsed by TLcdEPSGReferenceParser had incorrect projection parameters. This affected references where the EPSG database defines parameters in a different unit than meters or degrees:
  • EPSG:3359
  • EPSG:22391 and EPSG:22392
  • EPSG:22780
  • EPSG:26191 to EPSG:26195
  • EPSG:26814 and EPSG:26815
  • EPSG:26819 to EPSG:26822
  • EPSG:26825 and EPSG:26826
  • EPSG:26830 to EPSG:26833
  • EPSG:26836 and EPSG:26837
  • EPSG:26841 to EPSG:26844
  • EPSG:30491 and EPSG:30492
  • EPSG:30791 and EPSG:30792

Bug fixLuciadLightspeed

LCD-12979
Fixed an issue in TLcd2DBoundsIndexedModel model bounds calculation. In certain edge cases, the Z/depth of the model bounds could be too small, causing model.getBounds().contains3D(modelObject.getBounds()) to fail.

Bug fixLuciadLightspeed

LCD-6724
The OGC WCS client no longer creates lmap-geotiff* files in the temporary folder.

Bug fixOGC Server

LCD-12967
The WFS server could reject a valid property name filter if the requested feature type was backed by a model with multiple data types.

Bug fixDefense Symbology

LCD-11917, LCD-12636
Resolved an issue that caused exceptions to be thrown when editing NVG symbols when using an asynchronous GXY view.

Bug fixInfrastructure Standards

LCD-12987
Fixed a bug where a large amount of zero-uv-area faces in the input data lead to an unusually large-sized texture.

2023.0.03

ImprovementLuciadLightspeed

LCD-12640
The TLspEditController can now handle external changes to the edited object that result in a change in the amount of edit handles generated for those objects. For example when adding or removing points of a polyline.

Bug fixLuciadLightspeed

LCD-12952
Fixed an issue where the height of some types of 3D Tiles data sets was not correctly computed in 3D views when using a view dependent height provider.

Bug fixLuciadLightspeed

LCD-12793, LCD-9529, LCD-7035
SLD icon rendering in GXY / Lightspeed now supports the uom property of a symbolizer. This property can be used to draw icons with a world size. When omitted, a pixel size is applied by default.

Upgrade considerationAdvanced Raster Connectors

LCD-12970
TLcdECWModelDecoder: the libecw-6.1.*.jar libraries were upgraded to a newer build of the ECW SDK to fix a certificate issue on Mac. This prevented the decoder from loading libecw61.dylib, and could trigger a malware warning on the client.

2023.0.02

ImprovementOGC Server

LCD-12933
The WFS server did not properly log issues when the data in response to a GetFeature request could not be encoded to the requested format (GML or GeoJSON).

ImprovementAviation Standards

LCD-12842
The DAFIFT decoder TLcdDAFIFTMinimumSectorAltitudeDecoder now supports the decoding of the MSA Type property, which gives information about the type of the terminal procedure of the record. The property can be accessed via TLcdDAFIFTSectorDataProperties#MSA_TYPE.

Bug fixLuciadLightspeed

LCD-12905
Decoding IMS icons can no longer result in icons having a size of -1.

Bug fixLuciadLightspeed

LCD-12963
TLcdDurationFormat: rounding could lead to invalid durations such as "1m 60s". This has been fixed.

Bug fixOGC Server

LCD-12955
The WFS server could not serve data defined in a topocentric geographical reference.

Bug fixOGC Server

LCD-12944
The WCS server's caching capabilities did not work for WCS 1.1.0 GetCoverage requests that defined a desired output resolution instead of an image size.

2023.0.01

ImprovementLuciadLightspeed

LCD-12863
TLcdEPSGReferenceParser now additionally supports the following datums, and coordinate references that make use of it:
  • Korean Datum 1985
  • Macao 1920

ImprovementLuciadLightspeed

LCD-12863
TLcdGeodeticDatum now supports the Molodensky-Badekas 10-parameter transformation. On top of the previous 7 parameters, it is now possible to set 3 additional parameters that define a pivot point. See
  • TLcdGeodeticDatum#setPivotX
  • TLcdGeodeticDatum#setPivotY
  • TLcdGeodeticDatum#setPivotZ

ImprovementLuciadLightspeed

LCD-12917
The TLcdGeoTIFFModelDecoder now can read single band float data for which a mask image is used to indicate the 'no data' values. The elevation data for which the mask indicates there is no value is mapped onto the value TLcdDTEDTileDecoder.UNKNOWN_ELEVATION. This mapped no data value is exposed in the ALcdImage semantics and as the default value for ILcdRaster.

ImprovementLucy (LuciadLightspeed)

LUCY-5033
On some operating systems, the layer properties panel could become larger than the screen size. The panel dimensions are now clamped to a reasonable size.

Bug fixLuciadLightspeed

LCD-9092
The TLcdGeoTIFFModelEncoder could produce incorrectly located GeoTIFF files. This could happen for references using a custom datum with a prime meridian different from 0. Now an exception is thrown to indicate the encoding does not support it.

Bug fixLuciadLightspeed

LCD-12920
The TLcdGeoTIFFModelEncoder could produce incorrectly located GeoTIFF files. This could happen for grid references having a rotation value different from zero and for which there is no EPSG code available.

2023.0

New featureMaritime Standards

LuciadLightspeed and LuciadFusion now fully support AML V3 object class and attributes modeling, as well as visualization according to the Portrayal Specification 3.0.0, including the proper scale ranges based on the cell levels.

AML V2 data is also still supported.

This change is automatic for AML V2 and V3 data.

AML v3 example
AML v3 example

ImprovementLucy (LuciadLightspeed)

LUCY-5028
TLcySplashScreenMediator now uses ILcyLucyEnv's status events to determine the progress of the progress bar. This allows you to use the splash screen's progress bar if you've written your own add-on loader (instead of TLcyXMLAddOnLoader).

ImprovementLuciadLightspeed

LCD-12439
The make_osgi_bundles script now comes with an upgraded BND library and Felix framework, improving compatibility with Java 11 and higher.

ImprovementLuciadLightspeed

LCD-12864
Support has been added for an OGC strReplace function in TLcdOGCVendorSpecificFunctions that can replace a pattern in a String property. This function can be used when querying a model (see ILcdModel#query), when creating an OGC Filter or when creating an SLD style.

ImprovementLucy (LuciadLightspeed)

TLcyS57DecoderAddOn now registers two instances of TLcdS52DisplaySettings as a service, one for ENC/IENC and one for AML layers. When loading ENC or AML data on a GXY map or Lightspeed map, the appropriate settings are used and a customizer panel for the respective settings will appear. The AML panel is configured in the same manner as the ENC/IENC panel in the add-on's configuration file.

ImprovementLuciadLightspeed

LCD-11611
Split packages have been eliminated from all lcd_*.jar files. This improves compatibility with JDK 9 and higher.

ImprovementLuciadLightspeed

The lcd_3dtiles.jar file has been renamed to lcd_tiled3d.jar, so Java can generate an automatic module for it. The name change also applies to the corresponding maven pom file.

ImprovementLuciadLightspeed

LCD-11985
The vertical view controllers (TLcdVVAltitudeRangeSliderJPanel, TLcdVVStartEndIndexJSlider, and TLcdVVStartEndIndexJSlider) no longer reset when the vertical view's ILcdVVModel fires a change event. Usually those controllers only need to be reset when the view displays an entirely different profile. You can achieve this by maintaining a 1-to-1 mapping between the domain object and the vertical view model, as shown in the sample class FlightSelectionListener. In addition, TLcdVVTerrainModel has a new constructor making it easier to create a fully initialized terrain profile to achieve that 1-to-1 mapping. The other constructors have been deprecated. If you don't have a 1-to-1 mapping, you can unset and set the vertical view's model (i.e. vview.setVVModel(null); vview.setVVModel(model);) whenever you want to reset the controllers.

ImprovementLucy (LuciadLightspeed)

LUCY-5020
TLcyPreferencesTool used to accept any key, but it only persisted keys starting with the configured short prefix. The tool now enforces correct use of the configured prefix.

ImprovementLuciadLightspeed

The EPSG database has been updated to the latest version: 10.088.

ImprovementDefense Symbology

LCD-12827
The lcd_ms2525b.jar has been renamed to lcd_military_symbology.jar, to better reflect its contents. The name change also applies to the corresponding maven pom file. In addition, some resources have been split off into a separate lcd_military_symbology_resources.jar file.

ImprovementMaritime Standards

ELcdS57ProductType now has a convenience method fromModel to retrieve the S-57 product type from an ILcdModel.

ImprovementMaritime Standards

You can now retrieve a cell's level (also known as navigational purpose) TLcdS57ModelDescriptor#getLevel.

Bug fixLuciadLightspeed

LCD-12923
TLcdCSWDecoder would enforce the same reference system unto all decoded content, which could trigger a TLcdOutOfBoundsException. This is no longer the case.

Bug fixLuciadLightspeed

LCD-12910
TLcdSVGIcon painted a world-sized icon too large when the icon was smaller than the SVG document size.

Bug fixLuciadLightspeed

LCD-12909
The SLD XML decoder and encoder implementation did not support decoding and encoding the uom property of a symbolizer. Reading or setting the property through ALcdSLDSymbolizer#getUom and ALcdSLDSymbolizer#setUom is now aligned with the XML representation.

Bug fixLuciadLightspeed

LCD-12800
The use of an SLD style defining an SVG icon in combination with a dynamic rotation property could result in incorrectly sized icons in GXY / Lightspeed.

Bug fixLuciadLightspeed

LCD-12896
The Well-Known Binary CIRCULARSTRING type is now correctly read from the database for both 2D and 3D shapes.

Bug fixDatabase Connectors

LCD-12912
TLcdOracleSpatialModelDecoder now uses the dimension of the spatial index to construct the where statement for a BBOX. This solves the problem that an Oracle exception was thrown when querying 3d data when a 2d spatial index is defined.

Upgrade considerationLuciadLightspeed

The minimum OpenGL version required by ILspView is now 4.2. GPUs or drivers which do not support this version will no longer be able to use the hardware-accelerated Lightspeed view. For more information please contact support.luciad.gsp@hexagon.com.

Upgrade considerationLuciadLightspeed

LuciadLightspeed no longer supports Oculus devices. For more information please contact support.luciad.gsp@hexagon.com.

Upgrade considerationLuciadLightspeed

LCD-11985
TLcdAltitudeRangeSliderAdapter has been deprecated. Its functionality is now handled automatically by TLcdVVAltitudeRangeSliderJPanel. You can safely remove it from your code.

Upgrade considerationLuciadLightspeed

The vmoptions files used by start.jar and the launcher scripts have been simplified and moved to config/vmoptions to avoid split packages. If you want to override the startup parameters of a sample or product, look for a vmoptions file in that directory starting with the relevant package, such as com.luciad.lucy.vmoptions for com.luciad.lucy.TLcyMain.

Upgrade considerationLuciadLightspeed

LCD-12446, LCD-12445
The com.luciad.ogc.filter.model package is no longer split between multiple jars. To achieve this, the following API has been moved:
Class or interface Old package New package
ILcdGenericExpression
ILcdOGCCondition
ILcdOGCExpression
ILcdOGCSortBy
com.luciad.ogc.filter.model com.luciad.ogc.filter
ILcdOGCFeatureIDRetriever com.luciad.ogc.filter com.luciad.ogc.filter.evaluator
TLcdOGCFilterCapabilitiesConstants com.luciad.ogc.filter N/A
If you encounter any compile errors due to these changes, simply update the relevant import statement. There should be no need for the TLcdOGCFilterCapabilitiesConstants class. If you require some of its constants, you can define these yourself.

Upgrade considerationLuciadLightspeed

LCD-12445
The com.luciad.geometry package is no longer split between multiple jars. To achieve this, the following API has been moved:
Class or interface Old package New package
ILcd2DAdvancedBinaryTopology
ILcd2DBinaryTopology
ALcd2DBasicBinaryTopology
ALcd2DBasicBinaryTopologyMultiShape
ELcdGeometryDimension
ELcdGeometryRegion
ILcd2DLineIntersectionTopology
ILcdIntersectionMatrix
ILcdIntersectionMatrixPattern
com.luciad.geometry com.luciad.geometry.topology
TLcdCartesianAdvancedBinaryTopology
TLcdCartesianBasicBinaryTopology
com.luciad.geometry.cartesian com.luciad.geometry.topology.cartesian
ILcd2DEllipsoidalBinaryTopology
TLcdEllipsoidalAdvancedBinaryTopology
TLcdEllipsoidalBasicBinaryTopology
com.luciad.geometry.ellipsoidal com.luciad.geometry.topology.ellipsoidal
TLcdSphericalAdvancedBinaryTopology
TLcdSphericalBasicBinaryTopology
com.luciad.geometry.spherical com.luciad.geometry.topology.spherical
ILcdConstructiveGeometry com.luciad.geometry com.luciad.geometry.constructive
TLcdCartesianConstructiveGeometry com.luciad.geometry.cartesian com.luciad.geometry.constructive.cartesian
TLcdSphericalConstructiveGeometry com.luciad.geometry.spherical com.luciad.geometry.constructive.spherical
TLcdEllipsoidalConstructiveGeometry com.luciad.geometry.ellipsoidal com.luciad.geometry.constructive.ellipsoidal
TLcdEllipsoidalShapePointEnumerationFactory com.luciad.geometry.ellipsoidal N/A
ILcd2DBasicBinaryTopology com.luciad.geometry N/A
If you encounter any compile errors due to these changes, just update the relevant import statement. If you were still using ILcd2DBasicBinaryTopology, you can replace it with the identical ILcd2DBinaryTopology interface. If you still have a need for TLcdEllipsoidalShapePointEnumerationFactory, please reach out to support.luciad.gsp@hexagon.com.

Upgrade considerationLuciadLightspeed

The package com.luciad.format.gml, containing legacy support for GML 2, has been removed. Its functionality has been deprecated for more than a decade, with com.luciad.format.gml2.xml.TLcdGML2ModelDecoder and com.luciad.format.gml2.xml.TLcdGML2ModelEncoder in the com.luciad.format.gml2.xml package as direct replacements.

Upgrade considerationLuciadLightspeed

The utility class TLcdJDOM2OGCFilter which was deprecated since 2017 has been removed. If you are using this class, you can replace it with the following code: ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); new XMLOutputter().output(element, outputStream); TLcdOGCFilterDecoder filterDecoder = new TLcdOGCFilterDecoder(); filterDecoder.setInputStreamFactory(string -> new ByteArrayInputStream(outputStream.toByteArray())); return (TLcdOGCFilter) filterDecoder.decode("");

Upgrade considerationLuciadLightspeed

Security updates have been applied to the following dependencies:
Group ID Artifact ID Old Version New Version
com.fasterxml.jackson.core jackson-databind 2.14.0 2.14.2
com.fasterxml.jackson.core jackson-core 2.14.0 2.14.2
com.fasterxml.jackson.core jackson-annotations 2.14.0 2.14.2
org.apache.xmlgraphics batik-xml 1.11 1.16
org.apache.xmlgraphics batik-util 1.11 1.16
org.apache.xmlgraphics batik-transcode 1.11 1.16
org.apache.xmlgraphics batik-swing 1.11 1.16
org.apache.xmlgraphics batik-svggen 1.11 1.16
org.apache.xmlgraphics batik-svg-dom 1.11 1.16
org.apache.xmlgraphics batik-script 1.11 1.16
org.apache.xmlgraphics batik-parser 1.11 1.16
org.apache.xmlgraphics batik-i18n 1.11 1.16
org.apache.xmlgraphics batik-gvt 1.11 1.16
org.apache.xmlgraphics batik-gui-util 1.11 1.16
org.apache.xmlgraphics batik-ext 1.11 1.16
org.apache.xmlgraphics batik-dom 1.11 1.16
org.apache.xmlgraphics batik-css 1.11 1.16
org.apache.xmlgraphics batik-constants 1.11 1.16
org.apache.xmlgraphics batik-codec 1.11 1.16
org.apache.xmlgraphics batik-bridge 1.11 1.16
org.apache.xmlgraphics batik-awt-util 1.11 1.16
org.apache.xmlgraphics batik-anim 1.11 1.16
org.apache.xmlgraphics xmlgraphics-commons 2.3 2.7
org.slf4j slf4j-api 1.7.25 1.7.36
org.postgresql postgresql 42.3.6 42.5.4
com.github.mreutegg laszip4j 0.7 0.9
org.jdom jdom2 2.0.5 2.0.6.1
org.apache.commons commons-text 1.6 1.10
org.apache.commons commons-lang3 3.8.1 3.12
org.apache.commons commons-compress 1.5 1.22

The following dependencies have been removed:
Group ID Artifact ID Version
xalan xalan 2.7.2
xalan serializer 2.7.2
org.jdom jdom 1.1.3
javax.servlet javax.servlet-api 3.1.0

The following dependencies have been added:
Group ID Artifact ID Version
jakarta.servlet jakarta.servlet-api 4.0.4
org.apache.xmlgraphics batik-shared-resources 1.16

Upgrade considerationLuciadLightspeed

LCD-12684
The following methods have been removed in favor of #getInputStreamFactory and #setInputStreamFactory:
  • TLcdGeoTIFFModelDecoder#getImageInputStreamFactory
  • TLcdGeoTIFFModelDecoder#setImageInputStreamFactory
  • TLcdTABRasterModelDecoder#getImageInputStreamFactory
  • TLcdTABRasterModelDecoder#setImageInputStreamFactory
  • TLcdTFWRasterModelDecoder#getImageInputStreamFactory
  • TLcdTFWRasterModelDecoder#setImageInputStreamFactory
  • TLcdRasterModelDecoder#getTileInputStreamFactory
  • TLcdRasterModelDecoder#setTileInputStreamFactory
  • TLcdDIMAPModelDecoder#getImageInputStreamFactory
  • TLcdDIMAPModelDecoder#setImageInputStreamFactory
Any usages of these removed input stream factories have been modified to use the above-mentioned sibling methods instead. Please change any calls to these methods to #getInputStreamFactory or #setInputStreamFactory.

Upgrade considerationAdvanced Raster Connectors

LCD-12779
TLcdECWModelDecoder has been upgraded to use ERDAS ECW JP2 SDK 6.1. The names of the JAR files containing the native libraries reflect this change: libecw-6.0.*.jar is now libecw-6.1.*.jar. No other changes are necessary.

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 2.1.2.RELEASE 2.7.8
org.springframework.boot spring-boot-starter 2.1.2.RELEASE 2.7.8
org.springframework.boot spring-boot-autoconfigure 2.1.2.RELEASE 2.7.8
org.springframework.boot spring-boot-starter-json 2.1.2.RELEASE 2.7.8
org.springframework.boot spring-boot-starter-logging 2.1.2.RELEASE 2.7.8
org.springframework.boot spring-boot-starter-web 2.1.2.RELEASE 2.7.8
org.springframework spring-aop 5.1.4.RELEASE 5.3.25
org.springframework spring-beans 5.1.4.RELEASE 5.3.25
org.springframework spring-context 5.1.4.RELEASE 5.3.25
org.springframework spring-core 5.1.4.RELEASE 5.3.25
org.springframework spring-expression 5.1.4.RELEASE 5.3.25
org.springframework spring-jdbc 5.1.4.RELEASE 5.3.25
org.springframework spring-tx 5.1.4.RELEASE 5.3.25
org.springframework spring-web 5.1.4.RELEASE 5.3.25
org.springframework spring-webmvc 5.1.4.RELEASE 5.3.25
com.zaxxer HikariCP 3.2.0 4.0.3
org.ow2.asm asm 5.0.4 9.4
com.fasterxml.jackson.datatype jackson-datatype-jdk8 2.9.8 2.14.2
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.9.8 2.14.2
com.fasterxml.jackson.module jackson-module-parameter-names 2.9.8 2.14.2
org.eclipse.jetty.websocket javax-websocket-client-impl 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty.websocket javax-websocket-server-impl 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-annotations 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-client 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-continuation 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-http 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-io 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-plus 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-security 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-server 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-servlet 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-servlets 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-util 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-util-ajax 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-webapp 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty jetty-xml 9.4.3.v20170317 9.4.50.v20221201
org.slf4j jul-to-slf4j 1.7.25 1.7.36
org.slf4j slf4j-api 1.7.25 1.7.36
org.apache.logging.log4j log4j-api 2.11.1 2.17.2
org.apache.logging.log4j log4j-to-slf4j 2.11.1 2.17.2
ch.qos.logback logback-classic 1.2.3 1.2.11
ch.qos.logback logback-core 1.2.3 1.2.11
org.yaml snakeyaml 1.23 1.33
org.eclipse.jetty.websocket websocket-api 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-client 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-common 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-server 9.4.3.v20170317 9.4.50.v20221201
org.eclipse.jetty.websocket websocket-servlet 9.4.3.v20170317 9.4.50.v20221201

The following dependencies have been added:
Group ID Artifact ID Version
org.springframework.boot spring-boot-starter-jetty 2.7.8
jakarta.annotation jakarta.annotation-api 1.3.5
jakarta.websocket jakarta.websocket-api 1.1.2
org.apache.tomcat.embed tomcat-embed-el 9.0.71
org.ow2.asm asm-commons 9.4
org.ow2.asm asm-tree 9.4

The following dependencies have been removed:
Group ID Artifact ID Version
org.eclipse.jetty jetty-unixsocket 9.4.3.v20170317
org.eclipse.jetty jetty-schemas 9.4.3.v20170317
org.eclipse.jetty jetty-rewrite 9.4.3.v20170317
org.eclipse.jetty jetty-quickstart 9.4.3.v20170317
org.eclipse.jetty jetty-proxy 9.4.3.v20170317
org.eclipse.jetty jetty-proxy 9.4.3.v20170317
org.eclipse.jetty jetty-nosql 9.4.3.v20170317
org.eclipse.jetty jetty-memcached-sessions 9.4.3.v20170317
org.eclipse.jetty jetty-jndi 9.4.3.v20170317
org.eclipse.jetty jetty-jmx 9.4.3.v20170317
org.eclipse.jetty jetty-jaspi 9.4.3.v20170317
org.eclipse.jetty jetty-jaas 9.4.3.v20170317
org.eclipse.jetty jetty-infinispan 9.4.3.v20170317
org.eclipse.jetty jetty-gcloud-session-manager 9.4.3.v20170317
org.eclipse.jetty jetty-deploy 9.4.3.v20170317
org.eclipse.jetty jetty-alpn-server 9.4.3.v20170317
org.eclipse.jetty jetty-continuation 9.4.3.v20170317
org.eclipse.jetty jetty-continuation 9.4.3.v20170317
org.eclipse.jetty.cdi cdi-core 9.4.3.v20170317
org.eclipse.jetty.cdi cdi-servlet 9.4.3.v20170317
org.eclipse.jetty.cdi cdi-websocket 9.4.3.v20170317
com.fasterxml.jackson.core jackson-core 2.9.8
com.fasterxml.jackson.core jackson-databind 2.9.8
javax.annotation javax.annotation-api 1.3.2
javax.websocket javax.websocket-api 1.0

Upgrade considerationTerrain Analysis Engine

TLcdVVTerrainProfileModel and TLcdUpdateTerrainModelAction have been deprecated in favor of the more capable TLcdVVTerrainModel. The corresponding vertical view sample has been removed.

Upgrade considerationInfrastructure Standards

Added a dependency on the third party library xatlas for efficient packing of texture islands in a texture map, which is used in the Meshup pipeline.

Upgrade considerationMaritime Standards

LuciadLightspeed and LuciadFusion now apply the proper scale ranges for the levels in the AML cell files that are in a CATALOG.031. Before, AML data had no scale range. Usually, these scale ranges are beneficial to your application, both to reduce loading time and to reduce visual clutter. For details, see TLcdS52DisplaySettings#getScaleDenominators.

If you relied on always displaying all AML information in a catalog without scale range, you will now have to configure that. You can do this by setting [100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000] as scale denominators on TLcdS52DisplaySettings.