2021.1.14

ImprovementInfrastructure Standards

LCD-12305
Fixed the problem where pruning outliers in Binz datasets could cause too many objects to be skipped: outlier detection will now be disabled by default, but can be turned on by setting the system property com.luciad.bim.tiling.pruneOutliers to true.

Bug fixLuciadLightspeed

LCD-12323
TLcdRasterModelHeightProviderFactory#canCreateHeightProvider now takes the appropriate model lock when inspecting the given model's elements. This also avoids potential warnings from being logged about incorrect model locking.

Bug fixLuciadLightspeed

LCD-12316
The error message returned by the TLcdGeoTIFFModelEncoder could be confusing about why the model was not accepted. The error message now contains more detailed information on the reason of rejecting a model.

Bug fixLuciadLightspeed

LCD-12312
TLcdRangeSlider no longer performs illegal reflective access operations.

Bug fixLuciadLightspeed

LCD-12307
Calling the print method on an ILcdGXYView implementation could cause a NullPointerException when performance logging (see TLcdMBeanPerformanceLogHandler) is configured.

Bug fixLuciadLightspeed

LCD-12306
TLcdEllipsoidRhumblineUtil#intersectionGeodesicRhumblineSFCT didn't work correctly for rhumb lines that cross the date line.

Bug fixAdvanced Raster Connectors

LCD-12302
TLcdGeospatialPDFModelDecoder#discoverDataSources will now return multiple data sources when decoding a Geospatial PDF with multiple map frames.

Bug fixMaritime Standards

LCD-11980
Fixed an issue where certain cells were not displayed on a GXY view. This problem only manifested when using ECDIS in WMS with certain projections.

2021.1

2021.1.13

ImprovementInfrastructure Standards

LF-2237
Meshup will now check if an .mtl file exists next to a .obj file with the same name, in case there is no direct mtllib reference inside the .obj file to the .mtl file. This is added fallback behavior.

Bug fixLuciadLightspeed

LCD-10604
Fixed an issue where the mime type could not be determined properly if an OGC service returned a response with the 301 Moved Permanently response code.

Bug fixLuciadLightspeed

LCD-12289
TLcdGML31LinearRing/TLcdGML32LinearRing's bounds are now properly updated when adding or removing points.

Bug fixLuciadLightspeed

LCD-12287
TLcdKML22GXYPainterProvider: when rendering polygons with inner rings, superfluous lines could appear. This has been fixed.

Bug fixTerrain Analysis Engine

LCD-12292
GXY hypsometry layers now correctly process missing or unknown data for earth tile sets. Previously, areas without elevation data could be incorrectly colored.

Bug fixWeather & Environment Standards

LCD-12284
Fixed an issue where the color of the arrow of a SIGWX cloud label was not changed when setting the cloud label border color. This issue happened when visualizing SIGWX clouds in a GXY view.

2021.1.12

ImprovementLuciadLightspeed

LCD-12275
TLspFixedOnPathLabelLocationProvider has a new property: allowUpsideDown. This property allows you keep the text upside down instead of flipping it 180 degrees.

ImprovementLuciadLightspeed

LCD-12276
TLcdWKTReferenceParser now supports WKT strings that contain a "Local" projection parameter, which corresponds to an orthographic projection.

ImprovementLucy (LuciadLightspeed)

TLcyAIXM51AddOn: the add-on configuration file now has a flag called AIXM51Format.modelDecoder.linearElementsUseGeodesicInterpolationForGeodeticSrs to control the interpolation of linear GML elements with a geodetic SRS. Although these GML elements conceptually represent geometries with a linear interpolation, they are often used in AIXM 5.1 to represent geometries with lon/lat coordinates and a geodesic interpolation. The default setting is to use geodesic interpolation.

ImprovementAviation Standards

LCD-12281
Added support for AIXM 5.1.1 data defined according to the ASRN XML Schema extension, identified by the namespace "http://www.aixm.aero/schema/5.1.1/asrn".

ImprovementAviation Standards

