2021.1.02

ImprovementLuciadFusion

LF-2139

Windows Authentication when using a MSSQL database account is now supported. There is also a detailed explanation on how to enable support for Windows Authentication when using a MSSQL database account.

ImprovementLuciadFusion

Moved some How to articles from the FAQ section to the How to section.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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

Bug fixLuciadFusion

LF-2188
Fixed an issue where CSW queries with PropertyIsLike and PropertyIsEqualTo operators would fail when querying the Dublin Core dc:type property.

Bug fixLuciadFusion

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 fixLuciadFusion

LF-2151
Fixed an issue that prevented some ECDIS data from being deleted.

Bug fixLuciadFusion

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 fixLuciadFusion

LF-2196
Fixed an issue that caused all data that was added manually using the Add Data functionality to be deleted if a data root was removed by a user.

Bug fixLuciadFusion

LCD-12090
Label placement on a Lightspeed view was very slow when both:
  • on-path or in-path labels are used
  • domain objects have multiple labels

Bug fixLuciadFusion

LF-2182
Fixed a bug where performing CSW query request failed when the bounds of the data being queried were larger than or equal to one-half the surface of the Earth. This bug only affected LuciadFusion instances running against Oracle databases.

Bug fixLuciadFusion

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.

Bug fixLuciadFusion

Added a logging threshold filter to the default logback configuration, which was unintentionally removed.

Bug fixAdvanced Raster Services

LF-2199
Fixed issue with the ECWP native library logger, which got garbage collected after initialisation. The logger now remains active while the server is running.

2021.1

2021.1.01

Bug fixLuciadFusion

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 fixLuciadFusion

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 fixLuciadFusion

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

Bug fixLuciadFusion

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 fixLuciadFusion

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

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.

Upgrade considerationLuciadFusion

LF-2193
There database schema for PostgreSQL databases was changed. The type of the bounding box columns has been changed from Polygon to Geometry.

2021.1

New featureLuciadFusion

The OGC3DTiles service now supports Draco mesh compression. It can be used when creating an OGC3DTiles Service for Binz, OSGB or any other mesh data type. It can be activated by choosing Draco from the mesh compression drop down.

New featureLuciadFusion

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 featureLuciadFusion

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 Services

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.

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

TLspKML22LayerBuilder/TLcdKML22GXYLayerFactory: improved the default layer label.

ImprovementLuciadFusion

LuciadFusion now supports importing of GLB files. GLB is the binary variant of GLTF, and can now be preprocessed into OGC 3D Tiles.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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.

ImprovementLuciadFusion

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

ImprovementAdvanced Raster Services

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

ImprovementAdvanced Raster Services

The ECWP service type now supports 64-bit Linux systems.

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 fixLuciadFusion

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 fixLuciadFusion

LF-2139
The upgrade of the Oracle JDBC driver fixes an issue that prevented LuciadFusion from starting up if an Oracle database with a specific character set was used. See Oracle support document 2278611.1 for more information on this issue.

Bug fixLuciadFusion

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 considerationLuciadFusion

The Oracle JDBC driver has been upgraded to version 19.12.0.0.

Upgrade considerationLuciadFusion

The SQLite library has been updated to version 3.36.0.

Upgrade considerationLuciadFusion

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 considerationLuciadFusion

For Java 17 support, the version of spring-ldap-core was updated from 2.3.2.RELEASE to 2.3.4.RELEASE.

Upgrade considerationLuciadFusion

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 considerationLuciadFusion

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.