2024.0.10
Bug fixLuciadLightspeed
LCD-13597
Bug fixLuciadLightspeed
LCD-13594
Bug fixLucy (LuciadLightspeed)
LUCY-5070
TLcyLspMapAddOn
: fixed an issue where the visibility of the terrain exaggeration slider
could be incorrect after loading a workspace.
Bug fixOGC Server
LCD-13592
GetFeature
requests
with a property name filter in case the source data did not have an explicit identifier (such as SHP files).
Bug fixInfrastructure Standards
LF-2651
TLcdRevitModelDecoder
did not properly mark the Revit
files referenced by a '.rvt.index' dataset as support files.
Bug fixInfrastructure Standards
LCD-13596
ILcdModel
returned by the TLcdRevitModelDecoder
no longer contains the '.rvt' extension for '.rvt.index' datasets.
2024.0
2024.0.09
Bug fixLuciadLightspeed
LCD-10234
TLcdGeoPackageFeatureDatabaseModelEncoder
now allows to add extensions to existing files.
Bug fixLuciadLightspeed
LCD-13575
TLcdGeoTIFFModelDecoder
when using GeoTIFF tags.
A user defined reference with Mercator projection ignored the parameter ProjNatOriginLatGeoKey
.
Bug fixAviation Standards
LCD-13578
schemaLocation
attribute that referred to accessible
XML Schemas for AIXM 5.1.1-related namespaces could result in a model with an incorrect
TLcdDataModel
. This could lead to a NullPointerException
in the
AIXM 5 visualization logic, which relies on the data model to find an appropriate style for an AIXM 5 feature type.
Bug fixAviation Standards
LCD-13568
Bug fixDefense Symbology
LCD-13567
TLcdNVG15ArcBand
and TLcdNVG20ArcBand
objects.
Upgrade considerationInfrastructure Standards
LCD-13551
2024.0.08
ImprovementOGC Server
LCD-13516
HTTP 500 Internal Error
responses when any exception occurs during painting.
You can enable this behavior by setting the system property com.luciad.fusion.wms.server.errorResponseOnPaintException
to true
.
ImprovementAviation Standards
LCD-13565
- http://www.aixm.aero/schema/5.1/extensions/EUR/iNM/EAD-Audit
- http://www.aixm.aero/schema/5.1/extensions/EUR/iNM/EAD-ADN
- http://www.aixm.aero/schema/5.1/extensions/EUR/iNM/EAD-ADR
- http://www.aixm.aero/schema/5.1/extensions/EUR/iNM/NaturalDescriptor
ImprovementDefense Symbology
LCD-13485
TLcdEditableMS2525bObject
and TLcdEditableAPP6AObject
to clearly mention the different supported SIDC code formats.
ImprovementInfrastructure Standards
LCD-13551
REGION
entities. They will be decoded as
TLcdDWGSurface
objects.
ImprovementInfrastructure Standards
LCD-13545
lcd_revit.jar
have been moved into a new
lcd_binz_connector.jar
.
Bug fixLuciadLightspeed
LCD-13559, LCD-13560
TLcdWKTReferenceFormatter
and TLcdWKTReferenceParser
for
Cartesian references that don't use meter as distance unit.
Additionally, the parser will now use the conversion parameter that is provided in the WKT string to transform the unit to meter, even if the unit was not previously known or registered.
Bug fixDefense Symbology
LCD-13537
Bug fixDefense Symbology
LCD-13550
TLcdAPP6AObjectCustomizer
and the TLcdMS2525bObjectCustomizer
,
that could result in a NullPointerException
being thrown when quickly changing combobox values multiple times one after another.
Bug fixInfrastructure Standards
LCD-13529
TLcd3DTilesProcessorBuilder
: fixed a possible performance degradation when processing a
referenced dataset.
Bug fixInfrastructure Standards
LCD-13549
TLcdIFCModelDecoder
did not properly handle the material transparency
defined on IfcSurfaceStyleShading
and IfcIndexedColourMap
elements.
Upgrade considerationInfrastructure Standards
LCD-13552, LF-2631
TLcdRevitModelDecoder
. This upgrade brings the following new features and enhancements:
- Fixes a decoding crash for some Revit files
- Contains several improvements to the generated Revit metadata
2024.0.07
ImprovementLuciadLightspeed
LF-2560
ImprovementLuciadLightspeed
LF-2560
Bug fixLuciadLightspeed
LCD-13445
TLcdBingMapsModelDecoder
: resolved an issue where unexpected parameters in the Bing Maps template URL could trigger a parse exception.
Bug fixLuciadLightspeed
LCD-13533
Bug fixInfrastructure Standards
LCD-13501
TLcdIFCModelDecoder
showed wrong material information in specific
use cases.
2024.0.06
Bug fixOGC Server
LCD-13525
2024.0.05
ImprovementInfrastructure Standards
LCD-13506
TLcdRevitModelDecoder
with respect to textured materials.
Bug fixLuciadLightspeed
LCD-13496
TLcdGeoPackageModelDecoder
, TLcdLVDBModelDecoder
and TLcdSpatiaLiteModelDecoder
now are able to correctly resolve the srs_id
of data when the name of the table or column containing the spatial data contains non ASCII characters.
Bug fixOGC Server
LCD-13508
GetCapabilities
request:
- The parameter was not supported for WCS 1.1 POST requests.
- The parameter was not validated for WCS 1.0 GET and POST requests.
Bug fixOGC Server
LCD-13510
GetFeature hits
request.
Bug fixDefense Standards
LCD-13500
TLcdNITFModelDecoder
can now process image blocks with differing width and height,
meaning they no longer need to be square.
2024.0.04
ImprovementLuciadLightspeed
LCD-13270
ImprovementAdvanced Raster Connectors
LCD-13456
TLcdGDALModelDecoder
can now handle data in which the image is
rotated relative to the axes of the model reference. In this case a fitted (also called "derived") projected
ILcdGridReference
will be returned as a model reference.
ImprovementAdvanced Raster Connectors
LCD-13455
TLcdGDALModelDecoder
will now decode a ILcdModelTreeNode
if the data contains subdatasets.
ImprovementInfrastructure Standards
LCD-13486
Bug fixLuciadLightspeed
LCD-13477
PointSymbolizer
can now be disabled.
This capability can be activated on a TLcdSLDPointSymbolizer
by configuring an SLD vendor option
with name allowEditing
and value false
.
Bug fixLuciadLightspeed
LCD-13476, LCD-13470
LCD-13438
have been reverted. An alternative solution is provided through LCD-13477
.
Bug fixLuciadLightspeed
LCD-13424
ILcdModel
instances created by the TLcdGeoPackageModelDecoder
on fields that start with a number.
Bug fixLuciadLightspeed
LCD-12862
TLcdSemanticsOp
contain nodata values but the original semantics did not, they will now be taken into account in further processing.
This means pixel values matching the nodata value do not participate in any further operations. These pixels will not be
displayed when visualized on screen.
Bug fixOGC Server
LCD-13475
- Dimensions with an axis without a unit.
- Dimensions with strings as possible values.
Bug fixReal-time Engine
LCD-13487
TLspContinuousLabelingAlgorithm
didn't handle edited labels correctly anymore. Such labels
were, for example, not correctly moved when colliding with one of the view's edges, or with another label. This was
a regression that was introduced in the first LuciadLightspeed 2022.1 release.
Bug fixDefense Symbology
LCD-11416
Upgrade considerationLuciadLightspeed
LCD-13414
Fixed a potential deadlock when modifying the ILcdCollection
that is returned by
ILspInteractivePaintableLayer#getObjectsWithPaintState
, while holding a write lock on that
collection. To fix this, ILcdCollection
(and by extension ILcdList
)
now have additional methods that allow specifying an ILcdFireEventMode
when performing
modifications. By using the ILcdFireEventMode.FIRE_LATER
event mode, collection change
events are fired after the write lock has been released.
We recommend scanning your codebase for any custom usages of
ILspInteractivePaintableLayer#getObjectsWithPaintState
and making sure that
any modifications to this collection happen within a write lock, while the change events are only fired after
that write lock has been released. An example code snippet on how to do this can be found in the
ILspInteractivePaintableLayer#getObjectsWithPaintState
method javadoc.
2024.0.03
New featureInfrastructure Standards
LCD-13337
Please refer to the Filtering BIM data article for more information.
ImprovementLucy (LuciadLightspeed)
LUCY-5067
ImprovementLuciadLightspeed
LCD-12583
ImprovementLuciadLightspeed
LCD-10417
TLcdGeoPackageModelDecoder
and TLcdGeoPackageModelEncoder
now have support for the following geometry types:
MULTICURVE |
MULTISURFACE |
CURVEPOLYGON |
COMPOUNDCURVE |
ImprovementLucy (LuciadLightspeed)
LUCY-5066
ALcyApplicationPaneTool
now tries to save and decode the application pane content
into the workspace, provided that there is an appropriate codec.
This is illustrated in MapCentricModelCustomizerAddOn
.
ImprovementLuciadLightspeed
LCD-13464
ImprovementOGC Server
LCD-13447
GetFeature
POST requests has now been
aligned between all WFS versions: similar as for WFS 1.x requests, spatial filters in WFS 2.0 POST requests are now
decoded and transformed to the geographic reference of the requested WFS feature type. For GET requests, this was already
the case.
ImprovementDefense Symbology
LCD-3155
TLspIconStyle
.
ImprovementInfrastructure Standards
LCD-13408
TLcd3DTilesProcessorBuilder
: Now uses all registered ILcdModelReferenceDecoder
instances when searching for external model reference files.
Bug fixLucy (LuciadLightspeed)
LUCY-5065
java.desktop/javax.swing
,
which resolves a problem when editing properties in floating panels that use the JIDE docking framework.
Bug fixLuciadLightspeed
LCD-13347
com.luciad.sqlite.cacheMode
system property allows the user to provide the cache mode used by sqlite driver.
Possible values are private
and shared
, with private
being the default value.
Bug fixLuciadLightspeed
LCD-13474
TLcdEPSGReferenceParser
parsed the TOWGS84 rotation incorrectly for some EPSG codes.
Coordinate references using the following datums are affected:
- IG05/12 Intermediate Datum (EPSG:1144)
- World Geodetic System 1984 (G730) (EPSG:1152)
- World Geodetic System 1984 (Transit) (EPSG:1166)
- CR-SIRGAS (EPSG:1225)
- Sistem Referensi Geospasial Indonesia 2013 (EPSG:1293)
- International Terrestrial Reference Frame 1992 (EPSG:6651)
Bug fixLuciadLightspeed
LCD-13351
TLcdSphereUtil#closestPointOnGeodesic
and TLcdSphereUtil#closestDistanceToGeodesic
didn't always produce correct results.
Bug fixLuciadLightspeed
LCD-11876
TLcdGeoTIFFModelDecoder
and TLcdMIFModelDecoder
for data that makes use of the "Amersfoort / RD New" reference (EPSG:28992).
Bug fixLuciadLightspeed
LCD-10789
TLcdLambert1972BelgiumGridReference
now aligns more closely to the definition of
EPSG:31300 in the EPSG database. This improves the precision of this reference by a few millimeters.
Bug fixLuciadLightspeed
LCD-10790
TLcdWKTReferenceParser
and
TLcdEPSGReferenceParser
now don't return an instance of
TLcdLambert1972BelgiumGridReference
anymore because it deviates from the definition of
EPSG:31370.
Bug fixLuciadLightspeed
LCD-13448
TLcdGeorefUtil
: fixed a rounding error that could occur when parsing a GEOREF coordinate.
Bug fixLuciadLightspeed
LCD-13438
PointSymbolizer
can only be enabled when the geometry is an ILcdPoint
.
This avoids unwanted behavior when editing is enabled in combination with an SLD style containing multiple symbolizers.
Bug fixLuciadLightspeed
LCD-13427
TLcdCartesian#orientation2D
no longer throws an exception when passing an empty point list.
This also improves the robustness of the TLcdGeoJsonModelEncoder
.
Bug fixLuciadLightspeed
LCD-13407
xsd:anyType
elements with a built-in XML data type
that is specified using xsi:type
.
Bug fixLuciadLightspeed
LF-2200
Bug fixLuciadLightspeed
LCD-10813
TLcdGeoPackageModelDecoder
now correctly handles the CIRCULARSTRING
geometry type as a collection of zero or more continuous circular arc segments and
the TLcdGeoPackageModelEncoder
is able to encode a ILcdCompositeCurve
containing multiple ILcdCircularArcBy3Points
instances to CIRCULARSTRING
.
Bug fixLuciadLightspeed
LCD-13460
Bug fixLuciadLightspeed
LCD-13449
ArrayIndexOutOfBoundsException
when accessing DTED data through the
ILcdRaster
API.
This could occur when using the TLcdDTEDDirectoryModelDecoder
with lazy
DTED tile loading and when the DTED file deviates from the DTED specification.
Bug fixLuciadLightspeed
LCD-6862
TLcdTABRasterModelDecoder
could throw a RuntimeException
instead of an
IOException
when decoding a TAB
for raster data not supported by JAI.
Now it throws an IOException
with a more clear message.
Bug fixLuciadLightspeed
LCD-12749
TLcdBandColorSemanticsBuilder
ignored the specified no data value when building from a color model.
Bug fixLuciadLightspeed
LCD-13377
Bug fixLuciadLightspeed
LCD-13429, LCD-13432
UnsupportedOperationException
.
Bug fixLuciadLightspeed
LCD-13431
GoogleCRS84Quad
tile matrix set that used a reference with a lat/lon axis order.
This prevented the layer from being visualized on the map.
Bug fixLuciadLightspeed
LCD-13379
TLcdOGC3DTilesModelDecoder
: fixed an issue when opening Luciad Point Cloud datasets
by passing a file URL.
Bug fixLuciadLightspeed
LCD-13413
lcd_epsg_resources.jar
) could not be loaded in an OSGi environment.
Bug fixDatabase Connectors
LCD-13280
TLcdOracleSpatialModelDecoder
no longer uses the SDO_COLUMN_NAME
column of the
USER_SDO_INDEX_METADATA
view to determine the dimension of the spatial index, because this column is not always present.
Bug fixOGC Server
LCD-13434
Bug fixOGC Server
LCD-13423
Bug fixAviation Standards
LCD-13435
NullPointerException
when it was visualized in a Lightspeed view.
Bug fixDefense Symbology
LCD-13411
- The outline of the area is now drawn with a solid stroke instead of a dashed stroke
- The hostile indicator ("ENY") is now rendered in the outline stroke, when the symbol's affiliation is set to 'Hostile'
Bug fixDefense Symbology
LCD-13394
arrow
element,
where the "crossover" point would be located at the tail of the arrow instead of at the tip of the arrow.
Bug fixDefense Symbology
LCD-13412
Bug fixInfrastructure Standards
LF-2520
TLcd3DTilesProcessorBuilder
: fixed an issue where TIFF textures could end up missing in the
output.
Bug fixInfrastructure Standards
LCD-13457
TLcd3DTilesProcessorBuilder
: fixed a possible crash issue when handling textures with indexed
colors.
Bug fixInfrastructure Standards
LCD-13352
Bug fixInfrastructure Standards
LCD-13472
TLcdIFCModelDecoder
did not revert the direction of a trimmed
IfcLine
or IfcPolyline
when necessary.
Bug fixInfrastructure Standards
LCD-13471
TLcdIFCModelDecoder
now ignores elements with an IfcGridPlacment
.
A warning is logged when such elements are encountered.
Bug fixInfrastructure Standards
LCD-13298
TLcdCompositeModelDecoder
, when used in combination with a TLcdIFCModelDecoder
,
wasn't able to decode the IFC features datasource returned by the discoverDataSources
method.
Bug fixMaritime Standards
LCD-13463
ClassCastException
could happen when cloning a cell model bounds.
Bug fixTiling Engine
LF-2186, LF-2607
Upgrade considerationWeather & Environment Standards
LCD-13437
Upgrade considerationInfrastructure Standards
LCD-13400
TLcdRevitModelDecoder
. This upgrade brings the following new features and enhancements:
- Adds support for Revit 2025
- Fixes a decoding crash for some Revit files
- Contains several improvements to the generated Revit metadata
2024.0
New featureLuciadLightspeed
TLcdMBTilesModelDecoder
now also supports MBTiles services, next to files. To decode an MBTiles service you need to provide the TileJSON endpoint
as source.
An MBTiles service can for example be set up with LuciadFusion as of version 2024.0.
New featureLuciadLightspeed
colorReplace
and colorReplaceTolerance
in a
TLcdSLDRasterSymbolizer
. The new article
How to replace a color
illustrates this capability with an example.
New featureLuciadLightspeed
TLcdPixelReplaceOp
is a new image operator which replaces a given color or value in an
image with another. It can be used, for instance, to remove blank borders around an image by replacing them with
a transparent color.
New featureAdvanced Raster Connectors
LuciadFusion and LuciadLightspeed users can now visualize ECW images with any number of bands and any bit depth.
New featureOGC Server
New featureReal-time Engine
TLspRadarVideoLayerBuilder
now has the ability to work with radar feeds
whose angular or radial resolution are variable over time. This requires the user to manually
specify the resolution of the visualization, which is then effectively decoupled from that of
the data. The new method displayResolution()
on the layer builder is
used to enable this behavior. If called, the radar video layer will be fully robust against
all variations in the resolution of the incoming data.
New featureInfrastructure Standards
Added support for the Autodesk Revit data format. Autodesk Revit is a BIM software tool for architects, engineers, and construction professionals to model shapes, structures, and systems in 3D.
For more details, see the Autodesk Revit entry in the Data Formats documentation section
ImprovementLuciadLightspeed
The following new system properties let users configure reference decoder priority for the following model decoders:
TLcdGeoTIFFModelDecoder
:com.luciad.format.raster.TLcdGeoTIFFModelDecoder.referenceDecoderPriority
TLcdLASModelDecoder
:com.luciad.format.las.TLcdLASModelDecoder.referenceDecoderPriority
TLcdE57ModelDecoder
:com.luciad.format.e57.TLcdE57ModelDecoder.referenceDecoderPriority
The priority decides whether the model reference decoding is first attempted from the reference information embedded in the data file and then fall back to external reference source files such as WKT (.prj), REF (.ref) and EPSG (*.epsg) in case of an error or vice versa when the other reference decoder priority is selected.
For more information on how to configure the reference decoder priority for supported
ILcdModelDecoder
implementations, refer to the following article:
Setting model reference decoder priority
ImprovementLuciadLightspeed
LCD-13341
TLcdGeoPackageModelDecoder
to
provide the correct display names in TLcdDataModelDisplayNameProvider#getDisplayName(TLcdDataProperty)
.
ImprovementLuciadLightspeed
ImprovementLuciadLightspeed
LCD-13289
TLcdGXYTiledWMSProxyPainter
and TLspTiledWMSProxyPainter
.
Customizing tile grid references can be useful to align with a server-defined tile grid reference used for caching of requests.
ImprovementLuciadLightspeed
ImprovementLuciadLightspeed
LCD-8681, LCD-13260
TLcdDataProperty#getSourceName
, which contains the property name as it was
defined in the source data. This may differ from the actual name of the property within the
TLcdDataType
, because that name can contain only alphanumeric characters and underscores,
and may therefore have been sanitized.
When building a data type, the source name of a property can be configured with a setter on the
TLcdDataPropertyBuilder
. Additionally, TLcdDataType#getProperty
now also checks this source name when searching a property that matches a given name.
The default TLcdDataModelDisplayNameProvider
has also been adapted to use this source
name by default, when retrieving a display name for a property.
Finally, The TLcdGeoJsonModelEncoder
now uses these source names by default as well,
when encoding data objects to GeoJSON features.
ImprovementLuciadLightspeed
LCD-9753
TLcdGeoPackageFeatureDatabaseModelEncoder
: encoding data objects with multiple geometry properties
now results in a clear error message, instead of a message indicating a unique constraint violation.
ImprovementOGC Server
LCD-13326
FILTER
parameter that operates like the WFS GetFeature FILTER parameter for both GetMap and GetFeatureInfo requests.
ImprovementOGC Server
LCD-9574
ImprovementAviation Standards
LCD-13371
ImprovementDefense Symbology
LCD-13199
A new style class, TLcdMilitarySymbolStyle
, has been added to the Military Symbology API.
This class can be used to define the symbol style of both APP-6 and MIL-STD-2525 symbols.
The usage is equivalent to the usage of the existing, standard specific style classes (TLcdDefaultAPP6AStyle
and TLcdDefaultMS2525bStyle
).
You can configure a symbol dependent style, by either having your domain objects implement ILcdStyledMilitarySymbol
or by defining a default style on your
painter providers or layers.
The following methods have been added to configure a TLcdMilitarySymbolStyle
on painter providers and layers:
TLcdAPP6AGXYPainterProvider.setDefaultMilitarySymbolStyle
TLcdAPP6AGXYLabelPainterProvider.setDefaultMilitarySymbolStyle
TLspAPP6ALayerBuilder.defaultStyle
TLspAPP6ASymbolStyle.Builder.militarySymbolStyle
TLcdMS2525bGXYLabelProvider.setDefaultMilitarySymbolStyle
TLcdMS2525bGXYLabelPainterProvider.setDefaultMilitarySymbolStyle
TLspMS2525bLayerBuilder.defaultStyle
TLspMS2525bSymbolStyle.Builder.militarySymbolStyle
TLspMilitarySymbologyLayerBuilder.defaultStyle
ImprovementInfrastructure Standards
discoverDataSources
method of TLcdIFCModelDecoder
now returns
a list of TLcdBIMDataSource
objects.
Bug fixLuciadLightspeed
LCD-13245
TLcdIOUtil#resolve
returned an incorrect result for source names starting with "jpip://".
The method now returns null
.
Bug fixLuciadLightspeed
LCD-13252
TLcdSLDFeatureTypeStylePainter
now implements ILcdGXYEditorProvider
,
which returns itself as ILcdGXYEditor
to edit objects in a GXY view. This better aligns with
the already implemented painter-related interfaces ILcdGXYPainter
and
ILcdGXYPainterProvider
.
Bug fixLuciadLightspeed
LCD-13231
TLcdEarthRepositoryModelDecoder
: improved the robustness when interrupting a thread
that was reading a tile repository. This improves compatibility with Java 21.
Bug fixLuciadLightspeed
LCD-13386
settings.xml
file was not used when deploying the license to the Maven repository.
Bug fixLuciadLightspeed
LCD-12748
TLcdGeoTIFFModelDecoder
for the case of data with photometric
interpretation RGB with additional sample values. The standard cases RGB(A) worked fine.
For the case with additional sample values the ALcdImage
band semantics did not include
information on the red, green, and blue channels. It would be interpreted as a greyscale image by the image painter.
Now the correct band semantics are reported which makes the image painter pick it up and render the file correctly.
Bug fixDatabase Connectors
LCD-4462
TLcdOracleSpatialModelDecoder
now uses the CS_SRS table to determine the ILcdModelReference
of the
decoded ILcdModel
when the ILcdModelReference
can not be determined using a list of pre-defined references.
Upgrade considerationLuciadLightspeed
TLcdIOUtil
, TLcdInputStreamFactory
,
and several model decoders.
Because of this, the following invalid data source paths may no longer be recognized:
- The colon ":" is no longer accepted in Windows file names.
- Spaces are no longer accepted in file URI's. They need to be escaped as described in the URI specification.
Upgrade considerationLuciadLightspeed
Upgrade considerationLuciadLightspeed
Upgrade considerationLuciadLightspeed
LCD-12921
The default behavior of a number of model decoders has been changed. We now enable support for vertical datums by default for a number of model decoders. The vertical datum support will cause the appropriate geoid height to be applied to data files of the affected formats, if the data advertises a vertical datum. In previous versions, we ignored the vertical datum advertised by data by default.
Using the geoid will result in the use of more accurate elevation values, at the cost of performance when processing the data.
The following data formats are affected by this change:
- DEM:
TLcdDEMModelDecoder
- DMED/DTED:
TLcdDMEDModelDecoder
,TLcdDTEDModelDecoder
,TLcdDTEDDirectoryModelDecoder
- ETOPO:
TLcdETOPOModelDecoder
- GeoTIFF:
TLcdGeoTIFFModelDecoder
- LAS/LAZ:
TLcdLASModelDecoder
- SwissDHM:
TLcdSwissDHMMatrixModelDecoder
Because the default behavior has changed for these formats, your data may be painted at a different height, which can cause misalignment with your other layers. For example, you may apply the geoid to points in a LAS file, which causes your LAS points to be painted at a different elevation. If you combine this LAS data with an inaccurate terrain layer, there may be overlap between your LAS points and the terrain layer. You should check that your data is still properly aligned with your other layers after upgrading.
The recommended way to fix such alignment issues is to make sure you use an accurate terrain layer and use the same geoid on all your layers with elevation data. You should also verify that all your elevation data advertises the correct vertical datum. Read our article on Detecting and fixing vertical datum issues for more details.
If you have different behavior then before, and you are sure that the old behavior is preferred, you can revert to the old behavior in the following ways:
- Disable geoid support for a specific model decoder, by calling the method
#setSupportGeoidDatums(boolean)
- Disable geoid support for all aforementioned model decoders, by setting the system property
com.luciad.geodesy.geoidSupport.LEGACY
totrue
.
Upgrade considerationLuciadLightspeed
LCD-13176
TLcdGXYImagePainter
, TLcdRasterPainter
, TLcdMultilevelRasterPainter
,
TLcdEarthGXYRasterPainter
, TLcdGXYTiledWMSProxyPainter
and TLcdWMSProxyGXYPainter
now apply brightness and contrast to raster layers with the same algorithm as Lightspeed's TLspRasterStyle
.
This used to be different but has now been aligned.
With the new behavior, the [0, 2] brightness value range covers the entire color brightness range (black to white).
The contrast setting offers a modifier on top for further tweaking.
Upgrade considerationLuciadLightspeed
The LuciadLightspeed and LuciadFusion APIs now use the Jakarta EE 10 API and Jakarta Servlet 6.0 API, where in previous releases
the Java EE 7 API and Java Servlet 3.1 API were used.
There are a few breaking changes in the new Jakarta Servlet 6.0 API, the main one being a rename of the javax.servlet
package to jakarta.servlet
.
Any LuciadLightspeed or LuciadFusion API that use classes from this package thus contain a corresponding breaking change.
The affected classes are mainly the classes implementing the OGC server standards (WM(T)S, WFS, etc).
Any compilation errors you encounter related to this change can typically be resolved by performing a find and replace operation.
Refer to the documentation on hardware and software requirements in the prerequisites section for more information.
Upgrade considerationLuciadLightspeed
Upgrade considerationLuciadLightspeed
LCD-9539
Group ID | Artifact ID | Old Version | New Version |
---|---|---|---|
com.fasterxml.jackson.core | jackson-annotations | 2.14.2 | 2.15.3 |
com.fasterxml.jackson.core | jackson-core | 2.14.2 | 2.15.3 |
com.fasterxml.jackson.core | jackson-databind | 2.14.2 | 2.15.3 |
com.google.protobuf | protobuf-java | 3.19.4 | 3.25.3 |
com.thetransactioncompany | cors-filter | 1.3.2 | 3.0 |
com.thetransactioncompany | java-property-utils | 1.6 | 1.17 |
jakarta.servlet | jakarta.servlet-api | 4.0.4 | 6.0.0 |
joda-time | joda-time | 2.8.1 | 2.10.10 |
org.apache.commons | commons-compress | 1.22 | 1.26 |
org.apache | commons-io | 2.6 | 2.15.1 |
org.apache.commons | commons-lang3 | 3.12.0 | 3.14.0 |
org.apache.xmlgraphics | batik-xml | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-util | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-transcoder | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-swing | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-svggen | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-svg-dom | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-script | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-shared-resources | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-parser | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-i18n | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-gvt | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-gui-util | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-ext | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-dom | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-css | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-constants | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-codec | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-bridge | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-awt-util | 1.16 | 1.17 |
org.apache.xmlgraphics | batik-anim | 1.16 | 1.17 |
org.apache.xmlgraphics | xmlgraphics-commons | 2.7 | 2.9 |
org.slf4j | slf4j-api | 1.7.36 | 2.0.9 |
org.postgresql | postgresql | 42.5.4 | 42.7.3 |
org.checkerframework | checker-qual | 3.5.0 | 3.42.0 |
The following dependencies have been added:
Group ID | Artifact ID | Version |
---|---|---|
org.locationtech | jts-core | 1.19.0 |
The following dependencies have been removed:
Group ID | Artifact ID | Version |
---|---|---|
com.vividsolutions | jts-core | 1.14.0 |
Upgrade considerationLuciadLightspeed
LCD-9539
JTS
library has been updated to version 1.19.0. Please note that this library is not backward compatible.
All classes have moved from com.vividsolutions.*
to org.locationtech.*
.
Upgrade considerationLuciadLightspeed
LCD-12881
Upgrade considerationLuciadLightspeed
LCD-10042
TLcdLRDBModelEncoder#SUPPORTED_COVERAGE_TYPES
is removed from the API.
Upgrade considerationAdvanced Raster Connectors
The class TLcdECWConfiguration
is now removed from the API to keep the API clean and
simple. If you were using this class, it is now required to use TLcdECWModelDecoder#getMaxCacheSize
and
TLcdECWModelDecoder#setMaxCacheSize
instead of similar methods exposed by
TLcdECWConfiguration
.
The class TLcdECWImageDecoder
is now removed from the API due to its limited capability
in supporting decoding of multi band and multi bit depth ECW data files. If you were using this class, it is now
required to use the enhanced TLcdECWModelDecoder
, which fully supports decoding
multi band and multi bit depth ECW data files. This updated decoder provides a more robust and versatile solution
for handling ECW data.
The previous
libecw-6.1.*.jar
libraries are now replaced by
ecw-6.1.0-native*.jar
containing the native libraries provided as part of ERDAS ECW JP2 SDK 6.1.0. This change also adds the
ecw-6.1.0.jar
library which contains the JNI bindings to access the
functionalities exposed by the packaged native libraries.
Upgrade considerationAdvanced Raster Connectors
TLcdGDALModelDecoder#setUnlockAllFormats(boolean)
and the system property com.luciad.format.gdal.unlockAllFormats
have been replaced
with the method TLcdGDALModelDecoder#setAllowUnverifiedFormats(boolean)
and the system property com.luciad.format.gdal.allowUnverifiedFormats
.
The old method would only unlock a specific set of whitelisted formats, whereas the new method will unlock any and all formats
for which a GDAL driver is found.
Upgrade considerationAdvanced Raster Connectors
TLcdGDALModelDecoder
can no longer decode Arc/Info Export E00 GRID files.
The GDAL library no longer offers supports for this format.
The jpeg, png16 and proj libraries are no longer loaded separately, they are now packaged with the gdal library.
Upgrade considerationDatabase Connectors
LCD-6130, LCD-8872
TLcdDataModel
of the TLcdDatabaseModelDescriptor
now maps columns of type CLOB
and TIMESTAMP
to the correct types, TLcdDatabaseDataTypes#ClobType
and TLcdDatabaseDataTypes#TimestampType
.
Data stored in a column of type TIMESTAMP
is now converted into an object of type java.sql.Timestamp
instead of a oracle.sql.TIMESTAMP
when loading data from an Oracle database.
Upgrade considerationDatabase Connectors
LCD-10712
TLcdMSSQLModelDecoder
and TLcdMSSQLModelEncoder
.
It's advisable to upgrade to a newer version of SQL Server if you are still using version 2008 or 2012.
Upgrade considerationDatabase Connectors
LCD-13196
TLcdOracleSpatialModelDecoder
, TLcdOracleSpatialModelEncoder
and TLcdOracleGeoRasterModelDecoder
.
These versions are no longer supported by Oracle, see the Oracle Lifetime Support Policy document.
It's advisable to upgrade to a newer version of Oracle database if you are still using any of these versions.
Upgrade considerationDatabase Connectors
LCD-13197
TLcdPostGISModelDecoder
and TLcdPostGISModelEncoder
.
These versions are no longer supported by the PostgreSQL Global Development Group, see the PostgreSQL Versioning Policy page.
It's advisable to upgrade to a newer version of PostgreSQL if you are still using any of these versions.
Upgrade considerationOGC Server
Group ID | Artifact ID | Old Version | New Version |
---|---|---|---|
org.springframework.boot | spring-boot | 2.7.14 | 3.2.1 |
org.springframework.boot | spring-boot-starter | 2.7.14 | 3.2.1 |
org.springframework.boot | spring-boot-autoconfigure | 2.7.14 | 3.2.1 |
org.springframework.boot | spring-boot-starter-jetty | 2.7.8 | 3.2.1 |
org.springframework.boot | spring-boot-starter-json | 2.7.14 | 3.2.1 |
org.springframework.boot | spring-boot-starter-logging | 2.7.14 | 3.2.1 |
org.springframework.boot | spring-boot-starter-web | 2.7.14 | 3.2.1 |
org.springframework | spring-aop | 5.3.29 | 6.1.2 |
org.springframework | spring-beans | 5.3.29 | 6.1.2 |
org.springframework | spring-context | 5.3.29 | 6.1.2 |
org.springframework | spring-core | 5.3.29 | 6.1.2 |
org.springframework | spring-expression | 5.3.29 | 6.1.2 |
org.springframework | spring-jdbc | 5.3.29 | 6.1.2 |
org.springframework | spring-tx | 5.3.29 | 6.1.2 |
org.springframework | spring-web | 5.3.29 | 6.1.2 |
org.springframework | spring-webmvc | 5.3.29 | 6.1.2 |
com.zaxxer | HikariCP | 4.0.3 | 5.0.1 |
org.ow2.asm | asm-commons | 9.4 | 9.6 |
org.ow2.asm | asm-tree | 9.4 | 9.6 |
com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.14.2 | 2.15.3 |
com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.14.2 | 2.15.3 |
com.fasterxml.jackson.module | jackson-module-parameter-names | 2.14.2 | 2.15.3 |
org.apache.tomcat.embed | tomcat-embed-el | 9.0.78 | 10.1.17 |
org.eclipse.jetty | jetty-client | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-http | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-io | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-plus | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-security | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-server | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-util | 9.4.50.v20221201 | 12.0.7 |
org.eclipse.jetty | jetty-xml | 9.4.50.v20221201 | 12.0.7 |
org.slf4j | jul-to-slf4j | 1.7.36 | 2.0.9 |
org.slf4j | slf4j-api | 1.7.36 | 2.0.9 |
org.apache.logging.log4j | log4j-api | 2.17.2 | 2.21.1 |
org.apache.logging.log4j | log4j-to-slf4j | 2.17.2 | 2.21.1 |
ch.qos.logback | logback-classic | 1.2.12 | 1.4.14 |
ch.qos.logback | logback-core | 1.2.12 | 1.4.14 |
org.yaml | snakeyaml | 2.0 | 2.2 |
jakarta.annotation | jakarta.annotation-api | 1.3.5 | 2.1.1 |
jakarta.websocket | jakarta.websocket-api | 1.1.2 | 2.1.1 |
The following dependencies have been added:
Group ID | Artifact ID | Version |
---|---|---|
org.eclipse.jetty.ee10 | jetty-ee10-annotations | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-plus | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-servlet | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-servlets | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-webapp | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-client | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-common | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-websocket-jakarta-server | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-websocket-jetty-server | 12.0.7 |
org.eclipse.jetty.ee10 | jetty-ee10-websocket-servlet | 12.0.7 |
org.eclipse.jetty | jetty-alpn-client | 12.0.7 |
org.eclipse.jetty | jetty-jndi | 12.0.7 |
org.eclipse.jetty | jetty-session | 12.0.7 |
jakarta.websocket | jakarta.websocket-client-api | 2.1.1 |
The following dependencies have been removed:
Group ID | Artifact ID | Version |
---|---|---|
org.eclipse.jetty | jetty-annotations | 9.4.50.v20221201 |
org.eclipse.jetty | jetty-continuation | 9.4.50.v20221201 |
org.eclipse.jetty | jetty-servlet | 9.4.50.v20221201 |
org.eclipse.jetty | jetty-servlets | 9.4.50.v20221201 |
org.eclipse.jetty | jetty-util-ajax | 9.4.50.v20221201 |
org.eclipse.jetty | jetty-webapp | 9.4.50.v20221201 |
org.eclipse.jetty.websocket | websocket-api | 9.4.50.v20221201 |
org.eclipse.jetty.websocket | websocket-client | 9.4.50.v20221201 |
org.eclipse.jetty.websocket | websocket-common | 9.4.50.v20221201 |
org.eclipse.jetty.websocket | websocket-server | 9.4.50.v20221201 |
org.eclipse.jetty.websocket | websocket-servlet | 9.4.50.v20221201 |
Upgrade considerationDefense Symbology
LCD-13140
The geometry type of a number of APP-6A/B Minefield symbols has been changed. These symbols were modeled as polygons, which required the symbol to have at least 3 anchor points to define the symbol's shape. To better align these symbols with the NVG geometry bindings specification, the geometry has now been changed to a point, which requires only a single anchor point to define the symbol's shape. The following symbols are affected by this change:
- 2.X.2.2.1.6.1 "Planned Minefield"
- 2.X.2.2.1.6.2 "Completed Minefield"
- 2.X.2.2.1.6.5 "Antitank (AT) Minefield"
- 2.X.2.2.1.6.6 "Scatterable Mines"
- 2.X.2.2.1.6.7 "Antipersonnel (AP) Minefield Reinforced With Scatterable With Self-Destruct Date-Time-Group"
- 2.X.2.2.1.6.8 "Scatterable Minefield (Antitank Mines) With Self-Destruct Date-Time-Group"
- 2.X.2.2.1.7 "Executed Volcano Minefield"
Upgrade considerationDefense Symbology
LCD-13138
Upgrade considerationDefense Symbology
LCD-13175, LCD-13300
The interfaces ILcdAPP6AStyle
and ILcdMS2525bStyle
,
and their implementations TLcdDefaultAPP6AStyle
and TLcdDefaultMS2525bStyle
have been deprecated.
If you need to create a symbol style, you should use the newly introduced class TLcdMilitarySymbolStyle
.
Upgrade considerationInfrastructure Standards
IFCPath
property of the elements in the features model returned by the TLcdIFCModelDecoder
has been deprecated. We recommended using the new AncestorPath
property instead which has
same value. The IFCPath
property is still included to maintain backwards compatibility with clients that
depend on it, but it will be removed in a future release.
Upgrade considerationInfrastructure Standards
TLcdRevitModelDecoder
.
Upgrade considerationInfrastructure Standards
The discoverDataSources
method of the TLcdBinzModelDecoder
now returns
a list containing two TLcdBIMDataSource
objects: one for the geometry model, and one for the
features model. Previously, it returned a list containing only a TLcdDataSource
for the geometry
model.
The following snippet can be used to get the geometry model for both the new and the previous version of this
discoverDataSources
method.
TLcdBinzModelDecoder decoder = new TLcdBinzModelDecoder();
List<? extends ILcdDataSource> dataSources = decoder.discoverDataSources("path/to/dataset.binz");
ILcdModel geometryModel = decoder.decodeSource(dataSources.get(0));
Upgrade considerationInfrastructure Standards
TLcdRevitModelDecoder
.
Upgrade considerationInfrastructure Standards
The following deprecated DGN classes have been removed from the LuciadLightspeed API:
- TLcdDGNMicroStationServlet
- TLcdDGNMicroStationModelDecoder
- TLcdDGNMicroStationDisplayInfo
- TLcdDGNMicroStationLevelSymbology
Any usage of these classes should be replaced by the TLcdDGNModelDecoder
.