LCD-12259
The AIXM 5.1 decoder TLcdAIXM51ModelDecoder now allows to configure whether the interpolation of linear GML elements needs to be geodesic in case of a geodetic reference, through the newly introduced methods setLinearElementsUseGeodesicInterpolationForGeodeticSrs and isLinearElementsUseGeodesicInterpolationForGeodeticSrs. This impacts the AIXM-compatible GML elements LineStringSegment and LinearRing. Although these GML elements conceptually represent geometries with a linear interpolation, they are often used to represent geometries with lon/lat coordinates and a geodesic interpolation. The default setting is to use geodesic interpolation.

2021.1.11

Bug fixAdvanced Raster Connectors

LCD-12271
TLcdECWModelDecoder: fixed incorrect positioning of images that use feet as their unit of measure.

Bug fixDefense Symbology

LCD-12213
Resolved an issue in GXY views which rendered the outline style of NVG military symbols for the following NVG 2.0 geometry elements:
  • arcband
  • circle
  • ellipse
  • rectangle

2021.1.10

ImprovementTerrain Analysis Engine

LCD-11680
The hypsometry layer in the lightspeed hypsometry sample now more smoothly updates when using the hypsometry controls for a specific elevation layer.

Bug fixAdvanced Raster Connectors

LCD-12257
TLcdECWModelDecoder: fixed issue where accessing an ECW image would fail silently if the ECW file became unavailable after decoding the model but before first accessing the data.

Bug fixDefense Symbology

LCD-12255
Fixed issue where modifier labels were not painted for NVG elements containing military symbols.

2021.1.09

ImprovementLuciadLightspeed

LCD-12244
The TLcdTransformingModelFactory now takes into account if the view allows asynchronous operations to determine if data transformations are executed on a dedicated thread.

ImprovementInfrastructure Standards

LCD-12246
Added support for a textured polyMesh, it is now treated as a regular polyMesh, the actual texture is not used.

2021.1.08

ImprovementLuciadLightspeed

LCD-12232
TLcdProj4ReferenceParser and TLcdProj4ReferenceFormatter now also support the krovak projection.

ImprovementRadar Connectors

LCD-12242
You can now configure the position field to be used for tracks within ASTERIX Category 48: by default, the Calculated Position in Cartesian Coordinates (X / Y) field is used. This can be changed to the Measured Position in Slant Polar Coordinates (Rho / Theta) field by setting the System property com.luciad.format.asterix.cat48.usePolarCoordinates to true.

Bug fixLuciadLightspeed

LCD-12243
Fixed an issue with TLspPointToPointSnapper where ILcdPoint shapes would not be considered as valid snap targets for other overlapping ILcdPoint shapes.

Bug fixLuciadLightspeed

LCD-12230
ILcdLogger: some methods didn't log the correct class or method when using java.util.logging (see TLcdJULLoggerFactory).

Bug fixLuciadLightspeed

LCD-12233
A non-visible TLspAWTView could trigger a high usage of the Event Dispatch Thread (EDT). This has been fixed.

2021.1.07

ImprovementLuciadLightspeed

LCD-12215
TLcdGXYPointListPainter: a new method retrievePointList makes it easier to change how to derive the ILcdPointList from the domain object.

ImprovementLuciadLightspeed

LCD-12225
You can now configure the latitude extent of a TLcdPolarStereographic projection. The latitude extent is how far the projection extends outwards from the poles, expressed in degrees latitude. For example, you can use this to show data located in the southern hemisphere, on a map with a north polar stereographic projection.

ImprovementAviation Standards

LCD-12196
A new package com.luciad.ais.model.sector has been added to AIS containing domain objects to model sector-based minimum safety altitudes.

ImprovementAviation Standards

LCD-12196
A new DAFIFT decoder TLcdDAFIFTMinimumSectorAltitudeDecoder has been added to support the decoding of Minimum Sector Altitude objects. The data type of the decoded objects is TLcdDAFIFTDataTypes#MinimumSectorAltitude, which extends from the new MinimumSectorAltitude type in AIS.

ImprovementInfrastructure Standards

LCD-12222
TLcdDGNModelDecoder: Text with true-type fonts are now displayed in italics or bold where needed.

ImprovementInfrastructure Standards

LCD-12221
TLcdDGNModelDecoder: Adjusted the width, height and justification of text elements with true-type fonts to match the Bentley Microstation display.

Bug fixLucy (LuciadLightspeed)

LUCY-4975
TLcyWMSClientAddOn did not pick up the selected style if the style title differed from the style identifier. This has been fixed.

