2020.1

New featureLuciadFusion

The LuciadFusion documentation now contains a dedicated section on creating a configuration with multiple servers in a failover and/or load balancing scenario.

Refer to the Multi-node section of the LuciadFusion Platform documentation for detailed instructions.

New featureLuciadFusion

New featureLuciadFusion

Raster layers now support bicubic interpolation, which greatly improves the image quality at high zoom levels. Bicubic filtering is enabled by setting the interpolation type of TLspRasterStyle to ELcdInterpolationType.CUBIC.

New featureLuciadFusion

The LuciadFusion Studio web app now allows users to add Data or Styles directly without the need for the source files to be part of a Data Root. This can be done clicking the ADD DATA or ADD STYLE on the DATA or STYLES page and providing the file path to the source file of the Data or Style. The Data or Style can be updated by clicking the REFRESH button on the detail page of the Data or Style. Data added directly can also be removed by clicking the REMOVE button.

New featureLuciadFusion

LuciadFusion administrators have the option to disable the advanced indexing of data. This may affect the performance of searches in the Studio UI but makes it possible to deploy Studio in multi-node mode. See configuration file application-fusion.common.yml.

New featureLuciadFusion

The LuciadFusion Studio REST API now allows users to add Data or Styles directly without the need for the source files to be part of a Data Root. This can be done by supplying the path of the source file for the Data or Style to Studio through the REST API. Operations to update and remove Data or styles that were added directly have also been added to the REST API.

More specifically, the following additions have been made to the REST API:

  • POST /api/data: allows Data to be added directly to Studio.
  • POST /api/styles: allows Styles to be added directly to Studio.
  • PUT /api/data/{id}/refresh: allows Data to be updated based on the changes made to the source file(s).
  • PUT /api/styles/{id}/refresh: allows Styles to be updated based on the changes made to the source file.
  • DELETE /api/data/{id}: allows Data to be removed from Studio.
  • DELETE /api/styles/{id}: allows Styles to be removed from Studio.

You can try out these new operations in the API Console, available at /api/console of a running Fusion development server. You can read in more detail about all the operations in the Developer's guide, available at /api/documentation.

Users will notice that adding certain Data directly to LuciadFusion Studio will be much quicker than crawling if the Data consists of many individual files (e.g. OGC 3D Tiles). This is because adding Data directly to LuciadFusion does not require evaluating all individual files.

New featureLuciadFusion

TLcdGeoPackageModelEncoder and TLcdGeoPackageModelDecoder now support the GeoPackage 1.1, 1.2.1, and the 1.3.0 specifications.

New featureLuciadFusion

You can now decode and visualize MBTiles files with image tiles in Lightspeed and GXY views, and LuciadFusion WMS/WMTS services.

For more details, see:

New featureAdvanced Raster Services

Data formats that contain panoramic images can now be decoded and served with LuciadFusion for visualisation in LuciadRIA.

Out-of-the-box, the Luciad products support reading panorama data from from E57 files and Pegasus spherical image tracks.

For unsupported formats, the API provides means to create custom data models. See packages com.luciad.panorama.model and com.luciad.panorama.transformation.

The API provides a way to export any valid panorama model to a standardized CubeMap model. See TLcdLuciadPanoramaModelEncoder for more information. The CubeMap model can be served with LuciadFusion as a Panoramics service.

cubemap
Example of a cubemap created from panoramic image data

For more details, see the Panoramic images reference guide in the documentation.

New featureAdvanced Raster Services

LuciadFusion Studio now includes a Panoramics service. This service can be used to serve panoramic image data. Panoramic image data is automatically preprocessed into the Luciad Panorama Format.

New featureDefense Symbology

All APP-6D symbols are now supported.
APP-6D space debris
The APP-6D symbology now supports all symbols, such as the space debris icons shown here.

ImprovementLuciadFusion

TLcdGXYCompositeCurvePainter now paints the entire composite shape in a single pass, retrieving the TLcdGeneralPath or TLcdAWTPath from the subpainters. This allows better visual results in combination with complex line styles.

