2020.1.09

Bug fixLuciadLightspeed

LCD-11645
TLspIconStyle: fixed a NullPointerException that could occur in very rare occasions.

Bug fixAviation Standards

LCD-11648
The ARINC decoder TLcdARINCModelDecoder did not decode the Restrictive Airspace property TLcdARINCRestrictiveAirspaceDataProperties.CYCLE_DATE.

Bug fixDefense Symbology

LCD-11646
Fixed an issue in GXY views that could cause a performance regression when configuring a default style for every military object.

2020.1

2020.1.08

Bug fixLuciadLightspeed

LCD-11629
The optional gap value specified on an SLD graphic stroke was not properly taken into account in GXY views: it was not used if there was no initial gap configured as well and a stroke's graphic was painted less frequent than possible.

Bug fixLuciadLightspeed

LCD-11630
TLspLayer#query: when performing queries on a layer from multiple threads a NullPointerException could occur.

Bug fixLuciadLightspeed

LCD-11604
Fixed UnsupportedOperationException in ILcdGL#glGetActiveUniform().

Bug fixAdvanced Raster Connectors

LCD-11635
Fixed issue where encoding panoramas with TLcdLuciadPanoramaModelEncoder failed if a ILcdOGCFeatureIDRetriever was provided.

Bug fixDefense Symbology

LCD-11621
Fixed an issue in GXY views that caused the configured halo style to be ignored for polygon symbols.

2020.1.07

Bug fixLuciadLightspeed

LCD-11470
TLspComplexStrokedLineStyle: when anti-aliasing is enabled it could occur that some pixels on a line were missing near corners.

Bug fixS-63

LCD-11617

Fixed an issue where S-63 catalogs were not recognized, and decoded as S-57 catalogs instead, resulting in low-level errors.

This happened when an S-63 catalog had entries for cells (.000 files) that were missing on disk.

2020.1.06

ImprovementLucy (LuciadLightspeed)

LUCY-4911
ALcyLspStyleFormat formats now also pick up generic layer properties in ".sty" files, such as whether or not they are selectable or visible.

ImprovementInfrastructure Standards

LCD-11615

Added the ability to recognize numeric values in feature metadata in Binz datasets.
In the Binz data format, all feature metadata are stored as String values, even if they represent numerical values. If the metadata reader discovers that for a given metadata key, the values for all features represent a number, the metadata for that key will now be decoded as numbers.
By doing this, we make sure that these numerical values are encoded as binary values in OGC 3D Tiles, and can be used in styling expressions in LuciadRIA.

2020.1.05

New featureLuciadLightspeed

LCD-11601
The TLcdE57ModelDecoder can now decode panoramic imagery from E57 files.

ImprovementLuciadLightspeed

LCD-9953
The method TLcdWMSDataSource.Builder.layer has been renamed to TLcdWMSDataSource.Builder.addLayer to be in line with the other addLayer methods. The former method has been deprecated. The documentation for the methods TLcdWMSDataSource.Builder.addLayer now mention that added layers are placed on top of earlier added layers.

ImprovementLuciadLightspeed

LCD-11331
The display name for fusion coverage models does no longer contain the server name/address. This aligns the display name with other model descriptors which also do not include the server name/address.

ImprovementOGC Server