Bug fixLuciadLightspeed

LCD-12226
Fixed an issue where draco encoding failed for tiles with an empty mesh.

Bug fixLuciadLightspeed

LCD-12202
TLspShapeLayerBuilder: the outline of a polygon with points on the poles would be clipped on the equator in the Lambert Conformal projection.

Bug fixAviation Standards

LCD-12220
AIXM 5.1 navaids of type DME were incorrectly visualized using a VOR_DME icon instead of a DME icon.

Bug fixDefense Standards

LCD-12212
TLspVPFLayerBuilder: the ILspLayer.LayerType set on the builder was not correctly set on the layers build.

2021.1.06

ImprovementLucy (LuciadLightspeed)

LUCY-4973

ImprovementLucy (LuciadLightspeed)

LUCY-4970
TLcyMapEditUnitAddOn now allows configuring datetime formats with specific time zones. Refer to the configuration file for more information.

ImprovementInfrastructure Standards

LCD-12208
Improved the conversion of Binz datasets that contain outliers: the erroneous objects are skipped.

Bug fixLuciadLightspeed

TLcdGXYAsynchronousPaintQueue: after a period of inactivity, the isEmpty method could incorrectly return false.

Bug fixDefense Standards

LCD-12204
The TLcdUSRPModelDecoder now returns data series and supporting files when decoding model metadata.

2021.1.05

ImprovementAdvanced Raster Connectors

LCD-12186
The panorama converter now uses area sampling to determine the color of an image pixel, leading to fewer artifacts in the resulting Luciad Panorama image.

ImprovementAviation Standards

LCD-12197
The DAFIFT Runway decoder could not cope with runway records containing empty values for the take off or landing distance available fields.

Bug fixLuciadLightspeed

LCD-12199
TLspComplexStrokedLineStyle: a TLcdLonLatCompositeRing or TLcdXYCompositeRing containing TLcdCompositeCurve was visualized incorrectly when styled with a complex stroke.

Bug fixLuciadLightspeed

LCD-12185
Fixed a NullPointException that could occur when decoding a 3D Tiles dataset containing GLTF without primitives.

Bug fixAviation Standards

LCD-12192
AIXM 5.1 airspace volume subtractions were not visible in GXY and Lightspeed 2D views if their vertical extent did not include the vertical extent of the base airspace volume.

Bug fixInfrastructure Standards

LCD-12168
TLcd3DTilesProcessorBuilder: fixed a potential deadlock that could occur when processing GLB files. This fix also generally improves the performance of processing GLB files.

Bug fixS-63

LCD-12190
The S-57 and S-63 model decoders now properly differentiate multi catalog (MULTICATALOG.031) datasets of the right type. Before, the S-57 decoders would pick up multi catalogs containing S-63 data and vice-versa.

2021.1.04

ImprovementLuciadLightspeed

LCD-12172
Added support for the SLD vendor option "composite=copy" in a Lightspeed view. This vendor option can be used on a point symbolizer to make sure that any transparent pixels found in a referred icon are copied to the line style provided by a line or polygon symbolizer in the same styling rule. A common use case is to introduce a gap between the visible icon part and the surrounding line style: if there are transparent pixels around the visible icon part, they will remove the surrounding line style accordingly.

ImprovementLuciadLightspeed

LCD-11989
It's now easier to obfuscate LuciadLightspeed and LuciadFusion applications that don't depend on JavaFX.

ImprovementAviation Standards

LCD-12170
Upgraded the included EUR ADR AIXM 5.1(.1) XML Schema extensions from version 24.0 to version 25.0.

ImprovementInfrastructure Standards

LCD-12182
TLcd3DTilesProcessorBuilder: repeating textures will now be scaled to the nearest power of two resolution. This improves compatibility with some clients that don't support repeating textures for non power-of-two resolutions.

Bug fixLuciadLightspeed

LCD-12179
The SLD label painting pipeline incorrectly interpreted XML Label element content encoded on multiple lines as a multiline label. This should only be the case if the newline characters are part of a CDATA XML element, as illustrated in the How to define multiline labels SLD article.

Bug fixLuciadLightspeed