ImprovementLuciadFusion

You can now also load image data from E57 files.

To do this you will need the LuciadFusion "Advanced Raster" option.

You cannot use TLcdE57ModelDecoder directly for this. Please refer to the LuciadFusion "Panoramic image data" documentation for details.

ImprovementLuciadFusion

It is now possible to format or parse 2D and 3D TLcdCartesianReference instances as WKT using the TLcdWKTReferenceFormatter or TLcdWKTReferenceParser classes respectively.

ImprovementLuciadFusion

The new class TLcdGARSPointFormat allows easy conversion of GARS strings to lon lat points and vice versa.

ImprovementLuciadFusion

Added ILcdEditableTimeBounds#setToUnion to easily include another time interval in a time bounds object.

ImprovementLuciadFusion

LCD-8112
Improved the way TLcdGeoJsonModelDecoder automatically constructs a TLcdDataModel. It now detects nested properties objects and creates separate data types for them as well.

ImprovementLuciadFusion

To simplify the sample code, some exotic GXY touch samples have been removed (multi-edit, multi-view, multi-user, gestures).

ImprovementLuciadFusion

TLcdGXYStampLabelPainter: deprecated the setGXYInteractiveLabelProvider method to avoid confusion with the TLcdGXYInteractiveLabelsController.

ImprovementLuciadFusion

LCD-10513
Improved compatibility with JDK 9 and higher by removing illegal reflective access calls from the API and sample code.

ImprovementLuciadFusion

LCD-11207
ILcdGXYController now has a getLayered method to add temporary layers to the view. When the controller is active, the layers are painted and the view's label placer takes those layers into account. The TLcdAdvancedMapRulerController now makes use of this if it's not configured to add a measurement layer to the view.

ImprovementAviation Standards

LCD-10738
The model descriptor of decoded AIXM 3/4 models now has a more meaningful display name based on the source of the data, instead of the fixed string "AIXM Data".

ImprovementAviation Standards

LCD-10738
The model descriptor of decoded ARINC models now has a more meaningful display name based on the source of the data, instead of the fixed string "ARINC Data".

ImprovementDefense Symbology

LCD-2941, LCD-9819, LCD-10478, LCD-10658, LCD-10916, LCD-10922, LCD-11186, LCD-11445, LCD-11480
The visualization of several tactical graphics in a GXY view has been improved significantly. The GXY visualization is now more accurate and consistent with the Lightspeed visualization. Rendering performance has been improved as well, especially when zoomed in closely or when using halo rendering.

ImprovementDefense Symbology

TLcdEditableAPP6AObject and TLcdEditableMS2525bObject now expose their buffer width as a modifier when appropriate, similar to the speed and movement direction modifiers.

ImprovementInfrastructure Standards

TLcd3DTilesProcessorBuilder: Added support for metadata when processing OBJ mesh files. This metadata can be used for selection. By default every single OBJ processed by the 3D fusion engine will have a unique id. On top of that, if the OBJ file contains grouping information, every single group will also get a unique id.

The unique id is stored as an integer in the batch table of the produced 3D Tiles dataset.

Next to this, the source file and group name are also stored in the batch table.

ImprovementInfrastructure Standards

Added the ability to customize what metadata ends up in a dataset processed by TLcd3DTilesProcessorBuilder.

Have a look at the ILcd3DTilesProcessorMetadataMapper, which can be implemented using the TLcd3DTilesProcessorBuilder#metadataMapper method.

The details on how to use this are described in the customize metadata guide.

ImprovementInfrastructure Standards

LCD-11385
TLcd3DTilesProcessorBuilder can now preserve mesh borders during mesh simplification. This feature, when activated, improves the visual appearance of low quality LODs with a minor computation cost. Refer to the preserveBorders method for more information.

ImprovementInfrastructure Standards

LCD-11368

TLcd3DTilesProcessorBuilder can now configure the number of vertices and the texture size for individual tiles.

