2020.1.21

ImprovementLucy (LuciadLightspeed)

LUCY-4933
TLcyWorkspaceAddon now allows saving the fallback workspace. Refer to the addon's config file to enable this behavior.

ImprovementLuciadLightspeed

LCD-11769
TLcdEPSGReferenceParser now uses more precise parameters to transform from S-JTSK to WGS 84. This affects to following codes:
  • EPSG:2065
  • EPSG:4156
  • EPSG:4818
  • EPSG:5221
  • EPSG:5513
  • EPSG:5514

Bug fixLucy (LuciadLightspeed)

LUCY-4937
TLcyARINCAddOn: fixed an issue that prevented saving a decoded workspace with ARINC data.

Bug fixLucy (LuciadLightspeed)

LUCY-4932
TLcyToolBar: fixed a popup menu visibility issue when working with ILcdActions that automatically hide themselves.

Bug fixLuciadLightspeed

LCD-11789
TLcdLonLatLine and TLcdLonLatHeightLine didn't have correct bounds. They could either be too small or too large. This has now been aligned with the bounds calculation of TLcdLonLatPolyline and TLcdLonLatHeightPolyline, so they have correct and tight-fitting bounds.

Bug fixLuciadLightspeed

LCD-11787
The order of line and polygon symbolizers within an SLD rule was not always respected during rendering in a Lightspeed view.

Bug fixLuciadLightspeed

LCD-11777
Fixed a regression caused by SLD enhancement LCD-11733, resulting in the behavior that an SLD PerpendicularOffset was no longer taken into account for basic line styles in a Lightspeed view.

Bug fixLuciadLightspeed

TLspLayerTreeNodeCellRenderer did not always correctly calculate its enabled state when using a 3D world reference.

Bug fixLuciadLightspeed

LCD-11768
When using a world reference with a TLcdLambertConformal projection, geometries were sometimes painted incompletely.

Bug fixInfrastructure Standards

LCD-11778
Fixed an IndexOutOfBoundsException that would occur when processing an OBJ that contained multiple object names.

2020.1

2020.1.20

ImprovementLuciadLightspeed

LCD-11733
The SLD Lightspeed implementation now supports adding a gap in pixels at the start and/or end of a line geometry. This capability can be enabled on a TLcdSLDLineSymbolizer by configuring the SLD vendor options with name startGap and endGap. Both take a value in pixels that defines the size of the gap.

Bug fixLuciadLightspeed

LCD-11739
TLcdGXYIconPainter#paint now sets a default Graphics stroke before painting its icon. This avoids unexpected rendering effects caused by stroke changes from other painters.

Bug fixLuciadLightspeed

LCD-11767
TLspShapeLayerBuilder: fixed a memory leak that could occur when using a TLspComplexStrokedLineStyle with a text decoration.

Bug fixLuciadLightspeed

LCD-11765
TLcdWFSProxyModel's builder did not accept a feature type name String containing a prefix.

Bug fixLuciadLightspeed

LCD-11757
Fixed an issue that prevented decoding GeoPackage files containing a data table with a name that started with a number or contained special characters. This would previously result in an unrecognized token error.

Bug fixLuciadLightspeed

LCD-11754
TLsp3DIconStyle.ScalingMode.VIEW_SCALING now respects the print feature scale and display scaling.

Bug fixLucy (LuciadLightspeed)

LUCY-4931
TLcyPrintAddOn/TLcyLspPrintAddOn: the zoom combo box now works again.

Bug fixLuciadLightspeed

LCD-11738
The last ALspController in the controller chain now consumes the JavaFX events after handling them. This solves the issue where tab panes stole the focus of the contained TLspFXView.

Bug fixLuciadLightspeed

LCD-11748
Using an SLD raster symbolizer containing both a gray channel selection and a color map did not work for floating point elevation data.

Bug fixAdvanced Raster Connectors

LCD-11762
TLcdGDALModelDecoder left files open even after ILcdModel#dispose was called. As a result, decoded files could not be renamed or removed until the JVM process exited.

2020.1.19