LCD-12173
The OGC Filter functions startAngle and endAngle incorrectly added a rotation of 90 degrees to the evaluated values. This could led to an incorrect icon rotation when used in combination with an SLD icon symbolizer.

Bug fixLuciadLightspeed

LCD-10415
In certain scenarios TLcdImageModelHeightProviderFactory and other implementations of ILcdModelHeightProviderFactory could change the value of the optional ALcdRasterModelHeightProviderFactory#KEY_PIXEL_DENSITY property that is provided when creating a height provider. This side effect no longer happens.

Bug fixLuciadLightspeed

LCD-12169
A few EPSG reference are defined using axes that point west and south, instead of the usual east and north:
  • EPSG:2065
  • EPSG:5513
  • EPSG:8352
The coordinates of these references are now correctly interpreted and transformed.

Bug fixAviation Standards

LCD-12067
Fixed a bug that caused unexpected and superfluous turn circles in the trajectory of a CF-based IAP procedure.

2021.1.03

New featureLuciadLightspeed

LCD-12148
A best effort has been made to add support for version 100 of OSGB for the TLcdOSGBModelDecoder, including support for
  • Binary brackets
  • DrawElementsUInt
  • Vec2Array
  • Vec3Array

ImprovementLuciadLightspeed

LCD-10529
SLD graphics rendering in GXY / Lightspeed now supports the optional AnchorPoint property for icons.

ImprovementLuciadLightspeed

LCD-12146
The warning that eye-dome lighting (see TLspEyeDomeLightingSettings) cannot be used in a 2D view is now logged as a debug message.

ImprovementDefense Symbology

LCD-12136
Icon symbols with uncertain affiliation ("Assumed Friend" or "Suspect") and the "Present" status now get painted with a dotted outline instead of a dashed outline when the symbol fill is disabled. Additionally, icon symbols with the uncertain affiliation ("Assumed Friend" or "Suspect") and the "Planned" status will be painted with an alternating black and white dashed outline instead of a black and white dotted outline. These changes make it possible to differentiate between "Present" and "Planned" icon symbols with uncertain affiliations.

Bug fixLucy (LuciadLightspeed)

LUCY-4964
TLcyToteAddOn/TableViewAddOn: fixed an issue when working with frequently updated models, where the table selection was sometimes not synchronized to the corresponding layer.

Bug fixLuciadLightspeed

LCD-12102
TLspRasterLayer now properly handles images which have a geodetic coordinate reference and bounds that are more than 360 degrees wide. The part of the image that extends outside the 360 degree horizontal range is not painted.

Bug fixLuciadLightspeed

LCD-11533
Fixed NullPointerException when retrieving the TLcdModelMetadata from an ILcdMultiDimensionalModel with unbounded dimensions.

Bug fixLuciadLightspeed

LCD-12137
Fixed an issue within the ALcdMeasureProvider created by TLcdImageModelMeasureProviderFactory which could result in ClassCastExceptions when used from multiple threads.

Bug fixTerrain Analysis Engine

LCD-12047
Fixed a bug that caused an ArrayIndexOutOfBoundsException when calling TLcdLOSCoverageFactory.createLOSCoverageRaster. This could happen in certain scenarios when the provided LOS coverage has a max radius that is not a multiple of the radius step.

Bug fixDefense Symbology

LCD-12071
Fixed an issue where the halo of a movement direction arrow was partially painted white for ground units in a Lightspeed view.

Bug fixInfrastructure Standards

LCD-12011
Fixed a bug in the TLcdBinzModelDecoder where metadata could be skipped in BINZ version 5. BINZ data created by Hexagon Smart Interop Publisher up to version 15.2 are supported.

Bug fixS-63

LCD-12150
Fixed an issue when separately decoding multiple S-63 cells or catalogues in parallel on different threads. This would result in various errors and decoding failures.

2021.1.02

ImprovementLuciadLightspeed

LCD-12133
Support has been added for a new OGC Filter geometry function TLcdOGCVendorSpecificFunctions#VERTICES, which returns the points of a geometry. An example use case is the usage of the function in an SLD Geometry element to style the individual points of a polyline with an icon.

ImprovementLuciadLightspeed

LCD-12130
Support has been added for a new OGC Filter geometry function TLcdOGCVendorSpecificFunctions#INTERIOR_POINT, which returns a point that is interior the the geometry in case of a polygon, or sitting on its boundary otherwise. An example use case is the usage of the function in an SLD Geometry element, to style a point that is interior to the geometry with an icon or text symbolizer.