We also decreased the default number of vertices and texture size for enhanced performance. Refer to the verticesPerTile and textureSize methods for more information.

On top of that, we also added an option to automatically drop geometrically complex objects in their entirety on simplified levels. You can find this option in the method TLcd3DTilesProcessorBuilder.dropSmallComplexParts().

ImprovementInfrastructure Standards

TLcd3DTilesProcessorBuilder: improved the Clustering simplification algorithm in terms of speed and visual result.

Bug fixDefense Symbology

LCD-11518
Fixed issue with "Boundaries - Line" symbol where the labels would not be attached on the polyline when zooming in.

Bug fixDefense Symbology

LCD-11355
Disabled the Leadership Indicator modifier for APP-6D Control Measure symbols. This SIDC modifier would operate on the same SIDC position as the Echelon modifier, so having them both enabled would cause unexpected behaviour.

Upgrade considerationLuciadFusion

All date-time properties used in the LuciadFusion Studio REST API now conform to RFC 3339. This means that a date-time property will now include a time-offset. The time-offset will be based on the time zone of the machine that LuciadFusion Studio runs on. If e.g the creationTime of a product was previously 2020-01-01T00:00:00.000 and LuciadFusion Studio is running on a machine in the CET timezone, then the creationTime returned by the REST API is now 2020-01-01T00:00:00.000+01:00. A creationTime that was previously 2020-08-01T00:00:00.000 will now return 2020-01-01T00:00:00.000+02:00 on that same machine.

Upgrade considerationLuciadFusion

LCD-11352
The Jaxen and Batik libraries have been upgraded to version 1.2.0 and 1.11, respectively. This improves compatibility with JDK 11.

Upgrade considerationLuciadFusion

The optional ArcSDE component has been removed from the Tiling Engine module as it has been discontinued by Esri as of ArcGSI 10.3. Consequently, ArcSDE data sources can no longer be preprocessed using Tiling Engine.

Upgrade considerationLuciadFusion

The optional ArcSDE component (com.luciad.format.arcsde) has been removed from the product after being deprecated since the 2016.0 release.

This component provided support for visualize data from an ESRI ArcSDE. However ArcSDE has been discontinued by Esri as of ArcGIS 10.3 in 2015, and you cannot buy it anymore.

As we're not aware of any customers using ArcSDE anymore, we removed it from all our products including LuciadFusion and Lucy. Consult the release notes of those products for more details.

Upgrade considerationLuciadFusion

The SQLite library has been updated to version 3.31.1.

Upgrade considerationLuciadFusion

The library libgpkg has been updated to version 1.0.1 to support newer versions of the GeoPackage specification.

Upgrade considerationAdvanced Raster Services

LCD-11435, LCD-11437
The third-party library 'GDAL' was updated to version 3.1.2 and has its PDF driver enabled. With this update, the TLcdGDALModelDecoder can now decode Geospatial PDF files. This is not supported on Linux 32-bit platforms, or Linux distributions that still use the old ABI (such as RHEL 7).

Upgrade considerationDefense Symbology

LCD-11404
The following Military Symbology classes have been removed:
  • ALcdMS2525bIconProvider
  • TLcdMS2525bIconProvider
  • TLcdMS2525bSelectionIconProvider
  • TLcdEditableMS2525bUnitCustomizer
  • TLcdEditableMS2525bUnitBeanInfo
  • ALcdMS2525bModifier
  • TLcdMS2525bAffiliationModifier
  • TLcdMS2525bCountryModifier
  • TLcdMS2525bEchelonModifier
  • TLcdMS2525bMobilityEquipmentModifier
  • TLcdMS2525bOrderOfBattleModifier
  • TLcdMS2525bStatusModifier
  • TLcdTextModifiersPanel
  • TLcdMS2525bGXYLayerFactory
  • TLcdMS2525bUnitIconPainterEditor
  • TLcdMS2525bUnitNewControllerModel
These API classes have been deprecated for more than a decade and have not been maintained since.