ImprovementLuciadLightspeed

LCD-11741

Bug fixLuciadLightspeed

LCD-11746
Fixed an issue that prevented the use of multiple SLD geometry functions inside one SLD rule in a Lightspeed view.

Bug fixLuciadLightspeed

LCD-11745
Fixed a regression that caused the optional SLD geometry functions startPoint and endPoint to be no longer working in GXY views since version 2019.1.01 and beyond.

2020.1.18

ImprovementLuciadLightspeed

LCD-11736
TLcdWKTReferenceParser now supports "Australian 1984" (and variants) as alias for AGD84.

Bug fixLuciadLightspeed

LCD-11737
TLcdOGCModelReferenceFormatter and TLcdCRSReferenceFormatter would incorrectly format references similar to, but different from NAD83 as CRS:83.

Bug fixLuciadLightspeed

LCD-11734
TLcdEPSGReferenceFormatter: WKT strings using the NAD83 (National Spatial Reference System 2011) datum and without TOWGS84 parameter were incorrectly formatted as an EPSG code using an other NAD83 version.

Bug fixLuciadLightspeed

LCD-11494
The first record in a ShapeFile written by TLcdShpTiler now starts with record number 1, as prescribed in the shapeFile technical specification. Previously, record numbers would start at 0.

Bug fixAviation Standards

LCD-11732
The decimal part of an AIXM 5.1 vertical distance value that used a comma instead of a dot as decimal separator was ignored.

Bug fixAviation Standards

The AIXM 5.1 features AircraftStand, StandMarking and GuidanceLineMarking were not painted on terrain, causing the features to disappear on a 3D view in case terrain data was loaded.

2020.1.17

Bug fixLuciadLightspeed

LCD-11729
The tiled WMS proxy painter (TLspTiledWMSProxyPainter) made during initialization a single GetMaprequest to the WMS server on the Event Dispatch Thread (EDT) used for the Lightspeed view. This could make the UI of the application unresponsive. This was only noticeable when using a slow WMS server.

2020.1.15

ImprovementLuciadLightspeed

LCD-11719
The detection of using a fall-back reference has improved in the WMS client painting. In case the map reference is Mercator it now falls back on Pseudo-Mercator when Mercator is not supported but Pseudo-Mercator is. Vice-verse when the map reference is Pseudo-Mercator falls back on Mercator if needed.

ImprovementLuciadLightspeed

LCD-10211
It is now possible to create connections with an SQLite database when also decoding GeoPackage or other sqlite based formats. The sqlite driver used by LuciadLightspeed to decode these sqlite formats no longer conflicts with the regular sqlite driver.

ImprovementLucy (LuciadLightspeed)

LUCY-4927
TLcyHelpAddOn can now also open online documentation.

ImprovementLuciadLightspeed

LCD-11706
Improved the visualization of TLcdLonLatBuffer and TLcdLonLatHeightBuffer on GXY views (using TLcdGXYGeoBufferPainter) and 2D Lightspeed views.

Bug fixLuciadLightspeed

LCD-11725
TLcdMercator and TLcdPseudoMercator: Fixed an issue where points on the date line were transformed incorrectly.

Bug fixLucy (LuciadLightspeed)

LUCY-4929
TLcyCSVAddOn import dialog: an auto-detected Z coordinate column could not be disabled. This has been fixed.

Bug fixLuciadLightspeed

LCD-11703
TLspLabelPainter and TLspEditController: fix a few small memory leaks. When removing a domain object from a model, that object could sometimes not be garbage collected.

Bug fixAdvanced Raster Connectors

Fixed bug where decoding a .sid image with the TLcdMrSIDModelDecoder would eventually produce an image with the wrong colors in a GXY view due to incorrect processing of the alpha channel.

Bug fixAdvanced Raster Connectors

Fixed a threading issue that could lead to a JVM crash when disposing an ECW model.

Bug fixDefense Standards

LCD-11711
Nested NITF segments (with ALVL>0) now correctly inherit their parents' reference if they don't define one themselves.