ImprovementAviation Standards

LCD-12123
The DAFIFT decoders now support the decoding of the Cycle Date property, which gives information about the time a DAFIFT feature was added or last revised.

ImprovementAviation Standards

LCD-12126
Added the EAD ADR and Audit XML Schemas to the cached set of AIXM 5.1 schema extension resources. The following namespaces can now be used without a reference to their schema location: "http://www.aixm.aero/schema/5.1/extensions/EUR/EAD/ADR" and "http://www.aixm.aero/schema/5.1/extensions/EUR/EAD/Audit"

Bug fixLuciadLightspeed

LCD-12108
The bounds calculations for geodetic circle and circular arc implementations, like TLcdLonLatCircle and TLcdLonLatCircularArcByCenterPoint are now more accurate. Before, the bounds were too small in some cases.

Bug fixLuciadLightspeed

LCD-12134
The SLD Lightspeed implementation did not support the use of multiple polygon symbolizers with fill styles to style a single object.

Bug fixLuciadLightspeed

LCD-12132
The SLD geometry functions startPoint, endPoint, startAngle and endAngle were not taken into account in a Lightspeed view if the SLD did not specify a Geometry element.

Bug fixLuciadLightspeed

LCD-12121
Screenshots taken from an ILspView using its getImage() method could show incorrect colors if the view itself had a transparent background. This happened because the image returned did not correctly report itself as having premultiplied alpha. This problem also affected TLcdGXYLspAsynchronousLayerWrapper.

Bug fixLuciadLightspeed

LCD-12090
Label placement on a Lightspeed view was very slow when domain objects have a lot of labels. This could for example happen when on-path or in-path labels are used, or when adding icons to raster data using TLspParameterizedRasterIconStyle.

Bug fixLuciadLightspeed

LCD-12102
TLcdGXYImagePainter now properly handles images which have a geodetic coordinate reference and bounds that are more than 360 degrees wide. The part of the image that extends outside the 360 degree horizontal range, is not painted.

2021.1.01

Bug fixLuciadLightspeed

LCD-12101
Fixed issue in TLcdGeoTIFFModelDecoder for TIFF files where the coordinate reference is a geodetic reference and the data extent is more than 360 degrees wide. The data extent was clamped to 360 degrees. Note this issue is related to LCD-12102 for the visualization of such data.

Bug fixLuciadLightspeed

LCD-12100
TLcdGXYCurvedPathLabelPainter: labels that use a halo weren't always correctly painted on a screen with display scaling larger than 100%. This problem only occurred with a Java version 9 or later.

Bug fixLuciadLightspeed

LCD-12089
Some ALspEditHandles would not interact correctly with touch events in applications with a display scaling value other than 100%.

Bug fixLuciadLightspeed

LCD-12076
TLspTouchNavigateController would not work correctly with a display scaling value other than 100%.

Bug fixOGC Server

LCD-12080
The WMS server could falsely advertise support for GetMap SLD requests. This is only supported when ALcdSLDWMSGXYLayerFactory instances are registered. Now the WMS server no longer advertises this when no such layer factories are registered.

Bug fixDefense Symbology

LCD-12084

Fixed an issue with TLcdEditableMS2525bObject and TLcdEditableAPP6AObject where it was possible to paint the movement direction arrow of an icon symbol that should not have a movement direction arrow.

Additionally the movement direction and speed modifiers configuration has been changed for a number of symbols hierarchies to make them more consistent with the other hierarchies.

The ILcdMS2525bCoded.sMovementDirection/ILcdAPP6ACoded.sMovementDirection modifier was added to the following symbol hierarchies:

  • MIL-STD-2525D
    • 01 - Air
    • 02 - Air Missile
    • 05 - Space
    • 06 - Space Missile
    • 30 - Sea Surface
    • 35 - Sea Subsurface
  • APP-6C
    • 01 - Air
    • 02 - Air Missile
    • 05 - Space
    • 06 - Space Missile
    • 30 - Sea Surface
    • 35 - Sea Subsurface

