This page shows the release notes of older versions up until the point that the new version was released. For a full list of release notes of an old version, consult the documentation of that version.
For example if you want to see what is fixed in each 2019.1.x patch release, consult the release notes in the documentation of the 2019.1 release.
2023.0
2023.0
Upgrade considerationTerrain Analysis Engine
TLcdVVTerrainProfileModel
and TLcdUpdateTerrainModelAction
have been deprecated in favor of the more capable TLcdVVTerrainModel
.
The corresponding vertical view sample has been removed.
2021.1
2021.1.13
Bug fixTerrain Analysis Engine
LCD-12292
GXY hypsometry layers now correctly process missing or unknown data for earth tile sets. Previously, areas without elevation
data could be incorrectly colored.
2021.1.10
ImprovementTerrain Analysis Engine
LCD-11680
The hypsometry layer in the lightspeed hypsometry sample now more smoothly updates when using the hypsometry controls for
a specific elevation layer.
2021.1.03
Bug fixTerrain Analysis Engine
LCD-12047
Fixed a bug that caused an ArrayIndexOutOfBoundsException when calling
TLcdLOSCoverageFactory.createLOSCoverageRaster
.
This could happen in certain scenarios when the provided LOS coverage has a max radius that is not a multiple of the radius
step.
2021.0
2021.0.11
Bug fixTerrain Analysis Engine
LF-2170
The description of the TEA sample has been updated to use the correct url for the API documentation.
2021.0
ImprovementTerrain Analysis Engine
The TEA sample service has been updated to make use of the LuciadFusion API to add additional service types.
TEA services can now be created within LuciadFusion Studio like all other services.
This means that the data in a TEA service no longer needs to be configured in a configuration file,
but instead uses data available within LuciadFusion Studio.
2019.1
2019.1
ImprovementTerrain Analysis Engine
TLcdAltitudeMatrixViewFactory
: a new overloaded version of
createPathAltitudeMatrixView
has been added which retrieves the elevation values for the point of an ILcdCurve
from the
curve itself,
instead of relying on an altitude provider.
ImprovementTerrain Analysis Engine
TLcdAltitudeDescriptor
and TLcdVisibilityDescriptor
: added generics to
the map of special values.
Bug fixTerrain Analysis Engine
Explicitly set the default elevation mode in
TLspLOSCoverageStyle.Builder
to ElevationMode.ABOVE_ELLIPSOID
.
2019.0
2019.0
Upgrade considerationTerrain Analysis Engine
TLspLOSProperties
has been made final.
This class was never designed to be extended and to make that clear the class has been made final.
2018.1
2018.1.12
Bug fixTerrain Analysis Engine
LF-1729
Fixed an issue where the TEA sample was not able to access the LTS service that was created on the same LuciadFusion Platform
application.
2018.1.08
ImprovementTerrain Analysis Engine
LCD-10525
TLcdLOSCoverageFactory.createLOSCoverageContours
now creates contours that wrap around if
the angle arc spans 360 degrees. It does this even if the angle step is not a divisor of 360.
2018.1
ImprovementTerrain Analysis Engine
In LOS calculations, the maximum radius and radius step implicitly define the radius sample distances.
These are the distances (in meters) from the center of the LOS coverage at which to sample to perform the calculations.
Now, radius sample distances can be configured directly via a new property on
TLspLOSProperties
.
This allows you to use your own custom sampling scheme. For example, using small steps close to the center of the
coverage and larger steps farther away could help increase the total range without impacting performance and accuracy much.
ImprovementTerrain Analysis Engine
LCD-10266
TLspLOSCalculator
now allows LOS calculations to be interrupted.
Bug fixTerrain Analysis Engine
LCD-9036
The
TLcdColorMap
configured on a TLspLOSCoverageStyle
can be gradient
or piecewise constant. When piecewise constant, the invisible and unknown color configured on the
TLspLOSCoverageStyle
were not applied correctly.
To specify the invisible or unknown color, use invisibleColor
or unknownColor
on TLspLOSCoverageStyle.Builder
respectively when building the style.
2017.1
2017.1.01
ImprovementTerrain Analysis Engine
LCD-9461
TLspLOSCoverageStyle now has a zOrder property to configure the relative ordering of the style with respect to other
styles in the same layer. This can be useful when there are overlapping LOS coverages in a layer in a 2D view.
2017.1
ImprovementTerrain Analysis Engine
The samples for the LuciadFusion Platform have been extended with a more extensive sample using the
Terrain Analysis Engine.
The sample integrates two web services: one providing the height at a given location
and the other providing a line of sight calculation.
Have a look at the LuciadFusion Platform Developer's Guide for a start point on this sample.
2017.0
2017.0.02
Bug fixTerrain Analysis Engine
LCD-9249
Fixed a bug that caused TLcdBoundedCompositeViewshed to not always return the correct visibility.
2016.1
2016.1.18
ImprovementTerrain Analysis Engine
LCD-8744
Support for image elevation data has been added to hypsometry.
2016.1.02
ImprovementTerrain Analysis Engine
LCD-8116
Slightly improved performance of the Lightspeed distance over terrain sample.
ImprovementTerrain Analysis Engine
LCD-8255
The GXY and Lightspeed visibility samples now recompute the visibility when the shapes are edited.
2016.0
2016.0
ImprovementTerrain Analysis Engine
LCD-6229
Added sample code for various TEA components using a Lightspeed view. The following samples now have a Lightspeed equivalent:
- Contours
- Distance Over Terrain
- Extreme Points
- Visibility
2015.1
2015.1.12
ImprovementTerrain Analysis Engine
LCD-7238
Some minor corrections to the developer guide.
2015.1
ImprovementTerrain Analysis Engine
LCD-6302
Added TLcdLOSOptions object. This object allows you to configure certain aspects of the result of a propagation function
for our 3 main propagation-functions: TLcdLOSRadarPropagationFunction, TLcdLOSRadarPropagationFunctionSkyInBackground
and TLcdLOSPropagationFunctionFixedHeight. The TLcdLOSOption object allows you to create LOS Coverage matrices in a
low memory mode. This mode reduces memory used by TLcdLOSCoverageFactory while calculating LOS coverages, at a slight
performance cost. TLcdLOSOption also allows you to configure the internal data format used to represent the final
LOS coverage values.
2015.0
2015.0.01
ImprovementTerrain Analysis Engine
LCD-1838
Improved default tooltips of TLcdTerrainProfileController and TLcdTerrainRulerController.
ImprovementTerrain Analysis Engine
LCD-5285
Improved the behavior of TLspLOSCalculator with respect to native memory used by OpenCL. Native memory is now
recycled instead of re-allocated for OpenCL parameters.
ImprovementTerrain Analysis Engine
LCD-6328
TLspLOSCalculator now checks for the case when the altitude provider returns NaN for the centerpoint of the LOS Coverage.
Bug fixTerrain Analysis Engine
LCD-3397
Fixed incorrect references in the Tea developer guide to point to correct samples.
Bug fixTerrain Analysis Engine
LCD-6326
Improved LOSLayerFactory.LOSModelEventMediator sample code to correctly handle model changes in the Lightspeed LOS sample.
2014.1
2014.1.07
Bug fixTerrain Analysis Engine
LCD-6292
Fixed an issue that would cause the UNKNOWN color of a LOS coverage to be invisible instead of the set color. This
only applied to Lightspeed views when the LOS coverage was not draped.
2014.0
2014.0.08
Bug fixTerrain Analysis Engine
LCD-5818
The dispose method of TLspLOSCalculator now also destroys the OpenCL context it is attached to (if any).
2014.0.05
ImprovementTerrain Analysis Engine
LCD-5469
Improved performance of ellipsoidal LOS calculations when using TLcdLOSCoverageFactory, by caching certain values
needed to calculate the ILcdLOSCoverageMatrix.
ImprovementTerrain Analysis Engine
LCD-5468
The javadoc for ILcdLOSPropagationFunction now clarifies that it the LOS Propagation function itself does
not calculate or modify the associatedPointX and associatedPointY of its created ILcdLOSCoverageMatrix instances.
This allows certain performance optimizations to be applied to certain LOS coverages in the same area.
2014.0.01
ImprovementTerrain Analysis Engine
LCD-5480
TLspLosCoverageStyle now supports setting a color for invisible areas. This color is by default transparent.
The OpenCL Line-Of-Sight computation now correctly outputs ILcdLineOfSightCoverage.LOS_INVISIBLE_VALUE
for areas that are invisible. TLspLOSCoveragePainter now correctly visualizes these areas with the invisible
color set on the styler.
Bug fixTerrain Analysis Engine
LCD-5480
The OpenCL Line-Of-Sight computation could in some cases return the wrong result for invisible areas. This has been fixed.
2013.1
2013.1.40
ImprovementTerrain Analysis Engine
LCD-5228
TLcdVisibilityStatus now has a toString() method for convenience.
2013.1.26
ImprovementTerrain Analysis Engine
LCD-5034
When using OpenCL (such as for Terrain Analysis Line-Of-Sight), the Lightspeed backend now gives priority to
devices that support double precision and are GPU's (in that order). This change ensures that the best
device is chosen for the job, while maintaining optimal precision and performance.
2013.1
ImprovementTerrain Analysis Engine
TLspLOSCoveragePainter now supports the use of ALspStyleTargetProvider.
ImprovementTerrain Analysis Engine
Added support for earth tilesets for GXY-based hypsometry. A new painter has been introduced for this: TLcdHypsometricEarthPainter.
This painter is capable of performing hypsometric visualization on top of an elevation-based earth tileset.
Bug fixTerrain Analysis Engine
LCD-4420
TLcdHeightProviderAdapter could return incorrect heights when passing a point in a difference
reference than the reference of the adapted height provider.
2013.0
2013.0.23
Bug fixTerrain Analysis Engine
LCD-4361
Fitting on a layer now works for the case when a layer contains ILcdLOSCoverageMatrices indirectly through style
target providers.
2013.0.21
ImprovementTerrain Analysis Engine
LCD-4333
TLcdViewProfileJPanel: Improved behavior when component is resized.
ImprovementTerrain Analysis Engine
LCD-4331
TLcdViewProfileJPanel: You can now determine whether mouse-interactions result in a change in height, by using
the setChangeAltitudeOnInteraction() method. You can also determine whether the observer height is visualized
by using the setVisualizeMarkPoint() method.
Bug fixTerrain Analysis Engine
LCD-4330
TLcdViewProfileJPanel: Simple Line-of-Sight visualization now works when regular Line-of-Sight is turned off.
2013.0.17
ImprovementTerrain Analysis Engine
TLcdProfileViewJPanel now supports setting a target height. Locations on the terrain are considered
visible if the sum of the terrain height plus the target height remains smaller than the minimal
visible height at that point, looking from the observer's point.
2013.0.14
ImprovementTerrain Analysis Engine
LCD-4117
TLcdProfileViewJPanel#calculateLineOfSight now programmatically triggers the line-of-sight functionality.
Bug fixTerrain Analysis Engine
LCD-4112
Fixed issue with the simple Line-of-Sight calculation offered by the TLcdProfileViewJPanel. This would (for certain values)
be inconsistent
with the regular Line-of-Sight computation. The simple line of sight calculation now uses the same precision as the regular
Line-of-Sight.
Simple Line-of-Sight can be called programatically with the TLcdProfileViewJPanel.calculateVisibility() method. The result
of the
method depends on the TLcdProfileViewJPanel.setMarkPoint() and TLcdProfileViewJPanel.setAltitudeAboveGroundForLineOfSight()
methods.
2012.1
2012.1.15
ImprovementTerrain Analysis Engine
LCD-3725
You can now fit on layers containing ILcdLOSCoverageMatrices.
2012.1.13
Bug fixTerrain Analysis Engine
LCD-3603
Fixed problem with the creation of rasters based on LOS calculations using nearest neighbour sampling. The nearest neighbour
sampling could be wrong in some cases. This has now
been fixed.
2012.1.06
Bug fixTerrain Analysis Engine
LCD-3485
Lightspeed Line-of-Sight: Fixed issue with certain single-precision ATI cards that would cause numerical instability when
the maximum vertical angle was set
to PI.
2012.1.04
ImprovementTerrain Analysis Engine
LCD-3433
Made ALcdLOSCoverageMatrix.retrieveAssociatedPointX() more robust. It now normalizes the angle before it retrieves the data.
2012.0
2012.0.07
ImprovementTerrain Analysis Engine
LCD-1767, LCD-1833
Made it easier make the LOS Coverage Input Shape 360 degrees after it was modified in arc angle size. This
change only affects the LOS lightspeed sample.
Bug fixTerrain Analysis Engine
LCD-1787
Fixed the ripple pattern in the visualization of the LOS coverage using the TLspLOSCoveragePainter that would
occur when simulating very large LOS coverages of several thousand kilometres in diameter.
2012.0.06
ImprovementTerrain Analysis Engine
The LOS sample now uses arc bands instead of circles as the input shape. This
allows you to visually edit the range of the LOS calculation.
Bug fixTerrain Analysis Engine
LCD-1623
Fixed an inconsistency between the hardware accelerated and non-hardware accelerated LOS calculations, where
(for some conditions) the hardware accelerator would calculate one less column in the resulting
coverage matrix.
2012.0.04
Bug fixTerrain Analysis Engine
LCD-1532
Fixed a potential NullPointerException in TLcdHeightProviderAdapter.
2012.0.03
ImprovementTerrain Analysis Engine
LCD-1443
Improved TLspLOSCalculator class documentation.
Bug fixTerrain Analysis Engine
LCD-1439
Fixed issue with the hardware accelerated TLspLOSCalculator that would miscalculate the center
of the LOS coverage in the case when the minimum vertical angle was set to 0.
2012.0
ImprovementTerrain Analysis Engine
Added the com.luciad.tea.lightspeed.hypsometry package. This package contains various classes
to perform hardware accelerated hypsometry calculations for increased performance. The package
also contains Lightspeed painters for the hypsometry calculations, so the hypsometric functions
can be viewed in the new Lightspeed views.
ImprovementTerrain Analysis Engine
Added com.luciad.tea.lightspeed.los package. This package contains various classes to perform
hardware accelerated LOS calculations for increased performance. The com.luciad.tea.lightspeed.los.view
package has been added to be able to paint LOS calculations (including LOS calculations based on
older implementations) in new Lightspeed views.
11.0
11.0.27
Bug fixTerrain Analysis Engine
LMAP-5946
TLcdProfileViewJPanel no longer throws warnings when used with a reference that does not contain geoid information.
11.0.01
ImprovementTerrain Analysis Engine
LMAP-5568
The TLcdTerrainViewshedFactory and the TLcd3DMeshViewshedFactory now implement ILcdStatusSource,
as the creation of viewshed for these factories can take up some time. This interface can be
used to receive status updates from the factories.
11.0
ImprovementTerrain Analysis Engine
Added the com.luciad.tea.viewshed package. This package contains functionality to calculate
visibility and shadows for 3D scenes such as urban environments and terrain.
Bug fixTerrain Analysis Engine
Prevented TEA from generating duplicate warnings while creating point to point visibility
for a large number of points.
10.1
10.1.28
ImprovementTerrain Analysis Engine
LMAP-5438
Built in fail-safe for special extreme values of vertical angles to prevent overflow
of calculation data on calculations beyond the limit of doubles in LOS computations.
10.1.12
Bug fixTerrain Analysis Engine
LMAP-5050
TLcdVVTerrainProfileModel sometimes updated itself too late after receiving a model change event.
This could lead to exceptions when drawing the model in a vertical view.
10.1.05
ImprovementTerrain Analysis Engine
LMAP-5060
Added warnings in TLcdLOSCoverageFactory for the case when results are wanted in
altitude mode ABOVE_GEOID, where the target geo reference does not include information
about the geoid itself.
10.1
ImprovementTerrain Analysis Engine
TLcdLOSCoverageFactory has a new createLOSCoverageContours method, which takes two arrays
of doubles instead of one. This allows giving a separate array of level values and special
values, so that it can treat contours around height values and special values differently.
The resulting contours are disjoint complex polygons instead of regular polygons. This allows
painting them with translucency because the complex polygons don't overlap.
Bug fixTerrain Analysis Engine
LMAP-4622
Fixed height line of sight could give a numerical problem when maximum vertical angle was a value
near 180 degrees.
Bug fixTerrain Analysis Engine
LMAP-4170
TLcdRasterMatrix: a numerical problem was fixed that caused row and column indices at certain
edges to be treated as being outside the matrix.
10.0
10.0.14
Bug fixTerrain Analysis Engine
LMAP-4634
The result of line of sight with TLcdLOSRadarPropagationFunction could be wrong behind the radar
if vertical radar tilt was used. This has been fixed.
Bug fixTerrain Analysis Engine
LMAP-4567
The progress counter status events of TLcdLOSCoverageFatory#createLOSCoverageRaster didn't go
correctly from 0% to 100% when the nearest neighbour method was used. This has been fixed.
10.0.09
Bug fixTerrain Analysis Engine
LMAP-4533
Fixed a contradiction in the Javadoc of ALcdTerrainElevationProvider.
Bug fixTerrain Analysis Engine
LMAP-4062
The Javadoc of TLcdProfileViewJPanel and ILcdProfileView is slightly updated.
10.0.03
Bug fixTerrain Analysis Engine
LMAP-4200
Line of sight: in rare cases a numerical precision problem caused the last angle of a LoS coverage
matrix to be not calculated. This has been fixed.
Bug fixTerrain Analysis Engine
LMAP-4056
Line of sight fixed height: when the maximum vertical angle was set to 180, an erroneous half circle
of cone of silence values was produced.
10.0
ImprovementTerrain Analysis Engine
The profile view is updated with the ability to draw a 2D representation of the line of sight
around a point. The new line of sight behaviour can be enabled or disabled with setLineOfSightEnabled.
The old line of sight behaviour, which was activated with a right mouse click, can be enabled or
disabled with setSimpleLineOfSightEnabled. By default, the old behaviour is enabled and the new
behaviour is disabled.
ImprovementTerrain Analysis Engine
LMAP-2390
TLcdLOSCoverageFactory: the raster creation in nearest neighbor mode now uses the center point
of the raster pixel instead of the lower left corner to find the raster value. To revert to the
old behavior, use the system properties 'com.luciad.tea.TLcdLOSCoverageFactory.useLowerLeftCorner'
and set it to 'true'.
ImprovementTerrain Analysis Engine
LMAP-3401
The hypsometric sample has been extended to show how to access hypsometry values directly.
9.1
9.1.02
Bug fixTerrain Analysis Engine
LMAP-1979
The hypsometric painters now also use the unit of measure to compute the elevation scale.
This scale is a rough estimate for computing the normals, based on the transformed bounds.
9.1.01
ImprovementTerrain Analysis Engine
LMAP-3658
TLcdProfileViewJPanel: the left altitude label of the profile view could overlap with the
minimum or maximum label.
Bug fixTerrain Analysis Engine
LMAP-3660
TLcdDensityBasedRasterElevationProvider: the raster cache was not always updated when required.
9.1
ImprovementTerrain Analysis Engine
TLcdViewBasedTerrainElevationProvider has been introduced, which is exactly the same as
TLcdGXYViewBasedTerrainElevationProvider but works with ILcdView's instead of ILcdGXYView's.
As a consequence, TLcdGXYViewBasedTerrainElevationProvider no longer extends ALcdRasterTerrainElevationProvider
directly but extends TLcdViewBasedTerrainElevationProvider.
Bug fixTerrain Analysis Engine
LMAP-3651
The line-of-sight computation could produce a ArrayIndexOutOfBoundsException, due to a
rounding error computing the number of angular steps.
9.0
9.0.19
ImprovementTerrain Analysis Engine
LMAP-3484
TLcdExtremePointFinder: the performance of the extreme point computation has been improved.
9.0
ImprovementTerrain Analysis Engine
TLcdCoverageAltitudeMode: the altitude modes ABOVE_ELLIPSOID and ABOVE_GEOID have been added
to represent heights relative to a reference ellipsoid or geoid.
ImprovementTerrain Analysis Engine
TLcdLOSPropagationFunctionFixedHeight: support is added for an ABOVE_GROUND fixed height.
Upgrade considerationTerrain Analysis Engine
ILcdLOSRadarPropagationFunction: support has been added for radars with a tilt angle.
8.2
8.2.26
Bug fixTerrain Analysis Engine
LMAP-3139
TLcdGXYViewBasedTerrainElevationProvider: a NullPointerException exception could occur when the
elevation provider is initialized with an ILcdGXYView and an ALcdTerrainElevationProvider.
8.2
Bug fixTerrain Analysis Engine
LMAP-2857
TLcdLOSPropagationFunctionFixedHeight: the propagation now returns a correct result when both the minimum and
maximum vertical angles are larger than 90 degrees.
8.1
8.1.04
Bug fixTerrain Analysis Engine
LMAP-2760
TLcdP2PCoverageFactory: the methods getFromPointHeightAboveGround and getToPointHeightAboveGround of the created
ILcdExtendedPoint2PointIntervisibility object used to return an incorrect value when the corresponding altitude
mode in the P2PCoverage is set to ABOVE_GROUND_LEVEL.
Bug fixTerrain Analysis Engine
LMAP-2756
TLcdLOSPropagationFunctionFixedHeight: the propagation now returns a correct result when the maximum vertical
angle is set to 180.
8.1.03
Bug fixTerrain Analysis Engine
TLcdP2PCoverage: The method Object.equals( Object ) has been overridden to compare all coverage settings instead
of only the object instance. This fix also adds caching support to the ILcdExtendedPoint2PointIntervisibility
objects created in the TLcdP2PCoverageFactory.
8.1
ImprovementTerrain Analysis Engine
TLcdAltitudeMatrixViewFactory, TLcdExtremePointFinder, TLcdVisibilityMatrixViewFactory: these computations now
support interrupted threads. The computations now return the intermediate result when the thread, on which they
are run, is interrupted.
ImprovementTerrain Analysis Engine
TLcdLOSCoverageFactory: these computations now support interrupted threads. The computations now return null
when the thread, on which they are run, is interrupted.
Bug fixTerrain Analysis Engine
TLcdAltitudeMatrixViewFactory: the interpolated path method did not interpolate between all segment points.
8.0
8.0.12
Bug fixTerrain Analysis Engine
TLcdP2PRadarPropagationFunction, TLcdP2PRadarPropagationFunctionSkyBackground: both propagation functions now
return TLcdVisibilityStatus.INVISIBLE when one of the defining points lies beneath the terrain.
8.0.11
Bug fixTerrain Analysis Engine
TLcdDensityBasedRasterElevationProvider: it could happen that an elevation value was returned from another
raster than the best density one.
Bug fixTerrain Analysis Engine
LMAP-2643
TLcdTerrainProfileController: the background of the label now uses the correct dimension, also if the user sets a
font with a different size.
8.0.09
Bug fixTerrain Analysis Engine
LMAP-2640
TLcdMatrixViewRasterFactory: createEquivalentRaster now also sends out END_BUSY status events.
8.0.07
Bug fixTerrain Analysis Engine
TLcdExtremePointFinder: Support was added to find the extreme points in a matrix view with only 1 column or row.
Bug fixTerrain Analysis Engine
TLcdAltitudeMatrixViewFactory: the create methods now convert special altitude values defined by the altitude
provider to special altitude values defined by the descriptor of the altitude matrix view.
8.0
ImprovementTerrain Analysis Engine
TLcdProfileViewJPanel: support is added to set the location of the mark to a point located at a fraction
of a profile segment.
ImprovementTerrain Analysis Engine
Support is added to compute the extreme points within a shape. More information on these computations can be
found in the developer guide and in the reference guide of the classes com.luciad.tea.TLcdExtremePointFinder.
ImprovementTerrain Analysis Engine
Support is added to compute a shape-to-shape visibility. More information on these computations can be found
in the developer guide and in the reference guide of the classes com.luciad.tea.TLcdAltitudeMatrixViewFactory
and com.luciad.tea.TLcdVisibilityMatrixViewFactory.
ImprovementTerrain Analysis Engine
TLcdProfileViewJPanel: the user can now change the color of the profile view using the method setValidColor().
7.2
7.2.05
Bug fixTerrain Analysis Engine
TLcdTerrainProfileController: Used to throw a NullPointerException when a PropertyChangeEvent is fired and the
view is set to null.
7.1
7.1
ImprovementTerrain Analysis Engine
TLcdVVTerrainProfileRenderer displays unknown altitude values with a different color than known altitude values.
Before it was not possible to distinguish zero altitude values and unknown altitude values.
ImprovementTerrain Analysis Engine
TLcdTerrainProfileController: adding support to show or hide labels corresponding to the different invalid
altitude values.
ImprovementTerrain Analysis Engine
ALcdRasterTerrainElevationProvider: this class now support different invalid altitude values. The value
'outOfRasterBoundsValue' corresponds to points which lie outside the bounds of the source raster. The value
'unknownElevation' corresponds to elevation values of points for which the raster does not contain a valid
raster value, it is not inside the interval [minimumValidRasterValue,maximumValidRasterValue].
ImprovementTerrain Analysis Engine
LMAP-1019
Line-of-sight computations now support pluggable propagation functions. Four propagation functions are provided:
- com.luciad.tea.TLcdLOSRadarPropagationFunction to compute visual or radar line of sight on an earth modeled as a sphere,
- com.luciad.tea.TLcdLOSRadarPropagationFunctionSkyBackground to compute where one is visible with sky in the background.
- com.luciad.tea.TLcdLOSPropagationFunctionFixedHeight to compute the visibility at a given height above the ground,
Upgrade considerationTerrain Analysis Engine
TLcdVVTerrainProfileModel: the methods minZ and maxZ can return a Double.NaN, a Double.NEGATIVE_INFINITY or
a Double.POSITIVE_INFINITY when invalid elevations are found.
7.0
7.0.11
ImprovementTerrain Analysis Engine
TLcdProfileViewJPanel displays unknown altitude values with a different color than known altitude values. Before it was
not possible to distinguish zero altitude values and unknown altitude values.
7.0.05
Bug fixTerrain Analysis Engine
The line-of-sight computation was sometimes not complete when the arc angle is different from 360 and the center
point reference is different than the target reference. Although all computations were performed, they were not all
included in the resulting raster.
7.0
ImprovementTerrain Analysis Engine
A new hypsometric value provider (TLcdHypsometricCrease) is added which computes the ridges and/or valleys of a terrain.
6.2
6.2.17
ImprovementTerrain Analysis Engine
TLcdTerrainProfileController: adding getter and setter to adjust the default TLcdGXYViewBasedTerrainElevationProvider.
Bug fixTerrain Analysis Engine
The TLcdDensityBasedRasterElevationProvider will always use the best density raster to retrieve the elevation values.
Also when this raster contains invalid data.
6.2.04
Bug fixTerrain Analysis Engine
TLcdProfileViewJPanel: the visibility lines are only calculated if a mark point has been set. The mark point can be
set by left clicking the profile view.
Bug fixTerrain Analysis Engine
TLcdProfileViewJPanel: the profile is cleared when the TLcdTerrainProfileController recieves a mouse click.
6.2
ImprovementTerrain Analysis Engine
The package com.luciad.tea.hypsometry has been added, providing hypsometric functionality like computation and
visualization of slope, orientation, and azimuth.
ImprovementTerrain Analysis Engine
Unknown, invalid and negative raster values are now handled more consistent. Raster values smaller than -20km or
larger than 20km are assumed to be invalid. In those cases, an elevation value of Double.NaN is used. Please refer
to the class TLcdElevationUtil for more information.
Upgrade considerationTerrain Analysis Engine
All classes have been improved to handle negative elevations and unknown
elevations in a consistent way. Unknown elevations are now returned as
Double.NaN, for the sake of the efficiency and simplicity of any code that
processes elevations.
6.0
6.0.14
Bug fixTerrain Analysis Engine
The line-of-sight computation was not complete when the raster was to be filled and the start angle was negative.
Although all computations were performed, they were not all included in the resulting raster.
Bug fixTerrain Analysis Engine
The line-of-sight computation for a point and its environment sometimes produced a ArrayIndexOutOfBoundsException,
due to a rounding error computing the number of angular steps.
Bug fixTerrain Analysis Engine
The bounds of the result of a line-of-sight computation between a point and its surroundings were incorrect when the outer
arc
of the area to compute was such that its bounds did not include the center, e.g. start angle equal to 35, arc angle
equal to 45.
6.0.07
Bug fixTerrain Analysis Engine
The vertical view profile sometimes had a gap beneath the main profile points. The smaller the distance between 2
consecutive points, the larger the gap was. This was due to a slight miscalculation of the stepLengthRatio
for the points.
5.3
5.3
ImprovementTerrain Analysis Engine
TLcdTerrainRulerController is an TLcdAdvancedMapRulerController extension which takes into account the terrain
underneath when computing the distance between consecutive points.
ImprovementTerrain Analysis Engine
TLcdTerrainDistanceUtil is a utility class that calculates the distance between two points taking into account the
terrain underneath. To this end a terrain elevation provider (ALcdTerrainElevationProvider) and a segment scanner
(ILcdSegmentScanner) should be provided. The segment scanner determines the path to follow between the two points.
The terrain elevation provider provides the elevation data for the intermediate points generated by the segment
scanner.
ImprovementTerrain Analysis Engine
TLcdGXYViewBasedTerrainElevationProvider and TLcdVVTerrainProfileModel no longer keep a strong
reference from the listener they add to an associated object to themselves (requires Java 1.2 or
above to be available).
This simplifies garbage collection of these classes. Prior to this
enhancement, it was necessary to use TLcdGXYViewBasedTerrainElevationProvider.setGXYView( null )
or TLcdVVTerrainProfileModel.setPointListGXYLayer( null ) to make sure a
TLcdGXYViewBasedTerrainElevationProvider or TLcdVVTerrainProfileModel were garbage collected
when the (terrain) layers were still used elsewhere.
5.2
5.2
ImprovementTerrain Analysis Engine
TLcdP2PFactory and TLcdRadarP2PFactory have been enhanced. They have the ability to
- support points in any reference,
- support terrain data in any reference,
- control the sampling rate of the underlying terrain data,
- return a point list in any given reference.
ImprovementTerrain Analysis Engine
TLcdLOSFactory and TLcdRadarCoverage have been enhanced. They have the ability to
- support center points in any reference,
- support terrain data in any reference,
- return LOS/radar rasters in any reference, with a pixel density independent of the underlying terrain data,
- return LOS/radar rasters which contain minimum or maximum or nearest neighbor values,
- return LOS/radar rasters which contain altitudes above terrain or above mean sea level (AMSL),
- control the sampling rate of the underlying terrain data.
ImprovementTerrain Analysis Engine
The profile view and the vertical view support negative altitudes (depths).
Bug fixTerrain Analysis Engine
Line-of-sight rasters now also create images. As a result they can now also be painted by no warp raster painters.
5.1
5.1.04
Bug fixTerrain Analysis Engine
TLcdProfileViewJPanel no longer throws exceptions when the mouse is dragged and no profile is set yet.
5.0
5.0.03
ImprovementTerrain Analysis Engine
2 factories:
- com.luciad.tea.TLcdRadarP2PFactory
- com.luciad.tea.TLcdRadarCoverageFactory
4.2
4.2.04
ImprovementTerrain Analysis Engine
All heights greater than 32765 are regarded equal to 0. This has
an effect on line-of-sight computations when data is missing.
4.2
ImprovementTerrain Analysis Engine
Several classes have updated and extended reference documentation (Javadoc).
Bug fixTerrain Analysis Engine
TLcdGXYViewBasedTerrainElevationProvider did not take into account the
property 'UseOnlyVisibleLayers' correctly. This could cause a null pointer exception.
4.0
4.0.05
Bug fixTerrain Analysis Engine
Point-to-point line-of-sight computations take into account the unknown value for DTED data.
4.0
ImprovementTerrain Analysis Engine
com.luciad.tea.ALcdTerrainElevationProvider provides height values for terrain. Extensions in the com.luciad.tea.package are:
- TLcdDensityBasedRasterElevationProvider
- TLcdFixedLevelBasedRasterElevationProvider
- TLcdGXYViewBasedTerrainElevationProvider
- TLcdProfileGenerator
- TLcdTerrainSegmentScanner
3.0
3.0.14
Bug fixTerrain Analysis Engine
com.luciad.tea.TLcdVVTerrainProfileModel takes
into account multiple DTED rasters which are contained in the
same model.
3.0.10
Bug fixTerrain Analysis Engine
com.luciad.tea.TLcdVVTerrainProfileModel takes
into account multiple DTED rasters. The profile is
displayed for all polyline segments which do not
cross raster boundaries.
Bug fixTerrain Analysis Engine
com.luciad.tea.TLcdTerrainProfileController works
over multiple DTED rasters.
3.0
Bug fixTerrain Analysis Engine
When 2 contour levels computed with com.luciad.tea.TLcdContourFinder are exactly the same, the lower of the two was not painted.
2.1
2.1
ImprovementTerrain Analysis Engine
Height contours based on raster maps can now be painted on maps.
ImprovementTerrain Analysis Engine
com.luciad.tea.TLcdTerrainProfileController and com.luciad.tea.TLcdTerrainProfileUtil can now also take height values of non
visible layers into account.
Bug fixTerrain Analysis Engine
Line-of-sight rasters can now take multiple DTED raster into account, part of the same layer or dispersed over several layers.
Bug fixTerrain Analysis Engine
Line-of-sight rasters with a radius over 250 km were not painted. This was caused by an integer overflow.