Bug fixMaritime Standards

LCD-11666
Fixed an issue when displaying AML data: in some cases, disjoint edges where connected, causing an incorrect display of lines.

Upgrade considerationDefense Standards

LCD-11716
TLcdNITFModelDecoder.decodeImageBounds now has the display and attachment level of the image segment bounds to decode as additional arguments.

2020.1.13

Bug fixLuciadLightspeed

TLcdCurveConnectorUtil.connectCompositeRing threw an exception when an empty composite ring was supplied.

Bug fixLuciadLightspeed

Fixed an issue that prevented users from creating more than one instance of TLspExternalView.

Bug fixLuciadLightspeed

The fallback vector layer factory for GXY views created layers that did not take into account the layer visibility when an out-of-scale red hatching pattern was drawn. This vector layer factory is registered on TLcdServiceLoader with low priority; aligned with TLcdServiceLoader's priority mechanism, it is returned and used when there is no registered layer factory with a higher priority (for instance, a format-specific layer factory) available.

Bug fixAviation Standards

LCD-11715
The AIXM 5.1 feature ApronMarking was not painted on terrain, causing the feature to disappear on a 3D view in case terrain data was loaded.

2020.1.12

ImprovementLuciadLightspeed

LCD-11695, LUCY-4921
The TLcdSHPModelEncoder now uses UTF-8 by default for writing DBF files, which supports non-latin text characters as well. It also writes the used charset to a CPG file now.

ImprovementLuciadLightspeed

LCD-11541
Added new method TLspFXView#getImage. This method returns a snapshot of the view after making sure that it is completely (re-)painted if it was invalidated before.

ImprovementAviation Standards

LCD-11676
The AIXM 5.1 layer factory for GXY views, TLcdAIXM51GXYLayerFactory, now also supports creating layers for model containers that includes multiple AIXM 5.1 models. The resulting layer is a layer tree node that includes a layer for each AIXM 5.1 model in the container.

ImprovementInfrastructure Standards

LCD-11580
The 3D Tiles Processing Engine will now automatically fallback to a black color when input textures could not be decoded. Previously this would cause the entire process to abort. Instead an error is logged on the console and the faulty image is replaced with a fallback texture containing a black color.

ImprovementInfrastructure Standards

LCD-11692
The 3D Tiles Processing engine will now automatically pick up material with transparent color and output this in the resulting 3D Tiles dataset. You no longer have to explicitly force it to encode to the png file format.

ImprovementInfrastructure Standards

LCD-11673
TLcdTilesProcessorBuilder#outputPath will now automatically append a file separator if it was not and the end of the output directory string. Previously this would end up with corrupted output datasets.

Bug fixLuciadLightspeed

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

Bug fixLuciadLightspeed

LCD-11688
Fixed memory leak in native memory, that was triggered by resizing a TLspSwingView or TLspFXView.

Bug fixLuciadLightspeed

LCD-11684
Fixed an issue in TLcdGeoPackageModelEncoder that prevented the encoding of vector data with a primary key property that is not of type long.

Bug fixOGC Server

LCD-11702
The WMS in the OGC server sample samples.ogc.server.StartOGCServices always advertised world bounds for models that were not of type ILcd2DBoundsIndexedModel - which is for example the case for SQLite-based formats such as GeoPackage. The bounds calculation logic has now been improved to be able to advertise accurate bounds in these cases.

Bug fixWeather & Environment Standards

LCD-11709
Fixed an exception when trying to visualize some NetCDF data sets. This exception occurred during the creation of a color map when the min and max data values that are estimated for that dataset are equal.

Bug fixAviation Standards

LCD-11693
The style property of an AIXM 5.1 MarkingElement was not taken into account during visualization; this defines whether a line-based marking should be rendered with a solid, dashed or dotted line style.

Bug fixAviation Standards

LCD-11672
Fixed a geometry edge case in the handling of AIXM 5.1 airspace volumes containing one or more segments located at the poles. This could lead to a self-intersecting airspace geometry, which prevented the use of the airspace in an airspace aggregation.