The ILcdMS2525bCoded.sSpeedLabel/ILcdAPP6ACoded.sSpeedLabel modifier was added to the following symbol hierarchies:

  • MIL-STD-2525D
    • 35 - Sea Subsurface
  • APP-6C
    • 01 - Air
    • 02 - Air Missile
    • 05 - Space
    • 06 - Space Missile
    • 30 - Sea Surface
    • 35 - Sea Subsurface

The ILcdMS2525bCoded.sMovementDirection/ILcdAPP6ACoded.sMovementDirection modifier was removed from the following symbol hierarchies:

  • MIL-STD-2525D
    • 20 - Land Installations
  • APP-6C
    • 20 - Land Installations
  • APP-6D
    • 25 - Control Measure

The ILcdMS2525bCoded.sSpeedLabel/ILcdAPP6ACoded.sSpeedLabel modifier was removed from the following symbol hierarchies:

  • MIL-STD-2525D
    • 20 - Land Installations
  • APP-6C
    • 20 - Land Installations
  • APP-6D
    • 25 - Control Measure

Bug fixDefense Symbology

LCD-12104
TLcdNVGGXYPainterProvider: Fixed editing issue with arrow symbols where the editing preview would not be painted correctly.

2021.1

New featureLuciadLightspeed

The TLcdOGC3DTilesModelEncoder now supports Draco mesh compression for mesh models, such as Binz and OSGB mesh data, or even existing OGC 3D Tiles datasets. You can use this new functionality through the API: setMeshCompression(ELcdOGC3DTilesMeshCompressionType). It is also available in LuciadFusion Studio when you create an OGC3DTiles service from the mesh data, and in the MeshUp en BinzConverter CLI samples.

New featureLuciadLightspeed

The TLcdRoundedPolyline and TLcdRoundedPolygon shapes have been added. These shapes allow you to create a rounded curve based on a set of control points. You can use these shapes to create rounded versions of ILcdPolyline and ILcdPolygon shapes. They can be visualized, created, and edited in ILcdGXYView and ILspView implementations.

The utility class TLcdShapeUtil was added to the API. This class contains utility method to created rounded lines.

  • TLcdShapeUtil.round(ILcdModelReference, ILcdPolyline, double): Use this method to created a TLcdRoundedPolyline.
  • TLcdShapeUtil.round(ILcdModelReference, ILcdPolygon, double): Use this method to created a TLcdRoundedPolygon.

Example usage of these shapes can be found in the complex strokes Lightspeed sample. This sample has been adjusted so rounded lines are used in the Cartography layer. The lines are rounded using a custom ALspStyleTargetProvider which provides rounded lines for every ILcdPolyline or ILcdPolygon in the model. This ALspStyleTargetProvider is located in samples.lightspeed.style.strokedline.LayerFactory.RoundedLineStyleTargetProvider.

New featureAdvanced Raster Connectors

A sample ILcdModelDecoder class has been introduced for helping you decode custom datasets containing panoramic images: the CycloramaXMLModelDecoder class contains logic to decode the Cyclorama data format.

New featureDefense Symbology

The new TLspGARSGridLayerBuilder allows visualizing Global Area Reference System (GARS) grid data. This is demonstrated in the new military grid sample in the samples.lightspeed.grid.military package.
GARS quadrants
A GARS grid where each cell is split into 15-minute quadrants

New featureInfrastructure Standards

When you convert Binz data to OGC 3D Tiles in LuciadLightspeed (decoder.binz.bat sample) or LuciadFusion (using an OGC3DTILES service), the conversion process (using TLcdBinzModelDecoder followed by TLcdOGC3DTilesModelEncoder) now also calculates physically based rendering (PBR) material properties from the material information which is always present in the Binz data.

The PBR properties are automatically added to the resulting OGC 3D Tiles data set during the conversion. No action is required on your part. If you have previously converted Binz data, however, you must process it again to have the PBR material properties calculated.

Client applications, such as LuciadRIA, can use these properties to generate more realistic images of an OGC 3D Tiles data set. It can result in highlights and reflections on the rendered objects.

LuciadRIA application showing the same dataset with default style and PBR style
LuciadRIA application showing the same dataset with default style and PBR style

Using the PBR material properties in LuciadRIA is not activated by default: you have to use the pbrSettings of the meshStyle on the TileSet3DLayer.