LCD-11607
A GeoJSON GetFeatureInfo response now includes the layer name for each encoded feature, to ease traceability between selected features and the WMS layer(s) in which they are contained. This layer name is encoded as a foreign member in the GeoJSON output, aligned with the GeoJSON RFC (https://tools.ietf.org/html/rfc7946#section-6).

ImprovementAviation Standards

LCD-11610
The AIXM 3/4 decoder TLcdAIXMModelDecoder can now also decode stand-alone AIXM-Update files, without requiring to load an AIXM-Snapshot file upfront.

Bug fixLucy (LuciadLightspeed)

LUCY-4913
TLcyAIXMAddOn: Loading an AIXM-Update file (part of AIXM versions 3.3, 4.0 and 4.5) on a Lightspeed map caused a ClassCastException.

Bug fixLuciadLightspeed

LCD-11448
Fixed bug where a TLspFXView would sometimes disappear after resizing it.

Bug fixAviation Standards

LCD-11606
Fixed a NullPointerException that could occur when decoding an AIXM-Update file with route segment updates containing a missing start and/or end point.

Bug fixDefense Symbology

Fixed an issue in GXY views that caused the configured symbology style to be ignored when selecting a symbol in an asynchronously rendered layer.

Bug fixDefense Symbology

Fixed an issue that caused TLcdAPP6AGXYLabelPainterProvider and TLcdMS2525bGXYLabelPainterProvider not to take the configured default style into account for some symbols.

2020.1.03

ImprovementLuciadLightspeed

LCD-11598
TLcdGeoTIFFModelDecoder uses, in non-strict mode, better default values for user defined ellipsoids for which the corresponding GeoTIFF tags are missing. The default values are based on the WGS-84 ellipsoid.

ImprovementDefense Symbology

LCD-11592
The labeling performance of several tactical graphics in a GXY view has been improved significantly.

ImprovementDefense Symbology

LCD-11582
Ensured all Maritime Control Point (Symbol set 25, code 210000) symbols have a Unique Designation label in APP-6D.

ImprovementDefense Symbology

LCD-11582
Ensured all Maritime Control Point (Symbol set 25, code 210000) symbols have a Unique Designation label in MIL-STD 2525D.

ImprovementDefense Symbology

LCD-11531
Point lists passed to TLcdEditableMS2525bObject.set2DEditablePointList and TLcdEditableAPP6AObject.set2DEditablePoint no longer have to implement the ILcdRestrictedLengthPointList or ILcdRestrictedLengthPointList interfaces.

Bug fixLuciadLightspeed

LCD-11602
Fixed a potential deadlock in TLspExternalView when navigating in 3D.

Bug fixLuciadLightspeed

LCD-11599
Fixed bug in TLcdSHPModelEncoder that caused corrupt ShapeFiles when encoding 3D complex polygons.

Bug fixLuciadLightspeed

LCD-11593
Fixed a rare race condition when using asynchronous layer wrappers that could trigger a NullPointerException.

Bug fixAdvanced Raster Connectors

LCD-11577
Fixed an issue where the Luciad Panoramas had visual defects after encoding specific cubemap input images with TLcdLuciadPanoramaModelEncoder.

Bug fixAdvanced Raster Connectors

LCD-11586
Fixed issue where the TLcdPegasusModelDecoder failed to decode url-based sources on linux.

Bug fixInfrastructure Standards

LCD-11597
Fixed issue that would occur when encoding OBJ files with multiple repeating textures and metadata. Before this would produce errors in the output batch table, causing certain simplified tiles to be missing when visualized.

2020.1.02

ImprovementLuciadLightspeed

LCD-11555
The OGC Filter functions startAngle / endAngle and startPoint / endPoint can now be used without arguments inside an SLD style. While they previously required an argument that pointed to the domain object's geometry, these functions can now automatically find the geometry if the argument is left out.

ImprovementLuciadLightspeed

LCD-11553
Fixed an issue in TLcdOGC3DTilesModelDecoder where data with no byteOffset would not be loaded. That offset now defaults to 0.

Bug fixLuciadLightspeed

LCD-11579
TLcdXYGridLayer: the grid origin setting didn't work correctly for grids with non-meter spacings.

Bug fixLuciadLightspeed

LCD-11579
TLspXYGridLayerBuilder: the grid origin setting didn't work correctly for grids with non-meter spacings.

Bug fixLuciadLightspeed

LCD-11566
ALcdMeasureProviders created by TLspImageLayerMeasureProviderFactory now properly take the ALcdBandSemantics#getNoDataValue into account. Values equal to the no-data value are not included in the result of ALcdMeasureProvider#retrieveMeasuresAt.

Bug fixLuciadLightspeed

LCD-11563
Fixed an issue where not all connections to a geopackage file were closed after disposing a geopackage model.

Bug fixLuciadLightspeed

LCD-9826
TLspPlotLayerBuilder: fixed an issue where a plot layer would fail to paint some of its data after it received a model change event. Note, however, that the change event will still cause the layer to invalidate and recompute all of its cached state. For data that changes frequently, we therefore strongly recommend using TLspShapeLayerBuilder and TLspParameterizedIconStyle.

Bug fixLuciadLightspeed

LCD-11549
Fixed an issue that prevented TLcdDataSource objects from being decoded by the TLcdGeoPackageModelDecoder.

Bug fixLuciadLightspeed

LCD-11514
TLspIconStyle: when using multiple TLspIconStyles, only one icon was taken into account for selection. Thus, an object could only be selected by one of the icons it was styled with.

Bug fixAviation Standards

LCD-11547
Fixed the handling of AIXM 5.1 airspace aggregations for airspaces with the following characteristics:
  • Airspaces that crossed the 180th meridian,
  • Airspaces that started with an arc segment.
In both cases, the resulting AIXM 5.1 airspace aggregation could have an incorrect airspace boundary.

Bug fixDefense Symbology

LCD-11562
Fixed issue where part of the Direction of Movement arrow was not painted in Lightspeed 2D views.

Bug fixDefense Symbology

LCD-11510
The military icon offsets are now also applied in 3D views. The offset can be configured using the methods ILcdMS2525bStyle.setOffset and ILcdAPP6AStyle.setOffset.

Bug fixDefense Symbology

LCD-11557
Fixed issue in Lightspeed views where the arrow stroke of the "Direction of Attack For Feint" symbol was drawn past the arrow tip.

Bug fixDefense Symbology

LCD-11544
Fixed issue where MIL-STD-2525 C icon symbols with the 'Joker' affiliation were always painted with a black and white outline instead of a black outline.

2020.1.01

ImprovementAdvanced Raster Connectors

LCD-11523
Errors while fetching pixel data from an ECW file were silently ignored, which could result in black tiles appearing on the map. This will now result in an IOException instead.

ImprovementInfrastructure Standards

LCD-11532

When decoding Binz data, and no georeference information can be found, the TLcdBinzModelDecoder will use a cartesian reference as fallback. If no reference information can be found next to the input data, the decode method will now load the data in its original, non-georeferenced coordinate system, instead of failing.
Note: Data that is decoded in its original coordinate system, can not be visualized on a geographical map. The dataset must be geo-located with an external tool, after conversion has been done.

ImprovementS-63

LCD-11543
Fixed an issue where cell permit subscription expiry date warnings (SSE 15 and SSE 20) didn't show up when there were cell permits in the old ENC.PMT format. This ENC.PMT file doesn't contain the necessary subscription information, while the PERMIT.TXT does. Now, the permits from the PERMIT.TXT file take precedence over those from the ENC.PMT file.

Bug fixLuciadLightspeed

LCD-11534
Fixed an issue related to the previous SLD fix LCD-11421, which caused that the SLD graphic size setting was not always taken into account for world-sized SVG icons.

Bug fixLuciadLightspeed

TLcdLonLatGeoBuffer#setJoinStyle changed the end cap style. This has been fixed.

Bug fixAviation Standards

LCD-11548
TLcdARINCModelDecoder: fixed a potential NullPointerException that could occur when decoding Start / End data properties within Restrictive Airspace continuation records.

2020.1

New featureLuciadLightspeed

New featureLuciadLightspeed

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 featureLuciadLightspeed

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

New featureLuciadLightspeed

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 Connectors

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

ImprovementLuciadLightspeed

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.

ImprovementLuciadLightspeed

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.

ImprovementLucy (LuciadLightspeed)

LUCY-4902

TLcyShapeVisibilityAddOn and TLcyLOSAddOn now allow fine grained customization of the observer, observee and center point shapes used in the calculations. More specifically,

  • Added API hooks to the TLcyShapeVisibilityAddOn to:
    • Adjust the ILcdPoint shape representing the location of the observer (see TLcyShapeVisibilityAddOn#createPointObserverShapeProvider)
    • Adjust the shape representing the observee (see TLcyShapeVisibilityAddOn#createObserveeShapeProvider)
    • Adjust the ILcdAltitudeProvider used to retrieve the elevation of the terrain (see TLcyShapeVisibilityAddOn#createTerrainAltitudeProvider)
  • Similar API hooks have been added to the TLcyLOSAddOn to:
    • Adjust the center point for the line-of-sight calculation (see TLcyLOSAddOn#createCenterPointShapeProvider)
    • Adjust the ILcdAltitudeProvider used to retrieve the elevation of the terrain (see TLcyLOSAddOn#createTerrainAltitudeProvider)

ImprovementLuciadLightspeed

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

ImprovementLuciadLightspeed

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

ImprovementLucy (LuciadLightspeed)

TLcyMapEditUnitAddOn now supports GARS coordinates. Refer to the config file for more information.

ImprovementLucy (LuciadLightspeed)

TLcyGeoPackageAddOn and TLcyLspGeoPackageFormatAddOn can now decode and encode elevation data.

ImprovementLucy (LuciadLightspeed)

The new TLcyMBTilesFormatAddOn add-on provides support for decoding and visualizing MBTiles files containing image tiles. Refer to the reference documentation of TLcdMBTilesModelDecoder for more information about the supported files.

ImprovementLuciadLightspeed

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

ImprovementLuciadLightspeed

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.

ImprovementLucy (LuciadLightspeed)

LUCY-4863
TLcyMapAddOn: Lucy's default label placer for GXY views now picks up label algorithms that have been configured on the layer itself (see ILcdGXYEditableLabelsLayer#getGXYLabelingAlgorithm).

ImprovementLucy (LuciadLightspeed)

LUCY-4882

A new sample shows how to create a new trajectory with straight turns by drawing it interactively on the map. The sample can simulate the movements on the path with a 3D icon using the Lucy previewer. Please refer to samples/lucy/trajectory for more information.

Trajectory sample in Lucy
The new trajectory sample

ImprovementLucy (LuciadLightspeed)

LUCY-3686
TLcyVerticalViewAddOn: the toolbar buttons now provide tooltips and additional configuration options. Refer to the configuration file (usually config/lucy/vertical/verticalview_addon.cfg) for more information).

ImprovementLucy (LuciadLightspeed)

LUCY-3151
Improved the ILcdModelEncoder#canExport of several formats to make the "save layer" actions of the TLcyLspMapAddOn and TLcyMapAddOn more accurate.

ImprovementLuciadLightspeed

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

ImprovementLuciadLightspeed

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

ImprovementLucy (LuciadLightspeed)

LUCY-4674
TLcyVerticalViewAddOn: added an additional (unofficial) DTED level 3 for very detailed elevation data.

ImprovementLuciadLightspeed

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

ImprovementLuciadLightspeed

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 considerationLucy (LuciadLightspeed)

To improve the customization of the TLcyShapeVisibilityAddOn and the TLcyLOSAddOn, the following API methods have been replaced:

Another side-effect is that the TLcdCoverageAltitudeMode exposed in the TLspLOSProperties of the TLcyLOSDomainObject are now replaced each time the calculation runs. If you want to adjust the TLcdCoverageAltitudeMode of the center point of the LOS calculation, you'll have to override the TLcyLOSAddOn#createCenterPointShapeProvider method.

See the release note about LUCY-4902 for more information on the changes.

Upgrade considerationLuciadLightspeed

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 considerationLucy (LuciadLightspeed)

The optional ArcSDE component has been removed from Lucy as it has been discontinued by Esri as of ArcGSI 10.3. In this context, classes in the com.luciad.lucy.addons.arcsde package have been removed from Lucy.

Upgrade considerationLuciadLightspeed

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 considerationLuciadLightspeed

The SQLite library has been updated to version 3.31.1.

Upgrade considerationLuciadLightspeed

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

Upgrade considerationLucy (LuciadLightspeed)

TLcyPIMTrackAddOn: this add-on is now deprecated and no longer included in the default addons.xml file from Lucy.

You can re-include this add-on by adding the following to your addons.xml file:

      <addon>
      <priority>data_producer</priority>
      <name>PIM Track</name>
      <class>com.luciad.lucy.addons.pim.TLcyPIMTrackAddOn</class>
      <configFile>lucy/pim/pim_addon.cfg</configFile>
      </addon>
    

The map-centric version of Lucy uses a different configuration file. In that case, you need to re-add the following entry in your addons.xml file.

      <addon>
      <priority>data_producer</priority>
      <name>PIM Track</name>
      <class>com.luciad.lucy.addons.pim.TLcyPIMTrackAddOn</class>
      <configFile>samples/frontend/mapcentric/map_centric_pim_addon.cfg</configFile>
      </addon>
    

Upgrade considerationLucy (LuciadLightspeed)

All formats now configure their ILcdGXYLabelingAlgorithm on the layer instead of using a ILcyGXYLabelPlacementHintProvider. If you have overridden the labeling algorithm of a format, you need to move that code to the format's layer factory.

Upgrade considerationAdvanced Raster Connectors

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.

Upgrade considerationTiling Engine

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.