Bug fixDefense Standards

LCD-11687
Fixed an issue where NITF 2.10 files with NBPPBV or NPPBH equal to zero could not be decoded, even if NBPR and NBPC are equal to 1.

Bug fixDefense Symbology

LCD-11698
Fixed issue with the hashcode calculation of Direction of Movement arrow icons in that could cause NullPointerException when painting icons in Lightspeed views.

Bug fixInfrastructure Standards

LCD-11595
Fixed an issue in 3D Tiles Processing Engine that would prevent OBJ files from being encoded in temporary cache files coming from multiple sources. This fixes the "Mesh can only have one source path" exceptions thrown when processing large input dataset with many input OBJ files at close proximity.

Bug fixMaritime Standards

LCD-11707
Fixed an issue with selecting S57 area icons in the GXY view. If the icons were anchored, or a-symmetrical, they were difficult to select.

Bug fixMaritime Standards

LCD-11690
Changed the display name of the TLcdS52DisplaySettingssafetyContour property to Safety contour. It used to be incorrectly labeled Shallow contour.

2020.1.11

ImprovementDefense Symbology

LCD-11665
NVG now accepts xml namespaces with added or missing trailing slashes in the URI of the xmlns attribute. For example, the Dublin-Core metadata namespace should be defined as xmlns:dc="http://purl.org/dc/elements/1.1/", but we now also accept xmlns:dc="http://purl.org/dc/elements/1.1".

Bug fixLuciadLightspeed

LCD-11681
The use of an SLD text symbolizer for raster data was not supported in GXY views.

Bug fixLuciadLightspeed

LCD-11669
The creation of a property-based OGC filter condition through TLcdOGCFilterFactory.property failed in case of subsequents calls for both GML 2 and GML 3.1 properties. This could cause errors when trying to load and visualize both GML 2 and GML 3.1 data on a map.

Bug fixAviation Standards

LCD-11671
Fixed a geometry edge case in the handling of AIXM 5.1 airspace volumes containing one or more segments based on a geographical border. This could lead to a self-intersecting airspace geometry, which prevented the use of the airspace in an airspace aggregation.

Bug fixDefense Symbology

LCD-11664
Fixed issue where a point list was cast to a com.luciad.symbology.app6a.model.ILcdRestrictedLengthPointList instead of a com.luciad.symbology.milstd2525b.model.ILcdRestrictedLengthPointList in TLcdEditableMS2525bObject.

Bug fixDefense Symbology

LCD-11670
Fixed the spelling of the security.classification metadata tag (was security.classifcation).

2020.1.10

ImprovementLuciadLightspeed

LCD-11650
It is now possible to customize the maximum length of a HTTP GET request sent by the OGC clients, by means of the System property com.luciad.ogc.ows.model.TLcdOWSHttpTransport.maxGetQueryLength. This is mainly relevant for the WMS and WFS clients, which can generate large requests. When the maximum length is reached (default is 2048 characters), a HTTP POST query is used instead if supported by the server. Adjusting the maximum length can be useful to improve interoperability with servers that do not support HTTP POST.

Bug fixLuciadLightspeed

LCD-11661
Fixed an issue where the undo functionality wouldn't work correctly after modifying a polyline or polygon that was created using a continuous drag motion.

Bug fixLuciadLightspeed

LUCY-4915
The BlackLime Look and Feel used by Lucy Map Centric and a few samples did not link Copy/Paste behavior to Ctrl+c/v on some platforms.

Bug fixLuciadLightspeed

LF-2069
Setting the resource metadata on a TLcdModelMetadata.Builder object no longer clears the data categories if the resource metadata doesn't contain any.

Bug fixLucy (LuciadLightspeed)

LUCY-4916
Lucy: fixed a performance bottleneck when repeatedly invoking ALcyProperties#subset. This could also lead to reduced performance when opening several files at the same time.

Bug fixOGC Server

LCD-11651
The WMS layer name included in the metadata of each feature in a GeoJSON GetFeatureInfo response was not correct in case the WMS layer combined multiple data sources.

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