Refer to the Styling mesh data article in the LuciadRIA documentation for more information on how to use this feature.

New featureInfrastructure Standards

BinzConverter now supports Draco mesh compression ELcdOGC3DTilesCompressionType.DRACO. It results in significantly smaller OCG 3D Tiles datasets that allow for faster streaming. Use the new command line option "-m DRACO" to activate the Draco mesh compression algorithm.

New featureInfrastructure Standards

MeshUp now supports Draco mesh compression ELcdOGC3DTilesCompressionType.DRACO. It results in significantly smaller OCG 3D Tiles datasets that allow for faster streaming. Use the new command line option "-m DRACO" to activate the Draco mesh compression algorithm.

ImprovementLuciadLightspeed

LuciadLightspeed now runs on Java 17. Refer to the "Hardware and software requirements" page in the prerequisites section for more information and potential limitations.

ImprovementLuciadLightspeed

When a TLspRasterLayer is configured with the incrementalPainting flag set to false and contains multiple rasters, the layer is not updated until all tiles of all rasters are ready. Previously, the layer was updated whenever all tiles of any raster were ready.

ImprovementLuciadLightspeed

TLspKML22LayerBuilder/TLcdKML22GXYLayerFactory: improved the default layer label.

ImprovementLucy (LuciadLightspeed)

Introduced the following Lightspeed format add-ons: These formats can now be visualized with native Lightspeed layers in Lucy, instead of the GXY-in-Lightspeed integration API.

ImprovementLucy (LuciadLightspeed)

TLcyMapEditUnitAddOn now allows plugging in custom point formats by overriding the addPointFormats method.

ImprovementLuciadLightspeed

ALspLayer now has a map scale range property, which controls at what map scales the layer is rendered. This already existed on TLspLayer and was pulled up. This should be particularly useful for TLspRasterLayer. When creating a TLspRasterLayer the map scale range can be configured with TLspRasterLayerBuilder.

ImprovementLuciadLightspeed

LCD-11639
TLcdExpressionFactory: A eq and neq expression with an epsilon parameter have been added. These are useful to compare float values, for which it is recommended to do an epsilon compare. The map expression now also uses an epsilon compare to prevent issues in the visualization in some cases.

ImprovementLuciadLightspeed

LCD-11104
The API for integrating GXY layers in a Lightspeed view or vice versa has been deprecated. We advise to either stick to GXY components, or build a full Lightspeed application instead.

ImprovementLuciadLightspeed

LCD-11431
Introduced a new static method TLcdGeoJsonModelDecoder#parseGeometry, which parses a single GeoJSON geometry object to an ILcdShape.

ImprovementAdvanced Raster Connectors

LCD-12021
The TLcdPegasusModelDecoder now supports datasets with asymmetrical image parameters.

ImprovementDefense Symbology

TLcdMGRSFormat can now be configured using an EBNF pattern format.

ImprovementDefense Symbology

TLcdNVG20Arc and TLcdNVG15Arc now implement ILcdCurve.

ImprovementInfrastructure Standards

The default value for TLcd3DTilesProcessorBuilder.textureSize has been increased to 512, and the default value for TLcd3DTilesProcessorBuilder.verticesPerTile has been increased to 5000. These values were chosen as they produce smaller datasets, with less tiny tiles. On average, this increases 3D Tiles processing performance as well as download speed when using the dataset over the internet.

ImprovementInfrastructure Standards

TLcd3DTilesProcessorBuilder now also accepts input data in GLB format (the binary variant of GLTF). Furthermore, if the input data contains PBR materials, these are now also encoded in the OGC 3D Tiles output.

ImprovementInfrastructure Standards

TLcd3DTilesProcessorBuilder: data which contained a lot of textures but relatively little geometry (or vice versa) could lead to underutilization of the memory allocated to the 3D Tiles Processor. Internal changes have been made that allow the 3D Tiles Processor to better adapt its memory usage to the input data. This leads to reduced disk access and thus improved performance.

ImprovementMaritime Standards

A new S-52 radar category styling property has been added to set whether objects should be displayed that are meant to appear over or under a radar picture: see setRadarCategory(ELcdS52RadarCategory) and getRadarCategory() in TLcdS52DisplaySettings.

If you need to visualize ECDIS data interleaved with a radar, you need to use three layers:
  • an ECDIS layer for which the S-52 radar category setting is set to ELcdS52RadarCategory#UNDER,
  • the radar layer,
  • an ECDIS layer for which the S-52 radar category setting is set to ELcdS52RadarCategory#OVER.
Both ECDIS layers use the same model.

Bug fixLuciadLightspeed

LCD-12066
Fixed ALspViewXYZWorldTransformation#getMapScale returning incorrect results for TLcdMapScale.ScaleLocation.MAP_CENTER when either the world reference is 3D geocentric, or the view's DPI scale is not equal to 1.

Bug fixLuciadLightspeed

LCD-11770
TLcdSHPModelDecoder is now able to parse 'Infinity' and '-Infinity' as number properties.

Bug fixDefense Standards

LCD-12030
Setting TLcdNITFModelDecoder#setIgnoreGraphics to true now correctly ensures that CGM graphics are not included in the resulting model.

Bug fixDefense Standards

LCD-12029
Fixed issue where certain NITF elements would not be georeferenced correctly when TLcdNITFModelDecoder#setSeparateGraphics is set to true and the element's parent is not an image element, or it has no parent at all.

Upgrade considerationLucy (LuciadLightspeed)

The JIDE third party library, which is used by the Lucy docking front-end, has been upgraded to version 3.7.11. This upgrade fixes a Java 11 related issue on macOS.

Upgrade considerationLuciadLightspeed

The SQLite library has been updated to version 3.36.0.

Upgrade considerationLuciadLightspeed

When a TLspRasterLayer is configured with the incrementalPainting flag set to false and contains multiple rasters, the layer is not updated until all tiles of all rasters are ready. Previously, the layer was updated whenever all tiles of any raster were ready.

Upgrade considerationLucy (LuciadLightspeed)

TLcyNITFDecoderAddOn now separates vector and raster data in different sub-models of a model tree node. Because of this, old Lucy GXY workspaces that contain mixed NITF models will only display the raster data. When you open such a workspace, a warning will be logged to inform you about this change. Note that raster-only NITF layers are decoded and visualized correctly without any issues. If you have an affected workspace, please recreate the affected NITF layers to make sure all data are visualized correctly.

Upgrade considerationLucy (LuciadLightspeed)

Along with the GXY-in-Lightspeed layer integration API, the TLcyLspFallbackFormatAddOn was deprecated and removed from the default add-ons. Because of this, the following formats are no longer supported out of the box in Lucy:
  • DGN
  • DWG
  • CGM
  • SVG
  • LRDB
  • LVDB
  • SHPMTM
  • TEA Extreme Points
  • TEA Hypsometry GeoTIFF
Although it is deprecated, TLcyLspFallbackFormatAddOn is still API and can be re-added to your add-ons manually if required.

Upgrade considerationLucy (LuciadLightspeed)

TLcyMapEditUnitAddOn now has consistent pattern based configurations for all point formats. As a side-effect, legacy configuration options no longer work, which will cause your active settables to disappear. To fix this, adjust your point format configuration files as shown in TLcyMapEditUnitAddOn_PointFormats.cfg.

Upgrade considerationLuciadLightspeed

The military grid implementations have moved to the defense symbology component. This results in the following package changes:
Old Class New Class
com.luciad.text.TLcdMGRSFormat com.luciad.text.mgrs.TLcdMGRSFormat
com.luciad.text.TLcdGARSPointFormat com.luciad.text.gars.TLcdGARSFormat
com.luciad.view.map.TLcdMGRS* com.luciad.view.map.mgrs.TLcdMGRS*
com.luciad.view.lightspeed.painter.grid.TLspMGRS* com.luciad.view.lightspeed.painter.grid.mgrs.TLspMGRS*

Upgrade considerationLuciadLightspeed

The new ALspLayer map scale range property can clash with custom subclasses of ALspLayer. Additionally, to make this property work as expected for custom layers, it might be needed to listen to TLspLayerStateEvent.Type#MAP_SCALE_RANGE_CHANGED events or to override ALspLayer#setMapScaleRange to ensure the layer is shown and hidden as needed.

Upgrade considerationDatabase Connectors

The Oracle JDBC driver has been upgraded to version 19.12.0.0.