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.
2024.0
2024.0.09
Bug fixAviation Standards
LCD-13578
Decoding an AIXM 5.1.1 file with a
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
The performance of evaluating AIXM 5.1.* XPath expressions inside OGC Filter conditions has been improved
significantly, producing results up to 4 times faster depending on the used XPath expressions and the
size of the OGC Filter.
2024.0.08
ImprovementAviation Standards
LCD-13565
Added support for AIXM 5.1.1 data defined in one of the following iNM AIXM 5.1.1
extension XML Schemas:
- 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
2024.0.03
Bug fixAviation Standards
LCD-13435
An AIXM 5.1 vertical structure feature with an empty vertical extent value triggered a
NullPointerException
when it was visualized in a Lightspeed view.
2024.0
ImprovementAviation Standards
LCD-13371
Upgraded the included EUR ADR AIXM 5.1(.1) XML Schema extensions from version 26.0 to version 27.0.
2023.1
2023.1.09
New featureAviation Standards
LCD-13285
The new method
TLcdDAFIFTATSRouteDecoder#setSplitByBatch
allows you to split
a DAFIFT ATS route with multiple batches into multiple ATS routes.
The new method
TLcdDAFIFModelDecoder#createModelDecodersForDataType
allows you to
return a specific model decoder for a specific data type. So if you're using
TLcdDAFIFModelDecoder
and you want split batches into separate ATS routes,
you can override
#createModelDecodersForDataType
and return
a custom
TLcdDAFIFTATSRouteDecoder
which is configured to split batches into separate routes.
2023.1.04
Bug fixAviation Standards
LCD-13223
The fix introduced by LCD-12852 introduced a regression for airspace compositions containing airspaces
of which the volume was defined by dependent airspaces.
2023.1.02
ImprovementAviation Standards
LCD-13185
Upgraded the included EAD ADR AIXM 5.1(.1) XML Schema extensions to support version 15.2.
2023.1.01
Bug fixAviation Standards
LCD-13183
The rendering of AIXM 5.1 holding patterns in GXY could trigger cut-off icons near the map borders.
This was especially visible when the data was visualized using a tiled WMS or WMTS service.
2023.0
2023.0.12
Bug fixAviation Standards
LCD-13088
Fixed a geometry edge case in the handling of AIXM 5.1 airspace compositions. Small inaccuracies in a composition
could prevent its use in a new airspace composition, causing the warning message
"Could not process airspace geometry SurfaceType[anonymous] due to an invalid topology".
2023.0.11
Bug fixAviation Standards
LCD-13087
Fixed the handling of an airspace segment that follows a geographical border for only one point.
2023.0.07
ImprovementAviation Standards
LCD-12950
A new package com.luciad.ais.model.finalapproachpath
has been added to AIS containing domain
objects to model a final approach path.
ImprovementAviation Standards
LCD-12950
A new DAFIFT decoder
TLcdDAFIFTPrecisionApproachPathDecoder
has been added to support
the decoding of Precision Approach Path objects. The data type of the decoded objects is
TLcdDAFIFTDataTypes#PrecisionApproachPath
, which extends from the new
FinalApproachPath
type in AIS.
Bug fixAviation Standards
LCD-12850
Made the calculation of the connection between an airspace segment and a geographical border more robust
to avoid a self-intersecting geometry. A self-intersecting geometry prevents the use of the airspace in an
airspace aggregation.
Bug fixAviation Standards
LCD-12852
Fixed a geometry edge case in the handling of AIXM 5.1 airspace compositions. A composition of several equal
airspaces could introduce small inaccuracies. This could prevent its use in a new airspace composition,
causing the warning message "Cause: found non-noded intersection between LINESTRING ... and LINESTRING ...".
2023.0.02
ImprovementAviation Standards
LCD-12842
The DAFIFT decoder
TLcdDAFIFTMinimumSectorAltitudeDecoder
now supports the decoding
of the MSA Type property, which gives information about the type of the terminal procedure of the record.
The property can be accessed via
TLcdDAFIFTSectorDataProperties#MSA_TYPE
.
2022.1
2022.1.09
ImprovementAviation Standards
LCD-12899
Fixed the decoding of AIXM 5.1 data defined using the FAA SubscriberFile extension. This extension is used
by the NASR data distribution available at https://www.faa.gov/air_traffic/flight_info/aeronav/aero_data/NASR_Subscription/.
ImprovementAviation Standards
LCD-12901
Improved the visualization of AIXM 5.1 InformationService features: the features are now painted on terrain
with an appropriate AIS icon that indicates the presence of a communication service.
2022.1.07
Bug fixAviation Standards
LCD-12845
Fixed a geometry edge case in the handling of AIXM 5.1 airspace compositions. Small inaccuracies in a composition
could prevent its use in a new airspace composition, causing the warning message
"Invalid number of points in LinearRing (found 3 - must be 0 or >= 4)".
2022.1.06
Bug fixAviation Standards
LCD-12841
Enabling time filtering for AIXM 5.1 data containing holding patterns could trigger a NullPointerException
.
2022.1.05
ImprovementAviation Standards
LCD-12653
AIXM 5.1 holding patterns are now visualized in GXY and Lightspeed views, using an oval icon
that aligns with the turn direction and inbound course:

A holding pattern located at a navaid, with a right turn direction and an inbound course of 264 degrees.
Bug fixAviation Standards
LCD-12807
2022.1.04
ImprovementAviation Standards
LCD-12795
Upgraded the included EUR ADR AIXM 5.1(.1) XML Schema extensions from version 25.0 to version 26.0.
2022.0
2022.0.16
ImprovementAviation Standards
LCD-12656
Two new methods have been added to
com.luciad.ais.model.procedure.ILcdProcedureLeg
:
getOriginalAltitudeUpper
getOriginalAltitudeLower
These methods return the upper and lower altitude with the same value and unit of measure as stored in the source file.
ImprovementAviation Standards
LCD-12661
The AIXM 5.1 decoder now also supports resolving feature links that use the prefix "urn:uuid." instead
of the common "urn:uuid:" prefix.
Bug fixAviation Standards
LCD-12639
The ARINC layer builder
TLspARINCLayerBuilder
defines a list of ARINC-specific SLD files
in location
TLspARINCLayerBuilder#SYMBOLOGY_ENCODING_FILES_LOCATION
. The default style
for runways
Runway.sld
did not define the fill style correctly and has been fixed.
Bug fixAviation Standards
LCD-12662
The AIXM 5.1 decoder did not support holding pattern locations defined by a link to another AIXM 5.1 feature.
2022.0.13
Bug fixAviation Standards
LCD-12611
The ARINC handler
TLcdARINCMinimumSectorAltitudeHandler
did not correctly support ARINC
424 version 15, which uses a different Minimum Sector Altitude data structure than more recent versions.
2022.0.11
Bug fixAviation Standards
LF-2290, LCD-12201, LCD-10311
2022.0.10
ImprovementAviation Standards
LCD-12524
A new ARINC handler
TLcdARINCMinimumSectorAltitudeHandler
has been added to support
the decoding of Minimum Sector Altitude objects. These objects define the lowest altitudes that may be used
safely in the presence of terrain and obstacles. Decoded objects are of the type
ILcdMinimumSectorAltitude
, which can contain one or more
ILcdSector
objects that define the minimum altitude for an area represented by an arc band. The data types of these objects
are respectively
TLcdARINCDataTypes#MinimumSectorAltitude
and
TLcdARINCDataTypes#Sector
.
Bug fixAviation Standards
LF-2289
The TLcdDAFIFModelDecoder#canDecodeSource
method allowed transaction files (files in T_TRANS
directory) even though these files are not supported yet. To prevent issues when decoding these files,
TLcdDAFIFModelDecoder#canDecodeSource
now returns false for transaction files.
2022.0.06
ImprovementAviation Standards
LCD-12500
The AIXM 5.1 features RunwayCentrelinePoint and RunwayBlastPad were not painted on terrain, causing the features to
disappear on a 3D view in case terrain data was loaded.
2022.0.04
ImprovementAviation Standards
LCD-12489
Upgraded the included Digital NOTAM Event XML Schema to support AIXM 5.1.1.
2022.0
ImprovementAviation Standards
Upgrade considerationAviation Standards
TLcdAISPolygon#set3DEditablePolygon
now requires an
ILcdRing
as parameter.
TLcdAISPolyline#set3DEditablePolyline
now requires an
ILcdCurve
as parameter.
The following AIS API methods of
ALcdAISGeometryFactory
now need to return an instance of
ILcdCurve
:
ALcdAISGeometryFactory#createPolyline()
ALcdAISGeometryFactory#createPolyline(ILcd3DEditablePointList aPointList)
The following AIS API methods of
ALcdAISGeometryFactory
now need to return an instance of
ILcdRing
:
ALcdAISGeometryFactory#createPolygon()
ALcdAISGeometryFactory#createPolygon(ILcd3DEditablePointList aPointList)
2021.1
2021.1.15
ImprovementAviation Standards
LCD-12283
The AIXM 5.1(.1) rendering logic for GXY and Lightspeed views now uses a default visualization style for custom feature types
defined in AIXM extensions.
2021.1.12
ImprovementAviation Standards
LCD-12281
Added support for AIXM 5.1.1 data defined according to the ASRN XML Schema extension, identified by the
namespace "http://www.aixm.aero/schema/5.1.1/asrn".
ImprovementAviation Standards
LCD-12259
The AIXM 5.1 decoder
TLcdAIXM51ModelDecoder
now allows to configure whether the interpolation
of linear GML elements needs to be geodesic in case of a geodetic reference, through the newly introduced methods
setLinearElementsUseGeodesicInterpolationForGeodeticSrs
and
isLinearElementsUseGeodesicInterpolationForGeodeticSrs
. This impacts the AIXM-compatible
GML elements
LineStringSegment
and
LinearRing
.
Although these GML elements conceptually represent geometries with a linear interpolation, they are often
used to represent geometries with lon/lat coordinates and a geodesic interpolation.
The default setting is to use geodesic interpolation.
2021.1.07
ImprovementAviation Standards
LCD-12196
A new package com.luciad.ais.model.sector
has been added to AIS containing domain objects to
model sector-based minimum safety altitudes.
ImprovementAviation Standards
LCD-12196
A new DAFIFT decoder
TLcdDAFIFTMinimumSectorAltitudeDecoder
has been added to support
the decoding of Minimum Sector Altitude objects. The data type of the decoded objects is
TLcdDAFIFTDataTypes#MinimumSectorAltitude
, which extends from the new
MinimumSectorAltitude
type in AIS.
Bug fixAviation Standards
LCD-12220
AIXM 5.1 navaids of type DME were incorrectly visualized using a VOR_DME icon instead of a DME icon.
2021.1.05
ImprovementAviation Standards
LCD-12197
The DAFIFT Runway decoder could not cope with runway records containing empty values for the take off or landing
distance available fields.
Bug fixAviation Standards
LCD-12192
AIXM 5.1 airspace volume subtractions were not visible in GXY and Lightspeed 2D views if their vertical
extent did not include the vertical extent of the base airspace volume.
2021.1.04
ImprovementAviation Standards
LCD-12170
Upgraded the included EUR ADR AIXM 5.1(.1) XML Schema extensions from version 24.0 to version 25.0.
Bug fixAviation Standards
LCD-12067
Fixed a bug that caused unexpected and superfluous turn circles in the trajectory of a CF-based IAP procedure.
2021.1.02
ImprovementAviation Standards
LCD-12123
The DAFIFT decoders now support the decoding of the Cycle Date property, which gives information about the time
a DAFIFT feature was added or last revised.
ImprovementAviation Standards
LCD-12126
Added the EAD ADR and Audit XML Schemas to the cached set of AIXM 5.1 schema extension resources.
The following namespaces can now be used without a reference to their schema location:
"http://www.aixm.aero/schema/5.1/extensions/EUR/EAD/ADR" and
"http://www.aixm.aero/schema/5.1/extensions/EUR/EAD/Audit"
2021.0
2021.0.10
ImprovementAviation Standards
LCD-12033
The 3D visualization of ATS routes decoded by the AIS-based data formats DAFIF(T), ARINC 424 and AIXM 3 and 4
now takes the altitude of the route segments into account.
Bug fixAviation Standards
LCD-12050
The property ILcdDAFIFNavaidFeature#ICAO_CODE
was not correctly decoded from
DAFIFT navaid data: it received the same value as the ILcdDAFIFNavaidFeature#ICAO_REGION
property.
2021.0.09
Bug fixAviation Standards
LCD-12019
Fixed an issue that could lead to an AIXM 5.1 airspace aggregation error in a Lightspeed 3D view for airspaces that
contain multiple levels of aggregations.
Bug fixAviation Standards
LCD-12018
Fixed an issue that could lead to an AIXM 5.1 airspace aggregation error for airspaces that cross the 0th meridian.
2021.0.08
Bug fixAviation Standards
LCD-12014
Fixed an AIXM 5.1 airspace decoding issue that could cause "Cannot connect arc" warnings for airspaces containing
arc and geographical border segments.
Bug fixAviation Standards
LCD-12012
Fixed a geometry edge case in the handling of AIXM 5.1 airspace volumes containing consecutive arcs.
This could lead to a self-intersecting airspace geometry, which prevented the use of the airspace in an airspace aggregation.
2021.0.03
ImprovementAviation Standards
LCD-11953
The leaf models in the model tree decoded by
TLcdDAFIFModelDecoder
now implement
ILcdFeatureIndexedModel
, to ease indexing them for one or more properties.
An example use case for airport models is the use of an index for the ICAO code property
ILcdDAFIFAerodromeFeature.ICAO_CODE
, to quickly find airports for a given ICAO code
using
ILcdFeatureIndexedModel#retrieveByUniqueIndex
.
2021.0
ImprovementAviation Standards
Improved the visualization of some ICAO icons.
2020.1
2020.1.18
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.
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.
2020.1.13
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
ImprovementAviation Standards
LCD-11676
The AIXM 5.1 layer factory for GXY views,
TLcdAIXM51GXYLayerFactory
, now also supports
creating layers for model containers that include 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.
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.
2020.1.11
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.
2020.1.09
Bug fixAviation Standards
LCD-11648
The ARINC decoder
TLcdARINCModelDecoder
did not decode the Restrictive Airspace
property
TLcdARINCRestrictiveAirspaceDataProperties.CYCLE_DATE
.
2020.1.05
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 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.
2020.1.02
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.
2020.1.01
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
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".
2020.0
2020.0.16
ImprovementAviation Standards
LCD-9619
TLcdAIXM51ModelDecoder now supports decoding AIXM 5.1.1 data.
ImprovementAviation Standards
LCD-11481
The heights of the sectors of an AIXM 5.1 SafeAltitudeArea feature now use the CircleSector's height as fallback if the
obstacle height information is missing.
Bug fixAviation Standards
LCD-11491
The angles of the sectors of an AIXM 5.1 SafeAltitudeArea feature were not correctly interpreted in case of an angle direction
towards the center, a counterclockwise arc direction and/or angles defined against the magnetic north; this could
lead to incorrectly placed angle labels.
2020.0.14
Bug fixAviation Standards
LCD-11468
Fixed the handling of AIXM 5.1 SafeAltitudeArea features with a sector centre point referring to another AIXM 5.1
feature (e.g., an AirportHeliport).
2020.0.13
Bug fixAviation Standards
LCD-11463
The width of an AIXM 5.1 airspace corridor was incorrectly interpreted as the width from axis to border
instead of the width from border to border.
Bug fixAviation Standards
LCD-11449
Fixed two issues related to the handling of AIXM 5.1 airspace volume segments based on a geographical border:
- The connection from the previous and next airspace volume segment with the geographical border was not visible.
- The determined connection point on the geographical border could lead to a geometry edge case, which prevented the use of
the airspace in an airspace aggregation.
2020.0.08
Bug fixAviation Standards
LCD-11374
TLcdARINCModelDecoder
: fixed a potential NullPointerException that could occur when decoding
Restrictive Airspace data with continuation records.
2020.0.07
Bug fixAviation Standards
LCD-11357
Decoding AIXM 4 procedure leg data that specified optional navigation system information failed with a
NullPointerException.
2019.1
2019.1.04
Bug fixAviation Standards
LCD-11101
The behavior of TLcdSegmentBasedRoute.set3DEditablePolyline
was incorrect: when
the supplied polyline contained 2 or more existing points, some of these points were incorrectly included in the resulting
route geometry.
2019.1
Upgrade considerationAviation Standards
LCD-10586
com.luciad.ais.model.TLcd2DBoundsIndexedModelList
has been removed since
it duplicated com.luciad.model.TLcd2DBoundsIndexedModelList
. Existing
usages of the removed class can simply be replaced with
com.luciad.model.TLcd2DBoundsIndexedModelList
.
2019.0
2019.0.07
Bug fixAviation Standards
LCD-10880
The DAFIFT data preparator tool
TLcdDAFIFTDataPreparatorMain
could cause a
NullPointerException
when encountering Refueling Track data (part of file ARF/ARF_PAR.TXT).
2019.0.06
ImprovementAviation Standards
LCD-10767
Added a "Select All" option to ease decoding of all AIXM data types at once in the
samples.decoder.aixm.gxy
sample.
2019.0
ImprovementAviation Standards
A new property
separateFeatureTypes
has been added to
TLcdAIXM51ModelDecoder
to support decoding AIXM 5.1 data as a model tree node, containing one model per separate feature type (airspace,
airport/heliport, ...). This was already possible as a manual post-decoding step through a utility method in
TLcdAIXM51MessageUtil
, but it can now be done automatically by the decoder. Similarly,
TLcdAIXM51ModelEncoder
now also accepts model tree nodes containing one model per feature type.
2018.1
2018.1.16
Bug fixAviation Standards
The method to automatically sort time slices in decoded AIXM 5.1 models,
TLcdAIXM51ModelDecoder#setAutoSortTimeSlices
,
was erroneously mapped on the behavior of
TLcdAIXM51ModelDecoder#setAutoMergeFeatures
.
2018.1.15
Bug fixAviation Standards
LCD-10636
Made the decoding of DAFIFT ATS Route data more robust in case of a missing route direction property.
Bug fixAviation Standards
LCD-10601
The method canCreateLayers
in the sample Lightspeed layer factory class AISLayerFactory
always assumed a non-null data model, which could lead to a NullPointerException.
Bug fixAviation Standards
Made the decoding of DAFIF(T) data more robust in case of a missing ICAO code property in holding, navaid,
airspace and waypoint records.
2018.1.09
Bug fixAviation Standards
LCD-10544
Fixed a selection issue which occurs if there is imagery without terrain for AIXM5 airspaces in a 3D view.
2018.1.01
Bug fixAviation Standards
LCD-9562
Helipads without any location data are now being positioned using the related Heliport's location for better visualization.
2018.1
ImprovementAviation Standards
LCD-4633
The AIXM 3/4 sample (decoder.aixm.gxy
) now includes AIXM 4.5 example data which gets loaded at startup.
ImprovementAviation Standards
LCD-10174
Improved the rendering of point-based AIXM 5.1 VerticalStructure features at large scales in GXY and Lightspeed views.
Bug fixAviation Standards
LCD-10130
Fixed an issue that prevented the rendering of VerticalStructure features with radius null in a Lightspeed 3D view;
this also caused the logging of message "GLU tessellation error: 100155".
2018.0
2018.0.04
ImprovementAviation Standards
LCD-8792
TLcdAIXM51RouteSegmentTimeSlice.START_PROPERTY
and TLcdAIXM51RouteSegmentTimeSlice.END_PROPERTY
properties are now used to deduce the geometry of Route Segments when there is no TLcdAIXM51RouteSegmentTimeSlice.CURVE_EXTENT_PROPERTY
property.
Bug fixAviation Standards
LCD-10005
Fixed an inconsistency between TLcdDAFIFModelDecoder#decode
and TLcdDAFIFModelDecoder#canDecodeSource
while decoding the data in a directory.
Bug fixAviation Standards
LCD-10064
Getting properties of a Military Training Route data could throw an exception, which has been fixed.
Bug fixAviation Standards
LCD-10058
TOUCHDOWN_ZONE_ELEVATION
,
TOUCHDOWN_ZONE_ELEVATION_UNIT
and
TRUE_BEARING
properties in
TLcdARINCRunwayDataProperties
are
now retrieved from Runway instead of RunwayDirection.
2018.0.03
Bug fixAviation Standards
LCD-6993
Fixed the handling of sunrise and sunset times in AIXM 5.1 timesheets in case of a Polar Day or Midnight Sun.
Bug fixAviation Standards
LCD-7281
To ease the visual recognition of restricted airspaces and to better align with common charting guidelines,
AIXM 5.1 restricted airspaces (prohibited, restricted, danger area) are now painted with a striped red border in GXY views.
Bug fixAviation Standards
LCD-9673
Missing time zone information in AIXM 5.1 time slice dates was causing incorrect calculation of the active time slice. This
issue is fixed by using UTC-0 as default time zone when the time zone is missing.
2018.0.02
ImprovementAviation Standards
LCD-6109
Improved labeling of ApronElement, RunwayElement and TaxiwayElement by using the associated element:
- ApronElement: If there is an associated Apron, the value of
TLcdAIXM51ApronTimeSlice.APRON_NAME_PROPERTY
of Apron is used as name of the ApronElement.
- RunwayElement: If there is an associated Runway, the value of
TLcdAIXM51RunwayTimeSlice.NAME_PROPERTY
of Runway is used as name of the RunwayElement.
- TaxiwayElement: If there is an associated Taxiway, the value of
TLcdAIXM51TaxiwayTimeSlice.NAME_PROPERTY
of Taxiway is used as name of the TaxiwayElement.
ImprovementAviation Standards
LCD-9904
TLcdAIXM5AbstractAIXMMessage
now implements the
ILcdDataObjectIndexedModel
interface which adds data object index support to AIXM 5 models.
ImprovementAviation Standards
LCD-6349
Procedures are now rendered with a thicker line style to increase their visibility.
ImprovementAviation Standards
LCD-6349
Procedures are now rendered with a thicker line style to increase their visibility.
ImprovementAviation Standards
LCD-6349
Procedures are now rendered with a thicker line style to increase their visibility.
ImprovementAviation Standards
LCD-6349
Procedures are now rendered with a thicker line style to increase their visibility.
Bug fixAviation Standards
LCD-6820
Fixed AIXM Basic Message and Digital NOTAM schema resources collision when configuring the model decoder to use a custom entity
resolver for
providing access to locally stored schema definitions.
Bug fixAviation Standards
LCD-6617
XLinks references with UUIDs are now converted to lower-case to be compliant with the gml:identifier values.
2017.1
2017.1.17
ImprovementAviation Standards
LCD-9895
The following ARINC object properties were added in support of version 19 of the ARINC 424 format:
- TLcdARINCAirport/HeliportCommunicationHandler: TLcdARINCAerodromeCommunicationDataProperties.COMMUNICATION_TRANSMIT_FREQUENCY,
TLcdARINCAerodromeCommunicationDataProperties.COMMUNICATION_RECEIVE_FREQUENCY
- TLcdARINCEnrouteCommunicationHandler: TLcdARINCEnrouteCommunicationDataProperties.COMMUNICATION_TRANSMIT_FREQUENCY, TLcdARINCEnrouteCommunicationDataProperties.COMMUNICATION_RECEIVE_FREQUENCY
The handlers mentioned above were updated accordingly.
Bug fixAviation Standards
LCD-9785
TLcdFeaturedParachuteJumpArea.getValue("Segments") returns a list with null elements instead of segments data. This has been
fixed.
Bug fixAviation Standards
LCD-9755
2017.1.15
ImprovementAviation Standards
LCD-9861
A gravel runway pattern in the AIS data could not be distinguished from a normal viewing distance in a Lightspeed view. This
has been fixed.
Upgrade considerationAviation Standards
LCD-9852
The following changes in our feature interface allows extended support in our ARINC domain model and decoder for version 18
of the ARINC 424 format.
Restrictive Airspace decoding is improved for start and end dates related fields (5.152 and 5.153):
- TLcdARINCRestrictiveAirspaceDataProperties.START_END_DATE is divided into two separate properties; TLcdARINCRestrictiveAirspaceDataProperties.START_DATE,
TLcdARINCRestrictiveAirspaceDataProperties.END_DATE.
- TLcdARINCRestrictiveAirspaceDataProperties.START_END_INDICATOR is removed. Afterwards TLcdDateIndicator class became unnecessary
and it is also removed.
- "Change Date" capability is added which updates the record using the following record.
Runway decoding is improved for displacement threshold distance (5.69) and touchdown zone elevation (5.97) fields:
- TLcdARINCRunwayDirectionDataProperties.RUNWAY_THRESHOLD_DISPLACEMENT_DISTANCE is renamed as THRESHOLD_DISPLACEMENT_DISTANCE.
- TLcdARINCRunwayDirectionDataProperties.RUNWAY_THRESHOLD_DISPLACEMENT_DISTANCE_UNIT is renamed as THRESHOLD_DISPLACEMENT_DISTANCE_UNIT.
- TLcdARINCRunwayDataProperties.THRESHOLD_DISPLACEMENT_DISTANCE and TLcdARINCRunwayDataProperties.THRESHOLD_DISPLACEMENT_DISTANCE_UNIT
are removed. Use newer properties in TLcdARINCRunwayDirectionDataProperties.
- TLcdARINCRunwayDirectionDataProperties.RUNWAY_TOUCHDOWN_ZONE_ELEVATION and TLcdARINCRunwayDirectionDataProperties.RUNWAY_TOUCHDOWN_ZONE_ELEVATION_UNIT
are removed. Use properties in TLcdARINCRunwayDataProperties.
2017.1.12
ImprovementAviation Standards
LCD-9803
Improved airspace rendering performance by optimizing the underlying OGC SLD / Filter rendering pipeline.
ImprovementAviation Standards
LCD-9798
Restrictive Airspace Handler (TLcdARINCRestrictiveAirspaceHandler) now recognizes the National Security Area ('N') record
in the Restrictive Airspace Type (REST TYPE) field.
Instead of parsing as TLcdAirspaceType.UNKNOWN, the handler now uses TLcdAirspaceType.NATIONAL_SECURITY_AREA as value in this
case.
Airport Handler (TLcdARINCAerodromeHandler) and Heliport Handler (TLcdARINCHeliportHandler) now also support Airport is joint
Civil and Military ('J') record in the Public/Military Indicator (PUB/MIL) field.
The handler now uses TLcdAerodromeOperationsType.JOINT as value in this case.
2017.1.10
Bug fixAviation Standards
LCD-9717
Adjacent Airspaces that have a geoborder as part of their confinement should have a coincident point if their common border
ends in the geoborder.
However, small deviations seem to be possible because of the way "start points" of subpoint lists are being handled. This
has been fixed.
2017.1.09
Bug fixAviation Standards
LCD-9636
Fix so airspaces without a contributor airspace but with a base shape still are shown correctly when crossing the antimeridian.
2017.1.06
ImprovementAviation Standards
LCD-9687
The following ARINC object properties were added in our feature interface to allow extended support in our ARINC domain model
and decoder for version 18 of the ARINC 424 format:
- TLcdARINCHeliportHandler, TLcdARINCAerodromeHandler: ILcdARINCAerodromeFeature.ELEVATION
This corresponds to the following properties in the newer properties class:
- TLcdARINCHeliportHandler: TLcdARINCHeliportDataProperties.ELEVATION
- TLcdARINCAerodromeHandler: TLcdARINCAerodromeDataProperties.ELEVATION
The handlers mentioned above were updated accordingly.
2017.1.05
Bug fixAviation Standards
LCD-4372
Airspace volumes with segments that link to geographical borders are now correctly supported, by using the part of
the geographical border that is closest to the previous and next airspace segment.
2017.1.03
ImprovementAviation Standards
LCD-9653
The built-in support for Eurocontrol's ADR extension schema has been upgraded from version 18.5 to 21.5,
the latest version used by Eurocontrol NM.
ImprovementAviation Standards
The AIXM 5.1 decoder and encoder now provide out-of-the-box support for Eurocontrol's CFMU ADR message
extension schema namespace http://www.eurocontrol.int/cfmu/b2b/ADRMessage.
Bug fixAviation Standards
LCD-9659, LCD-4170
Decoding and visualization of AIXM 5.1 airspace data containing GML point, curve or surface property links to other features
is now
supported.
2017.1.01
ImprovementAviation Standards
LCD-9552
2017.1
ImprovementAviation Standards
LCD-9363
The following ARINC object properties were added in our feature interface to allowed extended support in our ARINC domain
model and decoder for version 18 of the ARINC 424 format:
- TLcdARINCHeliportHandler: ILcdARINCAerodromeFeature.PAD_IDENTIFIER, ILcdARINCAerodromeFeature.PAD_DIMENSIONS
- TLcdARINCDMEHandler: ILcdARINCNavaidFeature.FIR_IDENTIFIER, ILcdARINCNavaidFeature.UIR_IDENTIFIER, ILcdARINCNavaidFeature.FACILITY_ELEVATION,
ILcdARINCNavaidFeature.FACILITY_ELEVATION_UNIT, ILcdARINCNavaidFeature.FACILITY_CHARACTERISTICS
- TLcdARINCVORHandler: ILcdARINCNavaidFeature.FIR_IDENTIFIER, ILcdARINCNavaidFeature.UIR_IDENTIFIER, ILcdARINCNavaidFeature.FACILITY_ELEVATION,
ILcdARINCNavaidFeature.FACILITY_ELEVATION_UNIT, ILcdARINCNavaidFeature.FACILITY_CHARACTERISTICS
- TLcdARINCTACANHandler: ILcdARINCNavaidFeature.FIR_IDENTIFIER, ILcdARINCNavaidFeature.UIR_IDENTIFIER, ILcdARINCNavaidFeature.FACILITY_ELEVATION,
ILcdARINCNavaidFeature.FACILITY_ELEVATION_UNIT, ILcdARINCNavaidFeature.FACILITY_CHARACTERISTICS
- TLcdARINCNDBHandler: ILcdARINCNavaidFeature.FIR_IDENTIFIER, ILcdARINCNavaidFeature.UIR_IDENTIFIER, ILcdARINCNavaidFeature.FACILITY_ELEVATION,
ILcdARINCNavaidFeature.FACILITY_ELEVATION_UNIT, ILcdARINCNavaidFeature.FACILITY_CHARACTERISTICS
- TLcdARINCRunwayHandler: ILcdARINCRunwayDirectionFeature.TOUCHDOWN_ZONE_ELEVATION, ILcdARINCRunwayDirectionFeature.TOUCHDOWN_ZONE_ELEVATION_UNIT,
ILcdRunwayDirectionFeature.TRUE_BEARING, ILcdARINCRunwayDirectionFeature.THRESHOLD_DISPLACEMENT_DISTANCE, ILcdARINCRunwayDirectionFeature.THRESHOLD_DISPLACEMENT_DISTANCE_UNIT
- TLcdARINCRestrictiveAirspaceHandler: ILcdARINCAirspaceFeature.START_END_DATE, ILcdARINCAirspaceFeature.START_END_INDICATOR
- TLcdARINCEnrouteAirwayHandler: ILcdARINCATSRouteSegmentFeature.SEQUENCE_NUMBER, ILcdARINCATSRouteSegmentFeature.FIX_IDENTIFIER,
ILcdARINCATSRouteSegmentFeature.WAYPOINT_DESCRIPTION_CODE
- TLcdARINCProcedureHandler: ILcdARINCProcedureFeature.TRANSITION_IDENTIFIER, ILcdARINCProcedureFeature.SUB_TYPE, ILcdARINCProcedureFeature.SUB_TYPE_QUALIFIER1,
ILcdARINCProcedureFeature.SUB_TYPE_QUALIFIER2, ILcdARINCProcedureFeature.GNSS_FMS_INDICATOR
This corresponds to the following properties in the newer properties class:
- TLcdARINCHeliportHandler: TLcdARINCHeliportDataProperties.PAD_IDENTIFIER, TLcdARINCHeliportDataProperties.PAD_DIMENSIONS
- TLcdARINCDMEHandler: TLcdARINCDMEDataProperties.ILS_DME_BIAS, TLcdARINCDMEDataProperties.ILS_DME_BIAS_UNIT, TLcdARINCDMEDataProperties.FIR_IDENTIFIER,
TLcdARINCDMEDataProperties.UIR_IDENTIFIER, TLcdARINCDMEDataProperties.FACILITY_ELEVATION, TLcdARINCDMEDataProperties.FACILITY_ELEVATION_UNIT,
TLcdARINCDMEDataProperties.FACILITY_CHARACTERISTICS
- TLcdARINCVORHandler: TLcdARINCVORDataProperties.FIR_IDENTIFIER, TLcdARINCVORDataProperties.UIR_IDENTIFIER, TLcdARINCVORDataProperties.FACILITY_ELEVATION,
TLcdARINCVORDataProperties.FACILITY_ELEVATION_UNIT, TLcdARINCVORDataProperties.FACILITY_CHARACTERISTICS
- TLcdARINCTACANHandler: TLcdARINCTACANDataProperties.FIR_IDENTIFIER, TLcdARINCTACANDataProperties.UIR_IDENTIFIER, TLcdARINCTACANDataProperties.FACILITY_ELEVATION,
TLcdARINCTACANDataProperties.FACILITY_ELEVATION_UNIT, TLcdARINCTACANDataProperties.FACILITY_CHARACTERISTICS
- TLcdARINCNDBHandler: TLcdARINCNDBDataProperties.FIR_IDENTIFIER, TLcdARINCNDBDataProperties.UIR_IDENTIFIER, TLcdARINCNDBDataProperties.FACILITY_ELEVATION,
TLcdARINCNDBDataProperties.FACILITY_ELEVATION_UNIT, TLcdARINCNDBDataProperties.FACILITY_CHARACTERISTICS
- TLcdARINCRunwayHandler: TLcdARINCRunwayDataProperties.TOUCHDOWN_ZONE_ELEVATION, TLcdARINCRunwayDataProperties.TOUCHDOWN_ZONE_ELEVATION_UNIT,
TLcdARINCRunwayDataProperties.TRUE_BEARING, TLcdARINCRunwayDataProperties.THRESHOLD_DISPLACEMENT_DISTANCE, TLcdARINCRunwayDataProperties.THRESHOLD_DISPLACEMENT_DISTANCE_UNIT
- TLcdARINCRestrictiveAirspaceHandler: TLcdARINCRestrictiveAirspaceDataProperties.START_END_DATE, TLcdARINCRestrictiveAirspaceDataProperties.START_END_INDICATOR
- TLcdARINCEnrouteAirwayHandler: TLcdARINCATSRouteSegmentDataProperties.SEQUENCE_NUMBER, TLcdARINCATSRouteSegmentDataProperties.FIX_IDENTIFIER,
TLcdARINCATSRouteSegmentDataProperties.WAYPOINT_DESCRIPTION_CODE
- TLcdARINCProcedureHandler: TLcdARINCProcedureDataProperties.TRANSITION_IDENTIFIER, TLcdARINCProcedureDataProperties.SUB_TYPE,
TLcdARINCProcedureDataProperties.SUB_TYPE_QUALIFIER1, TLcdARINCProcedureDataProperties.SUB_TYPE_QUALIFIER2, TLcdARINCProcedureDataProperties.GNSS_FMS_INDICATOR
The handlers mentioned above were updated accordingly.
Bug fixAviation Standards
LCD-9384
LCD-8432 introduced thread unsafe behavior when dealing with Procedures. This has been fixed.
2017.0
2017.0.06
Bug fixAviation Standards
LCD-9365
TLcdAerodromeType and TLcdAIXMAerodromeHandler now offer support for the fourth possible aerodrome type (according
to the AIXM 4.5 specs), i.e. 'LS' (Landing Site).
Bug fixAviation Standards
LCD-9269
Fix for the type of route segment not being visualized in Lightspeed.
2017.0.05
Bug fixAviation Standards
LCD-9305
The TLcdDAFIFModelDecoder#canDecodeSource
method didn't handle unsupported source file names
well, so now it checks for supported as well as unsupported source file names.
2017.0.01
Bug fixAviation Standards
LCD-9245
TLcdARINCModelDecoder#canDecodeSource returns false incorrectly sometime due to LCD-8984. This has been fixed.
2017.0
ImprovementAviation Standards
LCD-7648
The performance of TLcdDAFIFModelDecoder#canDecodeSource
has been improved.
ImprovementAviation Standards
LCD-8745
Bug fixAviation Standards
LCD-9052
TLcdARINCModelDecoder#canDecodeSource
is now more robust against non-arinc txt files.
Upgrade considerationAviation Standards
LCD-8780
TLcdDAFIFLayerConfiguration
instances built with the default constructor now have more useful default styling
properties, instead of painting all geometry in black. As this configuration is used by the
TLcdDAFIFDefaultLayerFactory
, it now also produces layers with more sensible default styling. Customizing the
styling remains possible as before.
Upgrade considerationAviation Standards
LCD-8780
TLcdARINCLayerConfiguration
instances built with the default constructor now have more useful
default styling properties, instead of painting all geometry in black. As this configuration is used by the
TLcdARINCDefaultLayerFactory
, it now also produces layers with more sensible default styling.
Customizing the styling remains possible as before.
Upgrade considerationAviation Standards
TLcdAIXMDefaultLayerFactory#isCreateLayerTreeNodes
now returns true by default. This means
that by default,
ILcdLayerTreeNode
instances will be created instead of (deprecated)
ILcdGXYLayerList
instances. This previous behavior can be restored by calling
setCreateLayerTreeNodes
with false as argument.
Upgrade considerationAviation Standards
TLcdARINCDefaultLayerFactory#isCreateLayerTreeNodes
now returns true by default. This means
that by default,
ILcdLayerTreeNode
instances will be created instead of (deprecated)
ILcdGXYLayerList
instances. This previous behavior can be restored by calling
setCreateLayerTreeNodes
with false as argument.
Upgrade considerationAviation Standards
LCD-8432
The behavior of
TLcdProcedure3DGeometryCalculator
has been modified
to continue to climb or to descend depending of the type of procedure (IAP, STAR, SID) and to
more align with reality.
Upgrade considerationAviation Standards
Support for the legacy AIXM 5.0 format has been discontinued. AIXM 5.0 was introduced in 2007 by FAA and Eurocontrol
as an intermediary to validate a new approach. This has lead to the creation of the official AIXM 5.1 standard in
2010, which of course remains supported, together with AIXM 3.3 and 4.x. Any reference to classes in the
com.luciad.format.aixm5 package need to be removed (not com.luciad.format.aixm51).
2016.1
2016.1.33
Bug fixAviation Standards
LCD-9080
Some files without way points could provoke Null Pointer Exception. This has been fixed.
2016.1.28
Bug fixAviation Standards
LCD-8984
TLcdARINCModelDecoder#canDecodeSource is now more robust against non-arinc txt files.
2016.1.26
ImprovementAviation Standards
LCD-8944
When requesting the altitude limits of an airpsace with invalid data, the error has now a meaningful message.
2016.1.25
Bug fixAviation Standards
LCD-8916
TLcdDAFIFModelDecoder did not close all opened inputstreams during decoding. This has been fixed.
2016.1.24
Bug fixAviation Standards
LCD-8878
ATS Route Segments that have rhumbline as type of path are now correctly visualized in Lightspeed views.
2016.1.20
Bug fixAviation Standards
LCD-8829
TLcdAssociationBasedAirspace methods could run into a stack overflow. This has been fixed.
2016.1.19
ImprovementAviation Standards
LCD-8804
It is now possible to set the default srsName to the AIXM 5/5.1 model decoders that will be used to determine
the model reference if neither the first AIXM message member, its possible envelope or the possible envelope of the AIXM message
has
a srsName attribute set.
2016.1.18
ImprovementAviation Standards
LCD-8579
Altitude and Distance units of measure set through
TLcdAltitudeUnit
and
TLcdDistanceUnit
will be picked up and used in AIXM 5 calculation (ex:
TLcdAIXM51VerticalStructurePart#getMaximumZ()
).
Also if a AIXM unit of measure (ex:
TLcdAIXM51UomDistance
) can not be converted, a warning will be logged.
ImprovementAviation Standards
LCD-6519
The XLinks support has been improved. XLinks pointing to the gml:identifier attribute are now resolved.
Additionally the
TLcdAIXM5LinkExpressionFactory
and
TLcdAIXM51LinkExpressionFactory
have been added. You can override their compile method for custom xlinks resolution.
Bug fixAviation Standards
LCD-8791
Fixed NullPointerException when painting route segments containing null curve extent property.
Bug fixAviation Standards
LCD-8784
LCD-7356 didn't take into account for Association based Airspaces and Airspace Corridors. This has been fixed.
Bug fixAviation Standards
LCD-8783
If you provide a SLD file for a custom datatype for 3D visualization, it is not anymore necessary to provide
a SLD for this datatype for 2D.
Bug fixAviation Standards
LCD-8779
TLcdAssociationBasedAirspace.toString() could generate a stack overflow, which has been fixed.
2016.1.12
Bug fixAviation Standards
LCD-8637
TLcdAIXM51ValDistanceVertical.getValue() returns the correct value even when it is negative one.
2016.1.10
Bug fixAviation Standards
LCD-8598
TLcdAIXM5VerticalStructurePart and TLcdAIXM51VerticalStructurePart getMinimumZ() and getMaximumZ() return the
correct values.
Bug fixAviation Standards
LCD-8596
Standard meter altitude unit of measure doesn't provoke a Null Pointer Exception anymore in AIXM 5 and 5.1.
Bug fixAviation Standards
LCD-8553
Several fixes on DAFIFT decoding :
- TLcdDAFIFTHoldingDecoder : empty turn direction is handled as not defined.
- TLcdDAFIFTWayPointDecoder : doesn't fail on empty usage code.
- TLcdDAFIFTAirspaceDecoder : logs errors instead of propagate them like other decoders.
- TLcdDAFIFTVFRRouteDecoder : can return an empty model instead of null.
- TLcdDAFIFTRunwayDecoder : a NullPointException has been fixed.
Bug fixAviation Standards
LCD-8549
TLcdARINCRunwayHandler will not throw a IndexOutOfBoundsException for runways without points.
Bug fixAviation Standards
LCD-8578
CM distance unit of measure doesn't provoke a Null Pointer Exception anymore in AIXM 5.1.
Bug fixAviation Standards
LCD-8233
TLcdARINCModelDecoder.canDecode is more robust.
2016.1.07
Bug fixAviation Standards
LCD-8523
Generating vertical structure snapshots does not provoke Null Pointer Exception anymore.
2016.1.05
Bug fixAviation Standards
LCD-8491
When decoders that implement ILcdDAFIFSubTypeFilteringDecoder had "subTypesToDecode" set, the expiration and effective dates
were previously not set to the model descriptors.
Now it is fixed and TLcdDAFIFAirspaceModelListDescriptor also implements ILcdDAFIFModelDescriptorSupport.
Bug fixAviation Standards
LCD-8472
TLcdAIXMModelDecoder.canDecode uses now the ILcdInputStreamFactory set to the decoder.
2016.1.03
ImprovementAviation Standards
LCD-8296
Added the Event extension schema for AIXM 5.1 resources to the AIXM5 optional module. The following namespace can now
be used without a reference to their schema location: "http://www.aixm.aero/schema/5.1/event"
Bug fixAviation Standards
LCD-7946
A not thread safe use of DecimalFormat that was causing Route segments visualization artifacts is now fixed.
2016.1.02
Bug fixAviation Standards
LCD-8131
The decoding speed of data with several xlinks has been improved.
2016.1
ImprovementAviation Standards
LCD-8100
It is now possible to calculate procedures with a holding turn radius smaller than the radius used
for the other turns with the new property in TLcdAircraftPerformanceSettings called Procedure turn radius.
Bug fixAviation Standards
LCD-8215
Avoid Null Pointer Exceptions when visualizing Airspaces as extruded shapes in a 3D Lightspeed view.
2016.0
2016.0.10
Bug fixAviation Standards
LCD-8039
Airspace Associations are now correctly visualized in 3D Lightspeed views as extruded shapes.
2016.0.07
ImprovementAviation Standards
LCD-7509
Improved visualization of route segments in 3D views. They are now rendered as 3D corridors, whose dimensions
are determined based on the lowerLimit, upperLimit, widthLeft and widthRight properties of the route segment.
2015.1
2015.1.26
Bug fixAviation Standards
LCD-7539
Fixed NullPointerException when painting airspaces containing upperLimit and lowerLimit properties with
null values.
2015.1.18
ImprovementAviation Standards
LCD-7284
Terrain elevation is now taken into account when visualizing AIXM 5.1 3D airspaces in a Lightspeed view, based on
the
information provided by their upper limit and lower limit reference properties.
Bug fixAviation Standards
LCD-7366
TLcdProcedureGeometryCalculator can handle CI/CF used to turn back aircraft at its current position.
Bug fixAviation Standards
LCD-7356
The usage or not of internal property retrievers in TLspAISStyler to retrieve geometries like GeometryRunwayBuffer for runways
is not only determined on the model descriptor class anymore but also on the types from the model descriptor element types.
2015.1.16
ImprovementAviation Standards
LCD-7304
An improvement has been made in the modeling of the airspace domain object (see TLcdAirspace or its data type
TLcdAISDataType#Airspace) that enables out-of-the-box, automatic encoding of the connected airspace geometry to GML
(e.g., via TLcdGML32ModelEncoder); in the past, only the individual segments were encoded.
ImprovementAviation Standards
LCD-7304
Due to a change in the modeling of the airspace domain object (TLcdAirspace), AIXM airspaces that get
exported to GML now also contain the connected airspace geometry, next to the individual segments.
ImprovementAviation Standards
LCD-7304
Due to a change in the modeling of the airspace domain object (TLcdAirspace), ARINC airspaces that get
exported to GML now also contain the connected airspace geometry, next to the individual segment points.
Bug fixAviation Standards
LCD-6278
When handling a CI Leg, we check the current course. If the course was NaN, we set it to the leg course.
2015.1.15
Bug fixAviation Standards
LCD-7283
If you called the insertLegAt or removedLetAt methods of an TLcdDiscretizedLonLatGeoPath instance and then retrieve the polygon
from
the discretizator, the discretizator will take the change into account.
Bug fixAviation Standards
LCD-7267
To ease the visual recognition of restricted airspaces and to better align with common charting guidelines,
AIXM 5.1 restricted airspaces (prohibited, restricted, danger area) are now painted as follows in Lightspeed views:
- 2D: striped red border
- 3D: solid red border and fill.
2015.1.14
ImprovementAviation Standards
LCD-7227
It is now possible to set a custom ALcdDiscretizedGeoPath to a TLcdAirspace. The ALcdDiscretizedGeoPath is used to discretize
the
airspace segments. Only instances of TLcdDiscretizedLonLatGeoPath are accepted right now.
2015.1.11
Bug fixAviation Standards
LCD-7150
The labels that indicate the altitude of the sectors on SafeAltitudeArea features are now always
placed within the corresponding sector. Additionally, the default style for these labels has changed,
allowing a higher level of customization.
2015.1.06
ImprovementAviation Standards
LCD-1021
Support for daylight savings time dependent times have been added to handle properties with schedules.
A date in the included timesheet can now be set to EDLST or SDLST.
ImprovementAviation Standards
LCD-7112
Improved support for time zones when processing AIXM 5.1 messages. The generateSnapshot and updateSnapshotSFCT
methods in TLcdAIXM51MessageUtil have been overloaded and it is now possible to pass a Calendar including time zone
information instead of a Date.
2015.1.04
ImprovementAviation Standards
LCD-6158
Duplicate labels on arc angles that are shared between multiple adjacent safe altitude areas are not shown any more.
2015.1.02
ImprovementAviation Standards
LCD-6852
Temporal data without time zone information are now assumed to be in UTC. This ensures more deterministic behavior
when
generating snapshots.
Bug fixAviation Standards
LCD-7005
When handling a IF leg, TLcdProcedureGeometryCalculator will check the leg lower or the upper altitude
to determine the starting altitude. If there is no altitude set to the IF leg, it will use the Z coordinate of the
leg fix.
Bug fixAviation Standards
LCD-6959
Fixed issue with sunrise and sunset calculation for timesheets, where the calculated time would become negative
in some conditions.
2015.1
Bug fixAviation Standards
LCD-6854
Decoding ARINC provoked some memory leaks, these were fixed.
2015.0
2015.0.11
Bug fixAviation Standards
LCD-6759
Fixed ADR schema resources collision when configuring the model decoder to use a custom entity resolver for
providing
access to locally stored schema definitions. This can now be configured by using TLcdXMLEntityResolver.
2015.0.09
ImprovementAviation Standards
LCD-6645
Improved the visualization of AIXM 5.1 SafeAltitudeArea features in Lightspeed views. The features are now rendered
as filled arc
bands in 2D and 3D, together with a set of labels that express the altitude, distances and angles of the
SafeAltitudeArea's circle
sector(s).
2015.0.06
ImprovementAviation Standards
LCD-6570
The transition to a FA, FC or FD leg will now try arrive on the line defined by the fix and the course of the leg instead
of just changing the course.
Upgrade considerationAviation Standards
LCD-6624
The method copyExtraModelDescriptor from TLcdDAFIFModelDecoder was wrongly added to the public API and is now removed.
2015.0.04
ImprovementAviation Standards
LCD-5949
The different DAFIF models exposes currently a model descriptor that implements the new interface ILcdDAFIFModelDescriptorSupport.
Model descriptors have now the effective and expiration date of the decoded models. These dates
come from the VERSION file that can be present next to the root of a DAFIF data set.
ImprovementAviation Standards
LCD-5948
The different models decoded by TLcdARINCDecoder exposes currently a model descriptor that implements the new interface ILcdARINCModelDescriptorSupport.
Model descriptors have now the expiration date and the cycle date of the decoded models.
2015.0.01
ImprovementAviation Standards
LCD-6469
For consistency, new model descriptors are added for the following DAFIF models:
- ILSDME
- Localizer
- Glide Path
- Marker
- VFR Route
- VFR Offset
- Refueling track
- Refueling Airspace
Bug fixAviation Standards
LCD-4630
For ILcdRoute that contain one polyline only, TLcdGXYRoutePainter will set the anchor point to the middle of the polyline,
which improves the pin location for labels.
2015.0
ImprovementAviation Standards
LCD-6148
Improved visualization of point based vertical structures in 3D views. They are now rendered as cylinders, whose
dimensions
are determined based on the vertical structures properties.
2014.1
2014.1.06
ImprovementAviation Standards
LCD-6283
TLcdProcedureGeometryCalculator has now different behaviors to calculate CF Legs.
The current behaviors are :
- Minimal Distance :the aircraft will use the shortest path to go onto the fix on the specified course.
- Follow Course : the aircraft will get on the specified course at an early stage. This is the behavior by default.
2014.1.04
Bug fixAviation Standards
LCD-6247
When a leg transition is fly over onto an arc, TLcdProcedureGeometryCalculator tries to avoid unnecessary turns.
2014.1.02
ImprovementAviation Standards
LCD-5722
Improved default behavior for snapshot generation in TLcdAIXM51MessageUtil when creating snapshots for features that
have a timesheet, without an explicit dayMatch parameter. This now matches any day to allow for more accurate
snapshots.
Bug fixAviation Standards
LCD-6133
When decoding a ARINC record provoke exception, the level of logging is reduced from error to warning.
2014.1.01
ImprovementAviation Standards
LCD-5182
TLcdARINCLocalizerGlideSlopeHandler will not add a glide path to an ILS during decoding if the ILS category indicates
that there is no glide path or if the glide path does not have a valid latitude and longitude.
2014.0
2014.0.07
Bug fixAviation Standards
LCD-5801
TLcdDAFIFLoader doesn't throw a cast exception anymore during the decoding of a DAFIFT file when a decoder config file isn't
provided.
2014.0.05
ImprovementAviation Standards
LCD-5738
Added the ADR extension schema resources to the AIXM5 optional module. The following namespaces can now
be used without a reference to their schema location: "http://www.aixm.aero/schema/5.1/extensions/ADR",
"http://www.aixm.aero/schema/5.1/extensions/EUR/ADR" and
"http://www.aixm.aero/schema/5.1/extensions/EUR/ADR/message"
2014.0.04
ImprovementAviation Standards
LCD-5128
Improved styler performance for lightspeed views when viewing AIXM 5.1 for certain srs-codes.
2014.0.03
Bug fixAviation Standards
LCD-5676
In the case of DF as first leg after the IF, the geometry calculation leg will calculate a course
if there is no initial course set instead of producing a error line.
Bug fixAviation Standards
LCD-5716
In some cases, ICAO navaid labels could be cut off at the bottom.
2014.0.02
Bug fixAviation Standards
LCD-5705
TLspAIXMStyler: when using multiple stylers in different threads, the stylers could sometimes block.
2014.0
ImprovementAviation Standards
LCD-5229
More local horizontal datum codes are recognized during the decoding of DAFIF files. All horizontal datum codes
are now supported, except for "IND", "LCF", "SOA" and "SGS".
ImprovementAviation Standards
ARINC MORA data is now decoded and visualized.
The data type is TLcdARINCDataTypes#MORA, which extends from the new AreaMinimumAltitude type in AIS.
See TLcdARINCMORAHandler for details on the decoding.
It is visualized in Lightspeed and GXY layers using labels that denote thousands and hundreds for feet.
See TLspAISStyler and TLcdARINCLayerConfiguration for details on how to customize styling.
ImprovementAviation Standards
You can now model area-based minimum safety altitudes in AIS.
This can be used to model any area-, cell- or quadrangle-based minimum safety altitudes, such as:
MORA (Minimum Off-Route Altitude), ORTCA (Off-Route Terrain Clearance Altitude),
MEF (Maximum Elevation Figure), AMA (Area Minimum Altitude).
The interpretation of the altitudes is not defined in AIS. For example, it is not specified if obstacles are
included, and how much margin is added.
See ILcdAreaMinimumAltitude, TLcdAISDataTypes#AreaMinimumAltitude or the AIS Developer's Guide for details.
It is visualized in Lightspeed and GXY layers using labels that denote thousands and hundreds for feet.
See TLspAISStyler for details on how to customize styling.
ImprovementAviation Standards
LCD-5148
Support has been added to decode obstacle data. A new object handler has been added for this,
TLcdAIXMObstacleHandler. It is registered by default on the main AIXM model decoder, TLcdAIXMModelDecoder.
A dedicated model descriptor and a convenience class listing all decoded obstacle properties can be found
in the com.luciad.format.aixm.model.obstacle package.
ImprovementAviation Standards
The TLcdAIXMModelDecoder now has all available object handlers registered by default.
This means you can use it to decode everything, without additional configuration.
You can still register your own handlers. In this case, the default handlers are ignored.
ImprovementAviation Standards
There now is a convenience TLcdARINCModelDecoder that decodes every object type without additional configuration.
You can still use the existing TLcdARINCDecoder for full control.
ImprovementAviation Standards
There now is a convenience TLcdDAFIFModelDecoder that decodes every object type without additional configuration.
It can decode:
- A DAFIF file, for example FILE0
- A DAFIFT file, for example ARPT/ARPT.TXT
- A directory containing DAFIF or DAFIFT files
- A .toc file pointing to DAFIF or DAFIFT files
- A .toc file in a directory with subdirectories containing DAFIF or DAFIFT files
The TLcdDAFIFModelDecoder produces lazy-loading models, so the actual data is only loaded when accessed,
for example by the view or layer.
You can still use the existing TLcdDAFIF...Decoder classes for full control.
ImprovementAviation Standards
You can now visualize AIS data with ICAO styling natively in a Lightspeed view.
Please refer to TLspAISStyler, the AIS Developer's Guide or the "ais.lightspeed" sample for more details.
ImprovementAviation Standards
You can now visualize AIXM data with ICAO styling natively in a Lightspeed view.
Please refer to TLspAIXMLayerBuilder or the AIXM Developer's Guide for more details.
ImprovementAviation Standards
You can now visualize ARINC data with ICAO styling natively in a Lightspeed view.
Please refer to TLspARINCLayerBuilder or the ARINC Developer's Guide for more details.
ImprovementAviation Standards
Improved navaid labels in a similar way as done for LCD-4467: The background now has a greater margin to
improve readability.
Bug fixAviation Standards
TLcdARINCEnrouteAirwayHandler could throw a NPE when no DME/TACAN/VOR/NDB model is set.
Bug fixAviation Standards
TLcdARINCHoldingHandler.setRunwayModel() would throw a NPE when calling it with a null reference.
2013.1
2013.1.48
Bug fixAviation Standards
LCD-5099
The TLcdAIXMDefaultLayerFactory constructors had ambiguous javadoc concerning the usage of the properties parameter.
It is more clear now that the constructors use the properties parameter to configure general layer properties
and styling properties as well.
2013.1.47
Bug fixAviation Standards
LCD-5336
TLcdDiscretizedLonLatGeoPath and TLcdDiscretizedLonLatOpenGeoPath no longer fail in case of incomplete GeoPath segments of
type ARC_BY_EDGE; instead, a log entry is written to indicate the incomplete data.
This primarily affects airspace creation and decoding, which relies on the GeoPath functionality
2013.1.45
Bug fixAviation Standards
LCD-5369
Due to a regression introduced by fix LCD-5269, the transition towards a CF leg sometimes produce unexpected
trajectory turns.
2013.1.44
ImprovementAviation Standards
The robustness of 3D airspace visualization has been improved.
2013.1.43
Bug fixAviation Standards
LCD-5314
The course, turn direction and distance/duration parameters of a PI were not correctly interpreted
and applied according to the ARINC 424 procedure specification.
2013.1.40
ImprovementAviation Standards
LCD-5271
The TLcdAltitudeReference#toString() method now returns a short, well-known abbreviation for each of
the listed references, for easy reuse inside a label.
Bug fixAviation Standards
LCD-5269
The transition towards a CF, PI or PT leg did not always respect the leg's turn direction.
Bug fixAviation Standards
LCD-4846
Fixed problem that would occur when opening AIXM 5.0 files with Java JDK 8.
2013.1.37
ImprovementAviation Standards
LCD-5180
Support has been added to create SLD styles that filter on AIXM 5 feature ID in a generic manner.
ImprovementAviation Standards
LCD-5162
Improved styling of inactive airspaces for AIXM 5.0 in Lightspeed views. Also made sure that
inactive airspaces are now styled as red in AIXM 5.1 for Lightspeed views.
2013.1.35
ImprovementAviation Standards
LCD-5154
The procedure leg transition between a procedure turn (PI or PT leg) and a course to a fix (CF leg)
has been improved; the transition now maintains the parallellism of the procedure turn while intercepting
with the next course.
ImprovementAviation Standards
LCD-5137
The AIXM procedure handler (TLcdAIXMProcedureHandler) now decodes the Runway, FATO and TLOF direction
designators that can be associated with a procedure. These designators can be access via the corresponding
data properties introduced in TLcdAIXMProcedureDataProperties.
2013.1.34
Bug fixAviation Standards
LCD-5135
Procedure leg transitions passing a fix did not always properly followed the configured fix overfly type;
if a fly by was configured, a fly over was used in case of large course changes (> 120 degrees).
2013.1.31
ImprovementAviation Standards
LCD-5052
An improvement has been made in the modeling of the ATS route domain object (see TLcdATSRoute or its data type
TLcdAISDataType#ATSRoute) that enables out-of-the-box, automatic encoding of the connected route geometry to GML
(e.g., via TLcdGML32ModelEncoder); in the past, only the individual route points were encoded.
ImprovementAviation Standards
LCD-5052
Due to an improvement in the modeling of the ATS route domain object (TLcdATSRoute), AIXM route data that
gets exported to GML now also contains the connected route geometry, next to the individual route points.
ImprovementAviation Standards
LCD-5052
Due to an improvement in the modeling of the ATS route domain object (TLcdATSRoute), ARINC route data that
gets exported to GML now also contains the connected route geometry, next to the individual route points.
ImprovementAviation Standards
LCD-5052
Due to an improvement in the modeling of the ATS route domain object (TLcdATSRoute), DAFIF(T) route data that
gets exported to GML now also contains the connected route geometry, next to the individual route points.
Bug fixAviation Standards
LCD-5104
The DAFIF RefuelingTrackPoint type has a data property Navaid Type which has now values of type String in place
of type TLcdNavaidType.
Bug fixAviation Standards
LCD-5105
The ORTCA painted shape is now a closed shape.
2013.1.24
Bug fixAviation Standards
LCD-4993
Fixed issue with label-painting. In some instances the identifier would get mistaken for the type. This is now corrected.
2013.1.23
ImprovementAviation Standards
LCD-4467
Improved airspace labels. The background now has a greater margin to improve readability.
2013.1.20
ImprovementAviation Standards
LCD-4478
Improved rendering of vertical structures that contain no height information in 3D views.
ImprovementAviation Standards
LCD-4479
The bounds of an AIXM5 feature will now return the bounds of the envelope if the feature does not contain any
geometry.
If no envelope is defined, it will return undefined bounds instead. This also implies that features without any
geometry that have an envelope (such as Taxiways, Aprons and Runways) now will have a valid focus point.
2013.1.18
Bug fixAviation Standards
LCD-4857
Fixed threading issue for labeled Airspace features in Lightspeed views.
2013.1.01
Bug fixAviation Standards
LCD-4483
Fixed NPE that could occur when previewing an AIXM 5.x file with Navaids with limited time-span.
Bug fixAviation Standards
LCD-4520
Fixed a potential error in TLcdProcedureGeometryCalculator when connecting CI and AF
legs in cases where the latter has a very large radius.
2013.1
ImprovementAviation Standards
LCD-4453
To improve the icon quality of certain icons, we have increased the size of most vector icons
to be 17x17 instead of 16x16. This allows certain icons (such as cross-hairs) to be pixel
perfect and correctly centered.
2013.0
2013.0.21
ImprovementAviation Standards
LCD-4334
TLcdAIXM51AbstractAIXMMessage.getModelEncoder() no longer returns null when it has been decoded by
the TLcdAIXM51ModelDecoder, but an instance of TLcdAIXM51ModelEncoder.
2013.0.19
Bug fixAviation Standards
LCD-4250
The DAFIF(T) ILS and Navaid decoders did not take into account the implicit decimal for
the frequency value.
2013.0.06
Bug fixAviation Standards
LCD-3872
Fixed ClassCastException that would occur in some rare conditions.
2013.0.01
Bug fixAviation Standards
LCD-3923
The procedure leg transition between an AF and a subsequent TF leg did not properly take into
account the fixOverflyType property of the AF leg. It always assumed a FLY_OVER value.
2013.0
ImprovementAviation Standards
LCD-2746
Runways that are specified in the data will no longer be moved to (0,0), instead they will
have an undefined bounds. As a result, setting a bounds filter will filter out these objects.
ImprovementAviation Standards
LCD-3180
The AIXM 5.1 and 5.0 GXY samples have been merged into a single AIXM 5 sample that focuses mainly on the latest
version, which is 5.1. The support
for the AIXM 5.0 format remains unchanged, so AIXM 5.0 files can still be decoded and visualized by the new sample.
Bug fixAviation Standards
LCD-948
The global bounds of a decoded AIXM 5 message was not correct in case some of its features
did not have bounds on their own.
2012.1
2012.1.09
Bug fixAviation Standards
LCD-3556
The DAFIFT loader panel did not support subtype decoding when loading a dataset without
organization in ICAO subdirectories.
Bug fixAviation Standards
LCD-3553
TLcdDAFIFTSpecialUseAirspaceDecoder did not set a correct display name on subtype models.
2012.1.08
Bug fixAviation Standards
LCD-3532
A difference in the determination of the number of points between
TLcdProcedureTrajectory#getPointCount and TLcdProcedureTrajectory#getPoint()
could lead to inconsistencies.
2012.1.06
Bug fixAviation Standards
The AIXM airspace decoder, TLcdAIXMAirspaceHandler, could not correctly parse decimal
distance values in case of a decimal symbol mismatch between the active locale in Java
and the underlying OS.
2012.1.05
ImprovementAviation Standards
LCD-3454
The domain objects to represent and calculate the geometry of procedures and airspaces,
i.e. TLcdProcedureTrajectory, TLcdDiscretizedLonLatGeoPath and TLcdDiscretizedLonLatOpenGeoPath,
now implement ILcdInvalidateable. This interface offers a general mechanism to invalidate
any cached values in a domain object after any external changes - in this case, the calculated
geometry.
Bug fixAviation Standards
LCD-986
Editing circle shapes on the map was interpreted the same way as arcs,
leading to undesired editing handles which caused exceptions when touched.
Bug fixAviation Standards
LCD-1626
The airspace domain object TLcdAssociationBasedAirspace was not safe to use
across multiple threads in parallel.
2012.1.02
Bug fixAviation Standards
LCD-3065
The implementation of ILcdExtrudedShape by TLcdAIXM5xVerticalStructurePart has been improved to be
more consistent with how AIXM 5 data should be interpreted: the maximum Z corresponds to the elevation
of the elevated point, surface or curve, while the minimum Z is the maximum Z minus the vertical extent.
There will not be an impact on 3D visualization because the vertical structures are already moved during
visualization to be aligned with the terrain.
2012.1.01
Bug fixAviation Standards
The formatting of TLcdAIXM51ValDistanceVertical is now always locale independent. In some cases,
the wrong decimal value separator was used.
2012.1
ImprovementAviation Standards
AIXM data can now be visualized in a Lightspeed view using the new TLspAIXMStyler.
This is demonstrated in the new decoder.aixmcommon.lightspeed sample.
Upgrade considerationAviation Standards
LCD-954
The 'getShape(int)' method of TLcdSegmentBasedRoute will no longer return the ILcd3DEditablePolyline that
was set with 'set3DEditablePolyline' for all indices. It will return a new clone of this instance for
each separate index instead. This makes this domain object thread safe for reading and avoids exceptions at runtime.
2012.0
2012.0.19
Bug fixAviation Standards
LCD-2966
Circular airspaces were painted as arcs instead of circles.
2012.0.17
Bug fixAviation Standards
LCD-2864
The turn direction of a procedure turn leg was not correctly taken into account
when it was explicitly set to LEFT or RIGHT.
Bug fixAviation Standards
LCD-2800
Procedure decoding will no longer fail if a bounds filter is used and the decoded procedure
does not have a bounds.
Bug fixAviation Standards
LCD-2800
Procedure decoding will no longer fail if a bounds filter is used and the decoded procedure
does not have a bounds.
2012.0.15
ImprovementAviation Standards
LCD-2803
The procedure transition from an aircraft position to an arc segment (for instance,
defined by an Arc-to-Fix) has been improved. The transition is now done on the side of the arc
that is closest to the current position of the aircraft.
ImprovementAviation Standards
LCD-2802
The procedure transition between an intercept leg (Course-to-Intercept or Heading-to-Intercept)
and a Course-to-Fix (CF) leg has been improved in the case the aircraft's position
is already very close to the path to be intercepted.
ImprovementAviation Standards
LCD-2796
The procedure transition between an Arc-to-Fix (AF) and Course-to-Fix (CF) leg has been
improved. The transition is now done on the side of the arc that is closest to the
destination fix of the CF leg, to avoid following the arc until the destination course
of the CF leg is intercepted at the complete opposite of the destination position.
Bug fixAviation Standards
LCD-2801
The procedure transition from an aircraft position to a line segment (for instance,
defined by a Track-to-Fix) sometimes generated an unexpected S-curve at the start of
this segment.
2012.0.11
ImprovementAviation Standards
LCD-2629
The discretization step size used by TLcdProcedureGeometryCalculator to discretize
procedure arcs can now be configured through the new methods
set/getDiscretizationResolutionAngle.
ImprovementAviation Standards
The default constructors for the AIXM 5.x message and geometry classes (e.g. TLcdAIXM51AbstractAIXMMessage,
TLcdAIXM51Point, TLcdAIXM5ElevatedSurface, ...)
now set the model reference or srs by default to "urn:ogc:def:crs:EPSG::4326". This is the default WGS84 geodetic
reference with lat/lon axis order, and
is defined to be the default reference for AIXM 5.x data. Do note that you still need to ensure that the correct
reference is set when using GML geometries, as there
is no default reference defined for GML.
2012.0.09
ImprovementAviation Standards
LCD-2604
The Marker ARINC handler (TLcdARINCMarkerHandler) can now cope with records that do not specify
the Marker type (although this is required by the specification). Instead of causing an error,
the handler now uses TLcdMarkerType.UNKNOWN as value in this case.
ImprovementAviation Standards
LCD-2603
The ILS ARINC handler (TLcdARINCLocalizerGlideSlopeHandler) can now cope with records that do
not specify the ILS category type (although this is required by the specification). Instead of
skipping the record, the handler now uses TLcdILSMLSCategoryType.UNKNOWN as value in this case.
ImprovementAviation Standards
LCD-2603, LCD-2604
The type safe enumeration classes TLcdMarkerType and TLcdILSMLSCategoryType have both been extended
with an UNKNOWN value, to represent respectively an unknown marker or ILS / MLS category.
Bug fixAviation Standards
LCD-2602
The handling of ILS references in procedure records (if present) could cause a ClassCastException in
TLcdARINCProcedureHandler.
Bug fixAviation Standards
The decoding of enroute communication records has been made more robust with respect to empty feature values.
Additionally, the class javadoc of TLcdARINCEnrouteCommunicationHandler did not correctly mention the
key features that are used to uniquely identify decoded objects.
2012.0.08
ImprovementAviation Standards
LCD-2516
The holding entry point for procedure trajectories is determined more accurately,
to obtain a smooth connection between the previous leg and the holding.
ImprovementAviation Standards
The default AIXM rendering settings in TLcdAIXMDefaultLayerFactory / TLcdAIXMLayerConfiguration
have been updated to a more useful initial configuration. In the past, black was mostly used
as default color.
Bug fixAviation Standards
LCD-2531
The TLcdARINCRunwayHandler has been made more robust with respect to incorrect
runway direction bearing values; the handler now identifies and logs incorrect values,
instead of failing with an exception.
Bug fixAviation Standards
LCD-2515
The points of a calculated holding entry were not always added in the right order to the point
list of a procedure trajectory. This did only impact the inspection of the procedure
trajectory points through its ILcdPointList interface, not through its processProcedureGeometry
method.
Bug fixAviation Standards
LCD-1660
The decoding of runway endpoints has been improved to include the correct elevation in all cases. This
may improve the geometry calculation of SID procedures that start with a CA leg in certain cases,
as the length of such legs may now be shorter.
2012.0.04
ImprovementAviation Standards
LMAP-6096
TLcdAIXM51ValDistanceVertical now supports using TLcdAltitudeUnit to specify the uom. TLcdAltitudeUnit is commonly
used by other AIS formats to specify unit of measures for vertical distances.
ImprovementAviation Standards
LMAP-6098
TLcdAIXM51ValDistanceVertical now properly formats values that are set using the 'setValue(double)' method,
to be compliant with the AIXM 5.1 schema. This does not affect the formatting if the value is decoded from file,
or set using another method.
ImprovementAviation Standards
The TLcdAirspaceActivityType type safe enumeration class now has a new methods: 'getCode()'.
This method allow working with the acronyms or codes that are in general use by the aviation community, and simplify
encoding/decoding of files using these codes.
ImprovementAviation Standards
The TLcdAirspaceType type safe enumeration class now has two new methods: 'getCode()' and a static 'valueOf( String aCode
)'.
These methods allow working with the acronyms or codes that are in general use by the aviation community, and simplify
encoding/decoding of files using these codes.
ImprovementAviation Standards
LMAP-6088
A transformation sample from AIXM 3.3/4.5 to 5.1 has been added to the samples. It supports transforming both
airspaces
and aerodromes, but should be sufficiently extensible so you can add your own transformations.
Bug fixAviation Standards
TLcdAISDataTypes did not include TLcdNavaidType#ILS_DME as possible value for the navaid type
data property, which prevented its use as data property value in practice.
2012.0.01
Bug fixAviation Standards
LMAP-6045
TLcdDAFIFRunwayDecoder: missing true bearing information required to calculate the position of a
runway's arresting gear no longer results in a NullPointerException. If the information is
missing, the arresting gear will not be registered on the runway, and a corresponding data
issue will be added to the log (see ILcdDAFIFDecoder#getErrorMessage()).
11.0
11.0.28
ImprovementAviation Standards
Airspace volumes that use buffers and occur in an aggregated airspace are now also supported for visualization.
11.0.27
ImprovementAviation Standards
LMAP-5755
The DAFIFT decoders have been made more robust to avoid exceptions when encountering unexpected
record field counts.
11.0.16
ImprovementAviation Standards
LMAP-5708
The computation of procedure trajectories has seen some general improvements to increase
the quality, and to ensure consistency when comparing between different LuciadMap versions.
ImprovementAviation Standards
LMAP-5696
Improved the AIXM 5.x airspace painting style to be more inline with ICAO guidance and airspace styles of the
other AIS formats.
11.0.14
Bug fixAviation Standards
The default AIXM 5 label color has been fixed to be white everywhere. This was already the case in previous
versions,
and has always been the default in Lucy.
11.0
ImprovementAviation Standards
All SLD's used with AIXM 5.x should now be specified relative to the feature instead of the time slice. This
makes it possible to define time based styles.
10.1
10.1.26
Bug fixAviation Standards
LMAP-5290
TLcdGXYOutlinePolylineLabelPainter's halo functionality was broken.
10.1.14
ImprovementAviation Standards
The 2D boundary computation for aggregated airspaces now only applies subtractions that cover the full
vertical extent of the other parts. This ensures that the 2D visualization will always cover the full outline
of the airspace.
10.1.10
ImprovementAviation Standards
LMAP-5232
Improved decoding support for procedures in the latest DAFIFT releases.
Bug fixAviation Standards
LMAP-5227
The TLcdAIXM51ModelEncoder and TLcdAIXM5ModelEncoder now respect the format constraints
for extensions of xsd:decimal types imposed by the different patterns in the type
definition in the AIXM schema. Before this fix, values of such types
(ValPCNBaseType, ValFrictionBaseType and CodeRNPBaseType (for AIXM51),
CodeRNPType, NoNumberType, NoSequenceType, ValPCNType and ValFrictionType (for AIXM5))
were just formatted as doubles. Depending on the value, this could result
in schema-invalid documents being generated by the encoder.
Bug fixAviation Standards
LMAP-5233
The canDecodeSource method of the ARINC decoder now only reads a fixed number of bytes from the file.
This avoids reading too many bytes when files without new lines are tested with this method.
Bug fixAviation Standards
An exception could occur when painting detailed labels for navaids or airspaces. This has been fixed.
10.1.08
ImprovementAviation Standards
LMAP-5162
The computation of the geometry of aggregated airspaces has been made more robust for surfaces
that use circular arcs.
10.1.06
ImprovementAviation Standards
LMAP-5145
The DAFIFT decoder will no longer log a warning when a model has no bounds. Only when errors occurred during
decoding of that model, a warning will be logged. Models can have no bounds if you for instance decode NDB navaids
for a region that has no NDB navaids.
10.1.05
ImprovementAviation Standards
LMAP-5098
Improved the javadoc for property accessors (getters and setters) on the domain
model objects.
Bug fixAviation Standards
Fixes the exceptions that were thrown by the
TLcdAIXM51MarkingBuoyTimeSlice#designator, TLcdAIXM51FASDataBlock#codeICAO,
TLcdAIXM51FASDataBlock#referencePathIdentifier and TLcdAIXM51FASDataBlock#routeIndicator,
TLcdAIXM5Association#remoteSchema properties accessors.
10.1.04
ImprovementAviation Standards
The AIXM 5.0 and 5.1 XPath label painters now correctly use the default time slice provider to retrieve a time slice
from the feature. This time slice is now used as the object on which the expressions are evaluated. This is
consistent with all other painters.
10.1.03
Bug fixAviation Standards
LMAP-5063
The ARINC procedure decoder no longer applied the proper filtering to the procedure trajectories. This
regression was introduced in LuciadMap 10.1. The previous behaviour has now been restored.
Bug fixAviation Standards
LMAP-5062
Extensions of ARINC handlers such as TLcdARINCEnrouteAirwayHandler caused compilation issues about a missing
implementation for a package visible abstract method. These issues should no longer occur.
10.1.01
ImprovementAviation Standards
LMAP-4965
Decoding of ILS-DME navaids is now also supported by the TLcdARINCDMEHandler. Decoded objects will
have the navaid class set to a new class: ILS_DME.
10.1
ImprovementAviation Standards
A new concept has been introduced to make it easier to retrieve a useful time slice from an AIXM feature.
Quite often, application developers are confronted with the problem of having to determine a suitable time slice for
the visualization of features or properties of features. The new ILcdTimeSliceProvider interface can be used to
encapsulate such a strategy that can be used throughout the application.
To make the provider accessible at places where it is needed, two options are provided:
- A default time slice provider can be set on an AIXM 5.0 or 5.1 feature. This provider can be requested
from the feature whenever it is needed.
- A time slice provider can be passed onto the objects that need it; for instance, all AIXM painters and
XPath factories can now be configured with a time slice provider. When set, these time slice providers have
precedence over the default time slice providers on the features.
Two implementations are available that implement the currently most common strategies. The first one returns one
of the time slices in the list of time slices in the feature - normally this will be a baseline time slice,
assuming
that it is available. The second one can be configured with a date, and will return a snapshot time slice valid
for
that date, or no time slice if the feature does not have valid time slices for that date.
ImprovementAviation Standards
It is now possible to configure the styling of AIXM 5.0 and 5.1 features on the painter providers
TLcdAIXM5PainterEditorProvider and TLcdAIXM51PainterEditorProvider. The styling has to be defined
as an OGC SLD feature type style. SLD is a very powerful rule-based styling mechanism developed by the OGC,
and is defined as an XML format. LuciadMap already provided extensive support for OGC SLD,
but it is now also fully integrated with AIXM to style features.
The AIXM painters not only allow setting a style but also allow access to predefined styles. This makes it easier
for application developers to allow style customization, as they can allow their users to customize an existing
style
instead of having to write one from scratch.
ImprovementAviation Standards
Data types for the DAFIF and DAFIFT domain model objects are now available in the TLcdDAFIFDataTypes and
TLcdDAFIFTDataTypes classes. For each DAFIF/DAFIFT type, a specific class that contains
all properties has also been added (e.g., TLcdDAFIFAirspaceDataProperties).
DAFIF model decoders with a default configuration will now return objects that implement ILcdDataObject and
that have a DAFIF data type.
Existing users of the DAFIF/DAFIFT decoders that depend on specific properties of the ILcdFeatured-based implementation can
ensure backwards compatibility by setting a custom implementation of the now deprecated ALcdAISObjectFactory on the handlers.
An example would be to set a very basic extension of the TLcdAISLonLatHeightObjectFactory on all decoders. This will
result in objects with an unknown data type that should only be accessed through the ILcdFeatured interface.
This backwards compatible mode is not recommended for general use, but might be necessary for users of certain functionality.
The most important example is the use of certain methods on the DAFIF/DAFIFT decoders that allow setting the features
to be decoded, such as the method setAerodromeFeaturesToBeDecoded.
These methods are still available, but in the new decoder configuration the decoded features will always have the same number
of features.
Also, the ordering of the features will no longer depend on the ordering of the feature names that are passed to this method.
These features will be fixed and determined by the data type. This behavior is not changed if you use the backwards
compatible mode described above.
ImprovementAviation Standards
Data types for the ARINC domain model objects are now available in the TLcdARINCDataTypes class. For each ARINC type,
a specific class that contains all properties has also been added (e.g., TLcdARINCAirspaceDataProperties).
ARINC model decoders with a default configuration will now return objects that implement ILcdDataObject and
that have a ARINC data type.
Existing users of the ARINC decoders that depend on specific properties of the ILcdFeatured-based implementation can
ensure backwards compatibility by setting a custom implementation of the now deprecated ALcdAISObjectFactory on the handlers.
An example would be to set a very basic extension of the TLcdAISLonLatHeightObjectFactory on all decoders. This will
result in objects with an unknown data type that should only be accessed through the ILcdFeatured interface.
This backwards compatible mode is not recommended for general use, but might be necessary for users of certain functionality.
The most important example is the use of certain methods on the ARINC handlers that allow setting the features
to be decoded such as setAerodromeFeatureNamesToBeDecoded.
These methods are still available, but in the default decoder configuration the decoded features will always have the same
number of features.
Also, the ordering of the features will no longer depend on the ordering of the feature names
that are passed into this method. These attributes will be fixed and determined by the data type. This behavior is
not changed if you use the backwards compatible mode described above.
ImprovementAviation Standards
Data types for the AIXM domain model objects are now available in the TLcdAIXMDataTypes class. For each AIXM type,
a specific class that contains all properties has also been added (e.g. TLcdAIXMAirspaceDataProperties).
AIXM model decoders with a default configuration will now return objects that implement ILcdDataObject and
that have an AIXM data type.
Existing users of the AIXM decoders that depend on specific properties of the ILcdFeatured-based implementation can
ensure backwards compatibility by setting a custom implementation of the now deprecated ALcdAISObjectFactory on the handlers.
An example would be to set a very basic extension of the TLcdAISLonLatHeightObjectFactory on all decoders. This will
result in objects with an unknown data type that should only be accessed through the ILcdFeatured interface.
This backwards compatible mode is not recommended for general use, but might be necessary for users of certain functionality.
The most important example is the use of certain methods on the AIXM handlers that allow setting the features
to be decoded such as setAerodromeFeatureNamesToBeDecoded.
These methods are still available, but in the default decoder configuration the decoded features will always have the same
number of features.
Also, the ordering of the features will no longer depend on the ordering of the feature names
that are passed into this method. These attributes will be fixed and determined by the data type. This behavior is
not changed if you use the backwards compatible mode described above.
ImprovementAviation Standards
LMAP-2927
The AIS domain model now implements ILcdDataObject, the new interface in LuciadMap
to provide generic access to an object's properties. Corresponding data types for the AIS domain model
are now available in the TLcdAISDataTypes class.
New classes TLcdAISDataObjectFactory and ALcdAISGeometryFactory that fully support ILcdDataObject
have been introduced to create and initialize AIS domain objects. The existing class ALcdAISObjectFactory
and its implementations have been deprecated in favor of TLcdAISDataObjectFactory and ALcdAISGeometryFactory.
ImprovementAviation Standards
TLcdAIXM5AbstractAIXMTimeSlice and TLcdAIXM51AbstractAIXMTimeSlice now implement the ILcdTimeBounded interface.
ImprovementAviation Standards
The TLcdAIXM5ModelDecoder and TLcdAIXM51ModelDecoder now automatically merge features and sort timeslices when
decoding a message. This prevents some possible issues related to XLinks, and also properly prepares the message for
the most
common use cases when working with AIXM 5.x models. This behavior can be manually controlled with the new
setAutoSortTimeslices(boolean) and setAutoMergeFeatures(boolean) methods available on the model decoders.
ImprovementAviation Standards
TLcdAIXM5MessageUtil and TLcdAIXM51MessageUtil now only generate new messages and features in the sortMessage
and mergeFeatures methods if this is absolutely required.
Upgrade considerationAviation Standards
All AIXM 5.1 methods that represent a value with a unit of measure, such as TLcdAIXM51ValDepth, now
have better accessors for the nilReason and the uom attributes. Both of these attributes can no longer
be set as a String but require an instance of a specific class. This makes the api more usable.
Existing users of these accessors that use String instances can simply use the constructors that are available
on the new types (TLcdGML32NilReasonEnumeration and TLcdAIXM51Uom*) to create an instance that corresponds to the
String.
The new types also have predefined constants that correspond to well known values.
Upgrade considerationAviation Standards
Getters and setters for the 'nilReason' attribute that occurs on various types have been adapted
to be compatible with the classes of the actual values of this attribute. Getters and setters that used
to work with a String now use a TLcdGML32NilReasonAnnotation or an Object. In case of an Object, the methods
support both instances of URI and TLcdGML32NilReasonAnnotation.
Existing uses of these methods that worked with a String should convert the String to either a URI or a
TLcdGML32NilReasonEnumeration when
using the setter. For the getter, both of these types can easily be converted to a String if required.
Upgrade considerationAviation Standards
The methods getDataObjectFactory() and setDataObjectFactory(TLcdAISDataObjectFactory) have
been added to ILcdDAFIFDecoder. These methods allow the decoder to create domain objects
that properly implement ILcdDataObject.
Upgrade considerationAviation Standards
The names of the AIXM 5.1 enumeration model classes representing units of measure
have the 'Type' suffix in their names dropped, and they now have a TLcd prefix.
For instance, the ELcdAIXM51UomDepthType class
has been renamed as such to TLcdAIXM51UomDepth. This is more consistent with their names in AIXM 5.0.
These classes have also been changed from enumerations to regular classes. This results in a better correspondence
with the AIXM 5.1 schema, and makes other API that uses these classes more usable. A method is available to retrieve
all known values for a given type.
This change will result in compile time errors for code that uses one of classes listed below. These
errors can be easily solved by also removing the 'Type' suffix.
All uses of the following class names should be replaced with the new names:
- ELcdAIXM51UomTemperatureType
- ELcdAIXM51UomDepthType
- ELcdAIXM51UomDistanceType
- ELcdAIXM51UomDistanceVerticalType
- ELcdAIXM51UomDurationType
- ELcdAIXM51UomFLType
- ELcdAIXM51UomFrequencyType
- ELcdAIXM51UomLightIntensityType
- ELcdAIXM51UomPressureType
- ELcdAIXM51UomSpeedType
- ELcdAIXM51UomWeightType
Upgrade considerationAviation Standards
The method TLcdARINCEnrouteCommunicationHandler#getKeyFeatureNames() has been removed. Applications
that need this information can always retrieve it using the TLcdAISKeyPropertiesAnnotation on the
EnrouteCommunication type in ARINC, TLcdARINCDataTypes#EnrouteCommunication.
Upgrade considerationAviation Standards
The 'name' and 'description' properties of time slices in the AIXM 5.0 and 5.1 domain model now use a prefix that
no longer contains 'TimeSlice', to make them more readable and convenient to use. This means that both property
constants and getters and setters for these properties now have a slightly different name.
Resulting compilation problems can be fixed easily by removing 'TimeSlice' from the affected methods or
property names. For instance, TLcdAIXM51AirportHeliportTimeSlice#getAirportHeliportTimeSliceName()
will need to be changed to getAirportHeliportName(). Also the corresponding constant
AIRPORT_HELIPORT_TIMESLICE_NAME_PROPERTY will need to be changed to AIRPORT_HELIPORT_NAME_PROPERTY.
This improvement will improve the readability of your code because these method names are now a bit shorter, and
it will avoid possible confusion as the previous naming might have suggested that it was the name or description of
the time slice instead of the name or description of the actual feature itself.
Upgrade considerationAviation Standards
New time slice classes have been added to the AIXM 5.0 and 5.1 domain model, making it easier
to access properties that are common between related time slice types (e.g., a runway marking and a taxiway
marking).
The new classes correspond to abstract feature types (e.g., a marking) that do not have a corresponding time slice
type in the AIXM schemas (e.g., a marking).
This is the list of added classes for AIXM 5.0; corresponding classes for 5.1 are also added:
- TLcdAIXM5AbstractMarkingTimeSlice
- TLcdAIXM5AbstractSegmentLegTimeSlice
- TLcdAIXM5AbstractServiceTimeSlice
- TLcdAIXM5AbstractTrafficSeparationServiceTimeSlice
- TLcdAIXM5AbstractAirportGroundServiceTimeSlice
- TLcdAIXM5AbstractAirportHeliportProtectionAreaTimeSlice
- TLcdAIXM5AbstractApproachLegTimeSlice
- TLcdAIXM5AbstractGroundLightSystemTimeSlice
- TLcdAIXM5AbstractNavaidEquipmentTimeSlice
- TLcdAIXM5AbstractNavigationSystemCheckpointTimeSlice
- TLcdAIXM5AbstractProcedureTimeSlice
- TLcdAIXM5AbstractRadarEquipmentTimeSlice
- TLcdAIXM5AbstractSurveillanceRadarTimeSlice
These classes are now also used in various getters and setters in the domain model. Existing code that
uses these methods might experience compilation problems that can easily be fixed by using the correct type.
Some of these classes also declare a 'name' and/or a 'description' property that used to be declared on the
subclasses with a class specific prefix. Due to the introduction of these super classes, the prefix has
changed. Resulting compilation problems can be fixed easily by simply changing the used method or
constant. For instance, a call to TLcdAIXM51InformationService#getInformationServiceTimeSliceName() will need to be
changed to
getServiceName(). Also the corresponding constant
TLcdAIXM51InformationService#INFORMATION_SERVICE_TIMESLICE_NAME_PROPERTY will
need to be changed to SERVICE_NAME_PROPERTY.
Upgrade considerationAviation Standards
Two methods have been added to ILcdAIXMHandler to get and set the handler's data object factory.
Handler implementations should use this data object factory to create domain objects.
The AIXM model decoder has been changed to use these methods to properly configure its registered handlers.
Upgrade considerationAviation Standards
Two methods have been added to ILcdARINCHandler to get and set the handler's data object factory.
Handler implementations should use this data object factory to create domain objects.
The ARINC model decoder has been changed to use these methods to properly configure its registered handlers.
Upgrade considerationAviation Standards
All interfaces in the AIS domain model now implement the ILcdDataObject interface. Existing implementations can either
choose to fully support this interface by using the new AIS data types, or they can simply fall back to an implementation
that returns TLcdUnknownDataTypes.UNKNOWN_TYPE for all data objects.
Upgrade considerationAviation Standards
Accessors on AIXM 5.0 and AIXM 5.1 model classes for properties that map on choices
in the AIXM 5.0 and 5.1 XML schema are now uniform with other accessors for association class
properties. This means that they hide the association class and directly expose the
object the association points to.
The following methods are affected in AIXM 5.0. In AIXM 5.1, the same methods are affected,
but note that small (name) differences can occur because of changes in the schema.
- ALcdAIXM5VerticalStructurePart#getHorizontalProjection()
- TLcdAIXM5ArrestingGearTimeSlice#getExtent()
- TLcdAIXM5MarkingElement#getExtent()
- TLcdAIXM5Obstruction#getObstruction()
- TLcdAIXM5RadioFrequencyArea#getEquipment()
- TLcdAIXM5AerialRefuelingPoint#getPointChoice()
- TLcdAIXM5TerminalSegmentPoint#getPointChoice()
- TLcdAIXM5EnRouteSegmentPoint#getPointChoice()
- TLcdAIXM5AngleIndicationTimeSlice#getPointChoice()
- TLcdAIXM5DistanceIndicationTimeSlice#getPointChoice()
- TLcdAIXM5SignificantPointInAirspaceTimeSlice#getLocation()
- TLcdAIXM5ObstacleAreaTimeSlice#getReference()
- TLcdAIXM5TerminalArrivalAreaTimeSlice#getIF()
- TLcdAIXM5TerminalArrivalAreaTimeSlice#getIAF()
- TLcdAIXM5NavigationAreaTimeSlice#getCentrePoint()
- TLcdAIXM5InstrumentApproachProcedureTimeSlice#getGuidanceFacility()
- TLcdAIXM5StandardInstrumentDepartureTimeSlice#getGuidanceFacility()
- TLcdAIXM5StandardInstrumentArrivalTimeSlice#getGuidanceFacility()
- TLcdAIXM5FinalLegTimeSlice#getFinalPathAlignmentPoint()
- TLcdAIXM5SafeAltitudeAreaTimeSlice#getCentrePoint()
- TLcdAIXM5HoldingPatterTimeSlice#getOutboundLegSpan()
- TLcdAIXM5DirectFlightSegment#getEnd()
- TLcdAIXM5DirectFlightSegment#getStart()
- TLcdAIXM5FlightRoutingElement#getPointElement()
- TLcdAIXM5FlightConditionElement#getSignificantPointCondition()
- TLcdAIXM5RoutePortion#getStart()
- TLcdAIXM5RoutePortion#getIntermediatePoint()
- TLcdAIXM5RoutePortion#getEnd()
- TLcdAIXM5ChangeOverPointTimeSlice#getLocation()
These methods now return the actual object instead of the XML choice object;
their return type is also adjusted to the most specific type (previously ILcdDataObjecT).
10.0
10.0.19
Bug fixAviation Standards
LMAP-4737
The width feature of ILS localizers is now correctly decoded as a double instead of a float. This
makes the data consistent with the information in the feature descriptors.
Bug fixAviation Standards
ILcdAIXMAirspaceFeature: The name of the 'Airspace activity' feature that is common to most AIXM airspace types was incorrectly
spelled. The name of the feature has been corrected from 'Airspace acitivity' to 'Airspace activity'.
10.0.16
ImprovementAviation Standards
LMAP-4583
The AIXM 5.0 and AIXM 5.1 model decoders now automatically correct arc-by-center-points
of which the start/end point do not coincide with the end/start point of the previous/next
curve in the composite curve. Note that this correction does not change the original
data as stored in the model. See the TLcdGML32ArcByCenterPoint#connect method in
the API reference for more information.
Bug fixAviation Standards
Improved error handling for procedure legs that flyby a navaid onto an arc. This removes
certain erroneous geometries from the result.
10.0.15
Bug fixAviation Standards
Improved support for procedure legs of type 'RF' in the procedure calculator.
Bug fixAviation Standards
LMAP-4673
Improved support for AIXM 5.0 and 5.1 features that contain no geometry and have a boundedBy property that is
explicitly set
to 'Null'.
10.0.14
ImprovementAviation Standards
TLcdDAFIFTParachuteJumpAreaDecoder: the decoder no longer fails for parachute jump areas that contain arc segments
specified by two bearings and two distances.
ImprovementAviation Standards
The geometry calculation for procedure legs of type 'CR' now better handles erroneous legs,
resulting in an improved visualization of those legs.
ImprovementAviation Standards
TLcdDAFIFTNavaidDecoder: improved the decoding of collocated navaids such as VORTAC. As a result
of this improvement more navaids will be available in the decoded model.
Bug fixAviation Standards
TLcdDAFIFTProcedureDecoder: improved decoding of the recommended navaid which results in a more
accurate visualization for certain procedures.
Bug fixAviation Standards
TLcdDAFIFTProcedureDecoder: improved the decoding to include more procedures in the resulting model.
10.0.13
ImprovementAviation Standards
The AIXM 5.0 and AIXM 5.1 model decoders now use the application schema cache by default.
This property can be controlled through the method setUseApplicationSchemaCache(boolean)
in TLcdAIXM5ModelDecoder and TLcdAIXM51ModelDecoder. Using the application schema cache
improves decoding performance when multiple files are decoded using the same decoder.
ImprovementAviation Standards
The AIXM 5.0 and 5.1 painters now also support surfaces that use an arc-by-center-point in their exterior or
interior
ring.
Bug fixAviation Standards
Fixed the use of custom functions in the TLcdAIXM5XPathFactory.
Bug fixAviation Standards
LMAP-4223
The TLcdAIXM51Link constructor that takes a data object as parameter no
longer throws an exception when invoked with a data object for which a proper
link type can be deduced.
Bug fixAviation Standards
Improved the javadoc for a number of property constants defined on the
AIXM 5.0 and AIXM 5.1 domain objects.
Bug fixAviation Standards
Fixed an issue in the setters for various AIXM 5.0 and 5.1 domain objects,
causing an incorrect domain model. The issue resulted in exceptions
when trying to encode the domain model afterwards.
Bug fixAviation Standards
Snapshot generation no longer removes properties with schedules that do not have an associated schedule from
the snapshot timeslice.
10.0.08
Bug fixAviation Standards
Fixed an issue with the addElements method of TLcdAIXM5AbstractAIXMMessage and TLcdAIXM51AbstractAIXMMessage.
Features
that were added with this method could not be found in the XML structure.
Bug fixAviation Standards
LMAP-4435
ALcdAIXM51Code now ensures that the well known codes for all code classes
are always properly initialized.
Bug fixAviation Standards
LMAP-4449
TLcdDAFIFTHelipadDecoder: the decoding has been improved for certain types of helipads. This
results in more helipads being successfully decoded.
10.0.05
ImprovementAviation Standards
LMAP-4397
It is now possible to set the fill mode on the TLcdICAORunwayPainter. This allows you to paint a runway with a
fill even if no surface type is available. You can also disable the fill if desired.
ImprovementAviation Standards
LMAP-4397
It is now possible to set the fill mode of runways on the TLcdARINCLayerConfiguration. This allows you to paint a runway with
a
fill even if no surface type is available. The fill can also be disabled if desired.
ImprovementAviation Standards
LMAP-3040
TLcdICAONavaidLabelPainter: added class Javadoc to explain how to support custom navaids.
Bug fixAviation Standards
LMAP-4363
TLcdAIXM51GXYPainterEditorProvider: Corrected the xpath expressions that are used to lookup labels. This ensures
that labels works again for all AIXM 5.1 types if the referenced property is available in the data.
Bug fixAviation Standards
LMAP-4404
ILcdARINCATSRouteSegmentFeature: Corrected the feature name constants MINIMUM_ALTITUDE_1, MINIMUM_ALTITUDE_UNIT_1, MINIMUM_ALTITUDE_2
and MINIMUM_ALTITUDE_UNIT_2.
These names were set to the same string for 1 and 2, this was fixed by appending the index.
For example 'Minimum Altitude' has been changed to 'Minimum Altitude 1'.
Bug fixAviation Standards
LMAP-4400
ILcdDAFIFDMEFeature: corrected the feature name constant ILS_DME_BIAS_UNIT.
This was set to 'ILS/DME Bias', and has now been changed to 'ILS/DME Bias Unit'. This resolves a
name collision with ILS_DME_BIAS.
Bug fixAviation Standards
LMAP-4379
ILcdDAFIFMilitaryTrainingRoutePointFeature: corrected the feature name constant ENROUTE_ALTITUDE_1_UNIT.
This was set to 'Cross Altitude Two Unit', and has now been changed to 'Enroute Altitude One Unit'.
Bug fixAviation Standards
LMAP-4405
The featured descriptor for ARINC Aerodrome types now returns the correct class for the 'SPEED_LIMIT_ALTITUDE_VALUE' feature.
Previously the descriptor returned Float, this has now been changed into Double.
Bug fixAviation Standards
LMAP-4399
The featured descriptor for DAFIF GlidePath and Marker types now returns the correct class for the 'COMPONENT_TYPE' feature.
Previously the descriptor returned String, this has now been changed into Character.
Bug fixAviation Standards
LMAP-4396
TLcdICAORunwayPainter: Changing the selection color now also works for runways without a surface type.
10.0.03
ImprovementAviation Standards
Improved performance for handling AIXM5 and AIXM5.1 extension schemas (reduced creation time for the
extension datamodels, reduced configuration time for the decoder and reduced static initialization time
of the AIXM data model).
ImprovementAviation Standards
LMAP-4164
Added logging to snapshot generation to inform users that a BASELINE timeslice does not contain a start time
which probably indicates bad data.
All timeslices without start times are ignored during snapshot generation.
ImprovementAviation Standards
TLcdAIXM51AbstractPropertiesWithSchedule: Javadoc was added to this class.
ImprovementAviation Standards
LMAP-4190
The decoder now also supports decoding features that do not contain timeslices. This only affects data
that is incomplete.
ImprovementAviation Standards
LMAP-4191
Improved the robustness when calculating aggregated airspaces that have no sequence numbers. This only affects data
that is incomplete.
Bug fixAviation Standards
LMAP-4176
TLcdICAORunwayPainter: fixed painting artifacts that occurred when panning runways that are painted with a pattern.
Bug fixAviation Standards
TLcdAIXM51AbstractPropertiesWithSchedule: Improved support for custom extensions of this class.
Bug fixAviation Standards
LMAP-3807
The DAFIF data preparator sample now uses a TLcdLonLatBounds instead of a TLcdXYBounds to avoid
invalid bounding box coordinate values.
Bug fixAviation Standards
LMAP-4054
TLcdDAFIFVFRRouteDecoder: the optional aerodrome submodel is now split up in one 'airport' model and one 'heliport' model.
This fixes an inconsistency between the model descriptor and the actual data in the model that could cause issues.
10.0
ImprovementAviation Standards
The existing package com.luciad.format.aixm5.model now provides an API for the
complete domain model of AIXM 5.0. Classes are available to work directly with messages,
features and timeslices, for all aeronautical types defined in AIXM 5.0.
The package is subdivided into different subpackages that each represent a subset of the AIXM 5.0 format,
corresponding to the AIXM 5.0 UML and XML Schema model.
ImprovementAviation Standards
An AIXM 5 and 5.1 model decoder can now be created for a custom data model that extends
from the AIXM data model. This decoder is then automatically configured for that data model.
ImprovementAviation Standards
The AIXM 5 and 5.1 model encoder/decoder now have a model reference formatter/parser that can be
used to format/parse custom model references into/from srs names.
ImprovementAviation Standards
The new package com.luciad.format.aixm51 introduces support for the aeronautical data format
AIXM 5.1. The package provides support for decoding and encoding AIXM 5.1 data, as well as
painters and other tools to visualize and use AIXM 5.1 data in an application. The API
of the new AIXM 5.1 package is similar to the existing AIXM 5.0 API. Please refer to the
developer guide for an introduction to this package.
ImprovementAviation Standards
LMAP-3089
The AIXM5 model decoder now supports decoding of ISO 19115 Metadata which can be included in
messages, features and timeslices.
ImprovementAviation Standards
The AIXM5 model decoder now provides a mechanism to support application-specific resolution of
Xlinks.
Upgrade considerationAviation Standards
All painters in the com.luciad.format.aixm5.view.gxy.painter package have been moved
to the com.luciad.format.aixm5.view.gxy package. The TLcdAIXM5MessageUtil class has been moved
from the com.luciad.format.aixm5.model to the com.luciad.format.aixm5.util package, all its methods
have been made static and the class itself is no longer instantiatable.
The classes TLcdAIXM5DecoderLibrary, TLcdAIXM5EncoderLibrary and TLcdAIXM5MappingLibrary
from the com.luciad.format.aixm5.xml package have been removed,
as they are no longer needed with the new implementation.
Upgrade considerationAviation Standards
The AIXM 5 domain model defined in the com.luciad.format.aixm5.model package has been upgraded
and now provides an API for the complete domain model of AIXM 5.0. As a result, the existing
model classes (TLcdAIXM5AbstractAIXMFeature, TLcdAIXM5AbstractAIXMMessage and
TLcdAIXM5AbstractAIXMTimeSlice) changed incompatibly.
- The domain classes now implement ILcdDataObject; ILcdFeatured is no longer implemented.
- The domain classes are now much less dependent on XML. XML element names for instance no longer
have to be filled in. As a result, the TLcdAIXM5Constants class is no longer need and has been removed from the
API.
- The model descriptor is no longer an ILcdFeaturedDescriptorProvider.
Please refer to the developer guide for more information about the AIXM 5 domain model classes.
9.1
9.1.17
ImprovementAviation Standards
LMAP-4017
It is now possible to specify the preferred departure position for procedures decoded from an ARINC file. A new method 'setPreferredDeparturePosition'
has been added
to the TLcdARINCProcedureHandler class that takes one of the constants RUNWAY_START or RUNWAY_END as an argument. The default
setting is RUNWAY_END which
is compatible with the older behaviour.
9.1.14
Bug fixAviation Standards
LMAP-3943
TLcdDAFIFRegionChooser: fixed a NullPointerException when no ILcdStringTranslator was set.
9.1.08
ImprovementAviation Standards
Improved logging of errors which occur during the geometry calculation of association based airspaces. These errors
indicate that the geometry of an association based airspace is invalid, or that some information is missing. Increase
the logging level to get more information in case such an error occurs.
ImprovementAviation Standards
LMAP-3655
The DAFIF decoders will now show a warning instead of a "severe" error in case a model has no bounds. The error
message will now also refer to the specific DAFIF file which resulted in the empty model.
9.1.07
ImprovementAviation Standards
TLcdProcedure3DGeometryCalculator: Improved the initial altitude setting for SID procedures. This results
in a better discretization of certain leg types.
ImprovementAviation Standards
LMAP-3806
TLcdDAFIFLoader: added a constructor with an ILcdStringTranslator to allow for translation of the label on the 'Update' button
and the 'Types' list.
TLcdDAFIFRegionChooser: added a constructor with an ILcdStringTranslator to allow for translation of the label on the 'ICAO
Regions' list.
9.1.04
ImprovementAviation Standards
LMAP-3794
TLcdAIXM5XPathExpressionFactory: added the possibility to register additional schemas and prefixes with
the XPath expression factory.
Bug fixAviation Standards
LMAP-3790
TLcdICAORunwayPainter: Fixed an issue which caused runways to be drawn with a doubled width.
9.1.03
ImprovementAviation Standards
LMAP-3774
The AIXM5 model decoder now has public accessors to get and set its entity resolver. This
allows the application to determine how references to external schemas are resolved.
9.1.01
ImprovementAviation Standards
LMAP-3671
The AIXM5 sample now automatically adds the ".xml" extension to the file name if it is not present.
This ensures that saved files can always be found in the open file dialog which filters on this extension.
Bug fixAviation Standards
Fixed a possible NullPointerException when painting airspace labels.
9.1
Bug fixAviation Standards
LMAP-3466
TLcdDAFIFAerodromeModelDescriptor, TLcdDAFIFHeliportModelDescriptor: these classes now correctly implement
the getFeatureElementClass method from ILcdCollectionFeaturedDescriptor. This means they will return null in
case the feature index does not correspond to a feature which is a collection.
Bug fixAviation Standards
LMAP-3466
TLcdARINCControlledAirspaceModelDescriptor, TLcdARINCRestrictiveAirspaceModelDescriptor: these classes now correctly implement
the getFeatureElementClass method from ILcdCollectionFeaturedDescriptor. This means they will return null in
case the feature index does not correspond to a feature which is a collection.
Upgrade considerationAviation Standards
The following QName constants are no longer available in TLcdAIXM5Constants.AIXM5.Name: codeSpace_unqual,
id_unqual, uuid_unqual and uuidref_unqual. These are names of attributes that are not included in the AIXM 5
namespace. The original inclusion was erroneous and could cause confusion. Uses of these QName constants should
be replaced with local constants representing these names. They can simply be created for instance like
'new QName("codeSpace")'.
Upgrade considerationAviation Standards
The lcd_aixm_schema_resources.jar has been renamed to lcd_aixm_resources.jar. Applications that
depend on this jar should update their classpath accordingly. In addition, the schemas inside
that jar are now in a 5.0 folder (to prepare for the upcoming 5.1 version). Applications that
rely on the location of these schemas in the classpath to get hold of the schema should update
the path to these schemas (for instance replace someClass.getResource( "AIXM_features.xsd" )
by someClass.getResource( "5.0/AIXM_features.xsd" ) ).
9.0
9.0.20
ImprovementAviation Standards
LUCY-2164
TLcdARINCDecoder: the canDecodeSource method has been improved to reduce the number of files that are falsily
recognized as containing ARINC data.
ImprovementAviation Standards
LMAP-3105
The performance of the ARINC decoder has been improved by up to 30%.
9.0.19
Bug fixAviation Standards
LMAP-3494
The feature class for ILcdAIXMProcedureFeature.ROUTE_TYPE is now correctly set to TLcdProcedureRouteType in TLcdAIXMProcedureTrajectoryModelDescriptor.
Bug fixAviation Standards
LMAP-3481
The ARINC decoder now correctly sets the recommended navaid on FD procedure legs; this results in a
more correct visualization of procedures which contain FD legs.
Bug fixAviation Standards
LMAP-3483
The ARINC decoder now successfully decodes more procedures due to an improved validity check.
Bug fixAviation Standards
LMAP-3482
The geometry calculation for FD type procedure legs has been made more robust, which results in improved visualization
for some procedures containing an FD leg.
9.0.17
ImprovementAviation Standards
LMAP-3467
TLcdProcedureTrajectory now has a valid implementation for getFocusPoint(), by returning
the middle of the trajectory bounds instead of null.
9.0.16
ImprovementAviation Standards
TLcdDAFIFLoader now has two new methods String[] getSelectedSubTypes( String aType ) and void setSelectedSubTypes( String
aType, String[] aSubTypes ).
This allows users to retrieve and set the state of the DAFIF sub types correctly.
Bug fixAviation Standards
The result of the getSelectedTypes method no longer contains an entry with the name of the parent type for each selected sub
type.
9.0.15
ImprovementAviation Standards
LMAP-3396
The decoder logs returned by TLcdAIXMModelDecoder#getErrorMessage() after decoding a file
have been improved. They now include more information about the affected aeronautical entities in the data.
Bug fixAviation Standards
LMAP-3403
The procedure calculator will no longer exceed the minimum or maximum altitudes of a leg when trying to
reach the minimum or maximum altitude of the next leg. This means that when a leg is followed by a leg
with a minimum altitude higher then the current maximum altitude, the trajectory will climb until
the current maximum altitude is reached. The remainder of the climb will be done during the next leg.
A robustness fix was also applied to prevent an exception when calculating procedure geometry.
Bug fixAviation Standards
LMAP-3397
The distance unit FT was not decoded correctly when used for a runway length or width.
9.0.13
ImprovementAviation Standards
LMAP-3375
The decoder for routes and route segments, com.luciad.format.aixm.decoder.TLcdAIXMRouteHandler,
now removes route segments with unresolved referred points from decoded routes.
Any unresolved referred points are still logged by the decoder, as described in enhancement LMAP-3148.
9.0.12
Bug fixAviation Standards
LMAP-3353
TLcdDAFIFTRefuelingTrackDecoder: added support for the assigned ATC and scheduling unit fields in the ARF/ARF_PAR.TXT file.
This fixes a crash when loading newer DAFIFT data which contains these fields.
9.0.10
ImprovementAviation Standards
LMAP-2206
The class which calculates the height of a procedure leg, com.luciad.ais.model.procedure.TLcdProcedure3DGeometryCalculator,
now uses a more efficient approximation in beginAngleArc to calculate the start and end height of the arc. This results in
a performance improvement in case the radius of the arc is not very large.
ImprovementAviation Standards
LMAP-2206
Due to a change in the geometry calculation of procedures, the performance of decoding files containing procedures
has increased with up to 50%.
Bug fixAviation Standards
LMAP-3326
TLcdProcedureGeometryCalculator's handling of CF (Course to Fix) legs has been improved. A new algorithm
was introduced which is capable of finding routes where the previous algorithm failed, it also solves issues
that were hard to fix with the previous algorithm.
Bug fixAviation Standards
The class com.luciad.format.aixm.decoder.TLcdAIXMProcedureHandler now sets the recommended navaid
on the procedure legs if it is available.
Bug fixAviation Standards
The list of ICAO regions now includes YZ and KZ.
9.0.06
Bug fixAviation Standards
LMAP-3091
The geometry of association based airspaces containing arcs has been improved. A union of two geometries
could contain holes where arcs overlapped.
9.0.05
ImprovementAviation Standards
LMAP-3234
TLcdICAORunwayPainter now also supports runway model with a grid reference.
Bug fixAviation Standards
LMAP-3284
TLcdDAFIFProcedureDecoder: NullPointerException when decoding procedures while a decoding bounds is set.
Bug fixAviation Standards
LMAP-3227
ALcdDAFIFAerodromeDecoder: handling incorrect DAFIF data could throw a NumberFormatException.
9.0.02
Bug fixAviation Standards
LMAP-3137
TLcdProcedureGeometryCalculator's handling of CI (Course to Intercept) - AF (Arc to Fix) leg
transitions has been improved.
9.0.01
Bug fixAviation Standards
TLcdDAFIFSpecialUseAirspaceDecoder did not disable subtype filtering by default,
which was inconsistent with the other implementations of ILcdDAFIFSubTypeFilteringDecoder.
9.0
ImprovementAviation Standards
LMAP-3148
The decoder for routes and route segments, com.luciad.format.aixm.decoder.TLcdAIXMRouteHandler,
now logs missing referred points within a route segment.
ImprovementAviation Standards
TLcdDAFIFLoader has been extended with the ability to filter airspaces and special
use airspaces based on their subtype (e.g. CTA, CTR, ...). The interface ILcdDAFIFSubTypeFilteringDecoder
defines this functionality at the decoder level, whereas TLcdDAFIFLoader itself has a
constructor with a boolean parameter to switch this feature on or off.
ImprovementAviation Standards
The new package com.luciad.format.aixm5 introduces support for the aeronautical data format AIXM 5.0.
The package provides support for decoding and encoding AIXM 5.0 data, as well as painters and other tools
to visualize and use AIXM 5.0 data in an application. Please refer to the developer guide for an
introduction to this package.
Upgrade considerationAviation Standards
LMAP-2133
The classes TLcdVectorIcon and TLcdVectorIconDecoder in the com.luciad.ais.gui package have been removed,
as these classes are not intended to be used directly by the user. Furthermore, these classes are also
available in the com.luciad.gui package in LuciadMap. If there would be any dependencies on the classes in AIS,
the classes in LuciadMap can be used instead.
8.2
8.2.22
Bug fixAviation Standards
LMAP-3099
Some DAFIFT decoders (e.g. TLcdDAFIFTAirspaceDecoder) did not use the decoding bounds filter correctly.
Bug fixAviation Standards
LMAP-2999
TLcdProcedureGeometryCalculator's handling of CF (Course to Fix) legs has been
improved.
Bug fixAviation Standards
LMAP-3090
Shapes including the poles were rendered incorrectly when using a geodetic pen. This has been fixed.
8.2.19
Bug fixAviation Standards
LMAP-3074
Enhancement LMAP-3052 introduced an issue in the clone behavior of TLcdDiscretizedLonLatGeoPath,
which could lead to a NullPointerException when using a clone.
8.2.17
ImprovementAviation Standards
LMAP-3052
The implementation of TLcdDiscretizedLonLatGeoPath has been made more memory-efficient,
resulting in significant savings for airspace data (typically around 30%).
8.2.15
ImprovementAviation Standards
LMAP-2982
The list of supported geodetic datum codes from the ARINC-424 specification has been increased
significantly. The full list of supported codes can be found in the ARINC Developer's Guide.
8.2.12
ImprovementAviation Standards
LMAP-3022
The ARINC handlers have been enhanced to reduce memory when loading large ARINC datasets.
8.2.08
Bug fixAviation Standards
LMAP-3002
TLcdARINCEnrouteAirwayHandler: the handler used to create duplicate and incorrect route segments.
8.2.07
Bug fixAviation Standards
LMAP-2991
TLcdARINCEnrouteAirwayHandler did not correctly decode enroute airways with multiple segments.
Bug fixAviation Standards
TLcdARINCControlledAirspaceHandler did not always correctly determined the airspace classification.
Bug fixAviation Standards
LMAP-2986
TLcdARINCControlledAirspaceHandler did not always correctly calculated the unique identifier
for decoded airspaces, causing a misinterpretation in some cases. To fix this, the
airspace classification ILcdARINCAirspaceFeature.CLASS is now taken into account for the unique
identifier.
8.2.06
Bug fixAviation Standards
TLcdProcedure3DGeometryCalculator would in some cases try to descend to
altitude 0 during the last leg of a procedure, without taking into account the
minimum and maximum altitudes set in the procedure leg. This has now been
corrected.
8.2.05
ImprovementAviation Standards
The procedure legs of SID/STAR/IAP procedures decoded by TLcdARINCProcedureHandler
now contain the transition identifier (see ILcdProcedureLeg#getTransitionIdentifier).
ImprovementAviation Standards
The designator of SID/STAR/IAP procedures decoded by TLcdARINCProcedureHandler
is now also available through ILcdProcedure#getDesignator instead of only via ILcdFeatured
implementations of ILcdProcedure.
8.2.04
Bug fixAviation Standards
TLcdARINCFIRUIRHandler now supports FIR/UIR airspaces that have the same identifier, address and type,
but two or more geographical areas. These are now decoded as separate airspace objects, one
for each geographical area. In the past, they were represented as one airspace object with an incorrect
geometric boundary.
To distinguish airspaces with multiple geographical areas, a new identifier ILcdARINCAirspaceFeature.PART_IDENTIFIER
has been added to the unique list of features maintained by TLcdARINCFIRUIRHandler.
8.2.01
ImprovementAviation Standards
The class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath has been made more robust
to correctly handle airspace segments of type ARC that are very small.
Bug fixAviation Standards
LMAP-2897
An issue has been fixed in the class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath that sometimes
resulted in an incorrect discretized geometry for airspace segments of type ARC_BY_EDGE.
8.2
Bug fixAviation Standards
A custom ALcdAISObjectFactory configured on the ARINC handler for Procedure records
through TLcdARINCProcedureHandler#setDomainFactory was not used for all decoded procedures.
8.1
8.1.09
ImprovementAviation Standards
LMAP-2814
The procedure trajectory class com.luciad.ais.model.procedure.TLcdProcedureTrajectory now
uses a more efficient way to store the calculated geometry of a procedure. This results
in a reduction of the memory needed to load a procedure. Furthermore, the geometrical representation
is now stored using java.lang.ref.SoftReference objects, allowing the geometry to be garbage-collected
when memory is running low. This avoids throwing OutOfMemoryErrors at runtime when loading
large procedure datasets.
Bug fixAviation Standards
LMAP-2817
The ARINC handler for Enroute Airway records, TLcdARINCEnrouteAirwayHandler, now initializes
the model descriptor TLcdARINCEnrouteAirwayModelDescriptor with the descriptors for the navaids
DME, VOR, NDB and TACAN. Before, this was only done for the waypoint and route segment descriptors.
8.1.07
Upgrade considerationAviation Standards
LMAP-2782
The list of features to uniquely define an object (see ILcdARINCHandler#getKeyFeatureNames)
has been updated for the following set of ARINC handlers:
- TLcdARINCWayPointHandler: ILcdARINCWayPointFeature.IDENTIFIER, ILcdARINCWayPointFeature.ICAO_REGION, ILcdARINCWayPointFeature.REGION_CODE
- TLcdARINCAerodromeHandler: ILcdARINCAerodromeFeature.IDENTIFICATION, ILcdARINCAerodromeFeature.ICAO_REGION
- TLcdARINCDMEHandler: ILcdARINCDMEFeature.IDENTIFIER, ILcdARINCDMEFeature.ICAO_REGION, ILcdARINCDMEFeature.NAVAID_CLASS
- TLcdARINCVORHandler: ILcdARINCVORFeature.IDENTIFIER, ILcdARINCVORFeature.ICAO_REGION, ILcdARINCVORFeature.NAVAID_CLASS
- TLcdARINCTACANHandler: ILcdARINCTACANFeature.IDENTIFIER, ILcdARINCTACANFeature.ICAO_REGION, ILcdARINCTACANFeature.NAVAID_CLASS
- TLcdARINCNDBHandler: ILcdARINCNDBFeature.IDENTIFIER, ILcdARINCNDBFeature.ICAO_REGION, ILcdARINCNDBFeature.NAVAID_CLASS
- TLcdARINCMarkerHandler: ILcdARINCMarkerFeature.AIRPORT_ID, ILcdARINCMarkerFeature.RUNWAY_ID, ILcdARINCMarkerFeature.IDENTIFIER,
ILcdARINCMarkerFeature.MARKER_TYPE
The previous list of features in these handlers did not uniquely define the decoded objects.
Because duplicates are ignored, this resulted in too few objects in the decoded models.
The handlers TLcdARINCEnrouteAirwayHandler, TLcdARINCHoldingHandler and TLcdARINCProcedureHandler
have been updated accordingly, to take into account the new list of features when retrieving an object
from one of the decoded models (e.g., a procedure that refers to a waypoint).
This results in an improved and more accurate representation of the
decoded objects, when previously some referred objects could not be found.
If there is an explicit dependency on the previous list of features, this might require
some implementation changes. For example, if the previous list of features was used as a unique index
on the decoded models, it should now be used as a normal index that can return multiple objects instead of only one.
8.1.06
Bug fixAviation Standards
LMAP-2773
The class TLcdAIXMDefaultLayerFactory now correctly initializes new layers for empty models.
8.1.04
ImprovementAviation Standards
LMAP-2694
The com.luciad.format.arinc.decoder.TLcdARINCRestrictiveAirspaceHandler now decodes extra features
that provide time information. The following features have been added and are decoded by default:
- Time Code, represented by ILcdARINCAirspaceFeature.TIME_CODE
- NOTAM, represented by ILcdARINCAirspaceFeature.NOTAM
- Time Of Operations, represented by ILcdARINCAirspaceFeature.TIME_OF_OPERATIONS
- Time Of Operations - Time Code, represented by ILcdARINCAirspaceFeature.TIME_OF_OPERATIONS_CODE
- Time Of Operations - Time Indicator, represented by ILcdARINCAirspaceFeature.TIME_OF_OPERATIONS_INDICATOR
- Time Of Operations - NOTAM, represented by ILcdARINCAirspaceFeature.TIME_OF_OPERATIONS_NOTAM
8.1
Upgrade considerationAviation Standards
The domain object ILcdAirspaceCorridor now extends from the general buffer interface com.luciad.shape.ILcdGeoBuffer,
available in LuciadMap. As a result, existing implementations of this interface must now provide an implementation
for the methods ILcdGeoBuffer#getBaseShape(), ILcdGeoBuffer#getEndCapStyle() and ILcdGeoBuffer#getJoinStyle().
8.0
8.0.11
ImprovementAviation Standards
LMAP-2654
The ARINC handlers for Restrictive and Controlled Airspace records,
TLcdARINCRestrictiveAirspaceHandler and TLcdARINCControlledAirspaceHandler,
have been made more robust, as they no longer fail for unrecognized airspace types,
levels or classifications. In these cases, a debug message is now added
to the error message report of the decoder (see TLcdARINCDecoder#getErrorMessage()).
Bug fixAviation Standards
TLcdDAFIFATSRouteDecoder and TLcdDAFIFTATSRouteDecoder: The decoders will only decode routes containing segments.
Empty routes are not added to the model.
8.0.01
ImprovementAviation Standards
The AIXM decoder now decodes the attribute 'mid' for the existing domain objects. This attribute represents an artificial
unique identifier, and is considered optional by the AIXM 3.3 and 4.x specification.
The following domain objects have been updated:
- Aerodrome: ILcdAIXMAerodromeFeature.MID
- Navaid (DME, VOR, NDB, TACAN, Marker): ILcdAIXMNavaidFeature.MID
- Designated point: ILcdAIXMWayPointFeature.MID
- Airspace: ILcdAIXMAirspaceFeature.MID
- Route: ILcdAIXMATSRouteFeature.MID
- Route segment: ILcdAIXMRouteSegmentFeature.MID
- Geoborder: ILcdAIXMGeoborderFeature.MID
- Runway: ILcdAIXMRunwayFeature.MID
- Runway direction: ILcdAIXMRunwayDirectionFeature.MID
- Runway cline point: ILcdAIXMRunwayClinePointFeature.MID
- ILS: ILcdAIXMILSFeature.MID
- Procedure: ILcdAIXMProcedureFeature.MID
The corresponding ILcdAIXMHandler implementations now decode this extra attribute by default.
8.0
ImprovementAviation Standards
A new domain object is added to AIS to represent airspace corridors. The basic interface is com.luciad.ais.model.airspace.ILcdAirspaceCorridor.
Just like the existing airspace types, it extends from the generic airspace interface, ILcdGenericAirspace.
The interface ILcdAirspaceCorridor has a default implementation com.luciad.ais.model.airspace.TLcdAirspaceCorridor and a
featured extension com.luciad.ais.model.airspace.TLcdFeaturedAirspaceCorridor. For a list of features and the corresponding
class mappings, the existing airspace feature interfaces and class mappers are used:
com.luciad.ais.model.airspace.ILcdAirspaceFeature and com.luciad.ais.model.airspace.TLcdAirspaceFeatureClassMapper.
The AIS domain object factory com.luciad.ais.model.ALcdAISObjectFactory is extended with two methods to create
TLcdFeaturedAirspaceCorridor instances.
ImprovementAviation Standards
The AIXM decoder now supports version 4.0 and 4.5 of the AIXM format, next to the originally supported version 3.3.
To comply with the new versions, the decoders, feature lists and feature value domains for existing domain objects
have been updated accordingly.
To represent the new airspace corridor concept introduced in version 4.0, the AIS package is extended with a new domain object,
represented by the interface com.luciad.ais.model.airspace.ILcdAirspaceCorridor. The AIXM airspace decoder,
TLcdAIXMAirspaceHandler, now automatically decodes airspace corridors using this new domain object.
Apart from airspace corridors, no new domain objects or equivalent decoders have been introduced.
Bug fixAviation Standards
TLcdARINCRunwayHandler incorrectly set the widths of runway objects to the value
in feet, rather than converting it to meters as required by the specification of
ILcdRunway.getWidth(). As a result, the runway painter would paint runways wider than
they should be. This has now been corrected. Note that the width in feet, as
read from the ARINC file, is still available in the features of the runway
object (ILcdARINCRunwayFeature.WIDTH and ILcdARINCRunwayFeature.WIDTH_UNIT).
Bug fixAviation Standards
All painters now have clone methods that create proper, deeper clones.
Upgrade considerationAviation Standards
The JTS library, used by AIS, has been upgraded from version 1.5 to 1.8.
Because the name of the library has been changed from jts-1.5.jar to jts-1.8.jar,
a classpath update is required if a classpath for a previous version of LuciadMap is used.
7.2
7.2.18
Bug fixAviation Standards
The class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath now correctly discretizes geopath legs of type
RHUMB_LINE. In the past, this was only correct when the leg corresponded to a meridian or parallel;
in all other cases, the leg was interpreted as a geodesic line.
Bug fixAviation Standards
The class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath could not correctly handle geopath legs of type
ARC_BY_EDGE when the distance between center and edge exceeded a distance of about 300NM. In that case,
the resulting arc did not pass correctly through the given point on the edge. The discretization process
has been improved, and it is now possible to use ARC_BY_EDGE legs with center - edge distances of an
arbitrary length within earth's dimensions.
Bug fixAviation Standards
TLcdDAFIFMilitaryTrainingRouteDecoder: decoding the CROSS_ALTITUDE_x_MEASURE and
ENROUTE_ALTITUDE_x_MEASURE features no longer causes a NumberFormatException.
7.2.04
Upgrade considerationAviation Standards
The airspace domain objects and related objects now have clone methods that create proper, deeper clones.
The clone methods of the following classes have been modified:
- TLcdAirspace: the clone implementation now clones the airspace segments and no longer copies the discretization,
- ILcdAirspaceAssociation: made clone method public,
- TLcdAirspaceAssociation: added clone implementation that shares the airspace,
- TLcdAssociationBasedAirspace: the clone implementation now also clones the associations,
- ALcdDiscretizedGeoPath: added clone implementation that uses super.clone(),
- TLcdDiscretizedLonLatGeoPath: the clone implementation now uses super.clone() and no longer copies the discretization,
- TLcdGeoPath: added protected clone implementation that clones the GeoPath legs,
- TLcdGeoPathLeg: added clone implementation that clones the parameter list.
Please refer to the reference documentation for more detailed information about the actual implementation.
7.2.02
ImprovementAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCDecoder has been made more robust: it does now allow
that ARINC datasets have one or more empty lines at then end. Previously, it rejected all datasets that
did not use 132 characters for each record line.
Bug fixAviation Standards
TLcdDAFIFAerodromeNavaidDecoder: decoding aerodrome navaid objects from a small DAFIF dataset no longer causes
a NullPointerException.
7.2
ImprovementAviation Standards
Support for the DAFIF Edition 8 specification was added to the DAFIF package. The model decoders that can decode
DAFIF Edition 8 data can be found in the package com.luciad.format.dafift.decoder.
ImprovementAviation Standards
The ARINC handlers did not always decode all information available in version 15 of the ARINC 424 format.
They are now extended with new features to make the missing information available.
ImprovementAviation Standards
The com.luciad.format.arinc.decoder.TLcdARINCEnrouteAirwayHandler now decodes all characters
of the com.luciad.format.arinc.model.route.ILcdATSRouteSegmentFeature.CRUISE_LEVEL feature,
where previously it only decoded the first.
ImprovementAviation Standards
The com.luciad.format.arinc.decoder.TLcdARINCNDBHandler now also supports
Terminal airport and heliport NDB navaid records ('PN').
A new feature com.luciad.format.arinc.model.navaid.ILcdARINCNDBFeature.AERODROME_ID
is added that contains the airport/heliport identification code for terminal airport/heliport
NDB navaids.
ImprovementAviation Standards
The com.luciad.format.arinc.model.airspace.ILcdARINCAirspaceFeature is extended with the features
FIR_UIR_COMBINED_FIR_UPPER_LIMIT, FIR_UIR_COMBINED_FIR_UPPER_LIMIT_UNIT and
FIR_UIR_COMBINED_FIR_UPPER_LIMIT_REFERENCE that are only filled in by the
com.luciad.format.arinc.decoder.TLcdARINCFIRUIRHandler : in case an airspace is a combined
FIR/UIR airspace these features contain the upper limit characteristics of the FIR,
while the existing UPPER_LIMIT features contain the upper limit characteristics of the UIR.
ImprovementAviation Standards
The com.luciad.format.arinc.decoder.TLcdARINCWaypointHandler now also supports
Terminal airport ('PC') and heliport ('HC') waypoint records.
A new feature com.luciad.format.arinc.model.navaid.ILcdARINCWayPointFeature.REGION_CODE
is added that contains the airport/heliport identification code for terminal airport/heliport
waypoints, and 'ENRT' for enroute waypoints.
ImprovementAviation Standards
The ARINC decoder now supports version 15, 17 and 18 of the ARINC 424 format,
while previously it only supported version 15.
ImprovementAviation Standards
The airspace painter com.luciad.ais.symbology.icao.TLcdICAOAirspacePainter has been optimized to
improve the drawing performance up to 50%.
Upgrade considerationAviation Standards
To support editable labels for airspaces and navaids, the labelpainters TLcdICAOAirspaceDetailedLabelPainter and TLcdICAONavaidLabelPainter
(which is extended by TLcdICAODMELabelPainter, TLcdICAONDBLabelPainter, TLcdICAOTACANLabelPainter and TLcdICAOVORLabelPainter)
do now extend from TLcdGXYStampLabelPainter instead of TLcdGXYLabelPainter. Because TLcdGXYLabelPainter is a subclass
of TLcdGXYStampLabelPainter, a number of methods are not available anymore:
- public getLabelTextAlignmentMode(), setLabelTextAlignmentMode(int): was not used, because text aligment is automatically chosen
to
comply with the ICAO guidelines.
- public isConsiderPinForBounds(), setConsiderPinForbounds(boolean): was not used.
- public isFrame(), setFrame(boolean): was not used, because framed labels are automatically used to comply with the ICAO guidelines.
- public paintLabel(int aLocationIndex, java.awt.Graphics aGraphics, int aMode, ILcdGXYContext aGXYContext): replaced by
paintLabel(java.awt.Graphics aGraphics, int aMode, ILcdGXYContext aGXYContext),
because the location is automatically determined by TLcdGXYStampLabelPainter
- protected paintPin(java.awt.Graphics aGraphics, int aMode, int aStartPointX, int aStartPointY, int aEndPointX, int aEndPointY):
painting the pin is handled automatically by TLcdGXYStampLabelPainter
- protected calculateMaxLabelWidth(java.lang.String[] aLabelArray, java.awt.Graphics aGraphics): only removed in
TLcdGXYNavaidLabelPainter, but still available in TLcdICAOAirspaceDetailedLabelPainter as it was a public method in that class.
- protected getUpperLeftPointSFCT(java.awt.Point aAnchorPoint, java.lang.String[] aLabelArray, int aMaxLabelWidth,
int aSingleLabelHeight, java.awt.Point aLocationPointSFCT): the position of the upper left point is
now automatically determined by TLcdGXYStampLabelPainter.
- protected getPinPointSFCT(java.awt.Point aAnchorPoint, java.lang.String[] aLabelArray, int aSingleLabelHeight,
java.awt.Point aPinLocation): the position of the pin point is
now automatically determined by TLcdGXYStampLabelPainter.
These changes may be incompatible if any code made use of one of the methods listed above or if it explicitly relied on the
fact that these labelpainters
were of the type TLcdGXYLabelPainter (e.g., in an instanceof test).
Upgrade considerationAviation Standards
The com.luciad.format.arinc.decoder.TLcdARINCRestrictiveAirspaceHandler now uses the
com.luciad.format.arinc.model.airspace.ILcdARINCAirspaceFeature features ICAO_REGION, TYPE,
RESTRICTIVE_AIRSPACE_DESIGNATOR and MULTIPLE_CODE to uniquely identify a restrictive airspace,
where previously it only used the RESTRICTIVE_AIRSPACE_DESIGNATOR : only using
the RESTRICTIVE_AIRSPACE_DESIGNATOR could lead to incorrect airspaces, i.e. too few airspaces
with too many segments.
7.1
7.1.18
ImprovementAviation Standards
The DAFIF decoders now also allow to supply a single source file to decode,
instead of a DAFIF root directory path or a table of contents (.toc) file.
Note however that a filename should correspond to the associated filename of a decoder,
which can be retrieved through ILcdDAFIFDecoder.getDecodeFileName().
7.1.10
Bug fixAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCFIRUIRHandler did not correctly decode data records
in the ARINC version 15 format or later.
Bug fixAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCFIRUIRHandler did not decode the lower limit reference.
7.1.07
Bug fixAviation Standards
The classes com.luciad.format.arinc.decoder.TLcdARINCDMEHandler, TLcdARINCVORHandler and TLcdARINCTACANHandler
did not correctly decode an 'Out of service' figure of merit.
Bug fixAviation Standards
The classes com.luciad.format.arinc.decoder.TLcdARINCAirportCommunicationHandler,
com.luciad.format.arinc.decoder.TLcdARINCHeliportCommunicationHandler and
com.luciad.format.arinc.decoder.TLcdARINCEnrouteCommunicationHandler produced domain objects
with altitude values in feet which is now corrected to meters.
Bug fixAviation Standards
The classes com.luciad.format.arinc.decoder.TLcdARINCAerodromeHandler and
com.luciad.format.arinc.decoder.TLcdARINCHeliportHandler did not correctly decode the speed limit altitude
in case the record specified F instead of FL to indicate Flight Level as altitude unit.
Bug fixAviation Standards
The classes com.luciad.format.arinc.decoder.TLcdARINCAerodromeHandler and
and com.luciad.format.arinc.decoder.TLcdARINCHeliportHandler produced aerodromes
with altitude values in feet. This is now corrected to meters.
7.1.05
Bug fixAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCMarkerHandler did not correctly decode the marker type, as it only
recognized the value 'Locator at marker'.
Bug fixAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCHoldingHandler did not correctly set the altitude description
of the holding leg (see ILcdProcedureLeg.getAltitudeDescription) when the lower or upper altitude was not defined.
It did also not correctly decode the course value of the leg if it was encoded with a T as last character.
7.1.03
ImprovementAviation Standards
A new method getVectorIcon(Object) has been introduced in the class com.luciad.ais.symbology.icao.TLcdICAODefaultSymbolProvider,
to allow the user to create extensions that add new vector icons. These icons are automatically cached in an image,
if the isPaintVectorIcons() property returns false.
7.1.02
Bug fixAviation Standards
TLcdAIXMModelDecoder could not correctly work with ILcdAIXMHandler implementations that were extensions of the predefined
ILcdAIXMHandler implementations in the package com.luciad.format.aixm.decoder.
Bug fixAviation Standards
Updates to a domain object that were decoded after a key change of the domain object in an update file
were ignored by the predefined ILcdAIXMHandler implementations in the package com.luciad.format.aixm.decoder.
7.1.01
Bug fixAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCControlledAirspaceHandler now uses Float instances for the features
ILcdARINCAirspaceFeature.RNP (Required Navigation Performance) instead of String instances, which was not correct according
to the documentation of these features.
7.1
Bug fixAviation Standards
TLcdProcedureGeometryCalculator now respects the turn direction specified in
procedure legs wherever possible. In previous versions, the turn direction
would in some cases be ignored in favour of the shortest turn (i.e. the turn
requiring the smallest course change).
7.0
7.0.15
Bug fixAviation Standards
The geometry calculator for procedures, TLcdProcedureGeometryCalculator, could not handle CD or VD legs
with a navaid distance larger than 100 km. This limit has been removed, allowing arbitrary long distances.
7.0.01
Bug fixAviation Standards
The class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath used TLcdXYPoint objects instead of TLcdLonLatPoint objects
to represent the discretized points of an airspace. This caused problems with airspaces that crossed the 180th meridian,
more specifically in bounds calculations, model2world and world2view transformations; the coordinates of the discretized
points were still correct.
Bug fixAviation Standards
The class com.luciad.format.aixm.decoder.TLcdAIXMILSHandler did not correctly set a descriptor for the collocated
DME objects in the ILS model descriptor. This DME descriptor is now properly set while decoding, and can be retrieved
through TLcdAIXMILSModelDescriptor.getDMEDescriptor().
7.0
ImprovementAviation Standards
The DAFIF decoders no longer discard objects with an unsupported or unknown
geodetic datum if the record also contains a WGS84-based lon/lat coordinate
pair.
ImprovementAviation Standards
ALcdDAFIFDecoder has been extended with two methods, setInputStreamFactory(ILcdInputStreamFactory) and getInputStreamFactory(),
which allow users to set a custom ILcdInputStreamFactory. An ILcdInputStreamFactory is used to create InputStream objects
for
source files. By default, TLcdInputStreamFactory is used.
ImprovementAviation Standards
TLcdARINCDecoder has been extended with two methods, setInputStreamFactory(ILcdInputStreamFactory) and getInputStreamFactory(),
which allows users to set a custom ILcdInputStreamFactory. An ILcdInputStreamFactory is used to create InputStream objects
for
source files. By default, TLcdInputStreamFactory is used.
Bug fixAviation Standards
ILcdDAFIFParachuteJumpAreaFeature contains a new altitude reference feature,
which allows applications to distinguish Above Ground Level (AGL) altitudes
from Above Mean Sea Level (AMSL) ones. Also, the decoder no longer sets the
altitude unit to null if the altitude reference is AGL.
Upgrade considerationAviation Standards
The class com.luciad.ais.view.gxy.TLcdGXYProcedureTrajectoryLegLabelPainter and the identical
sample class
samples.ais.view.gxy.TLcdGXYProcedureTrajectoryLegLabelPainter do now implement
ILcdGXYMultilabelPainter, since
they paint a label at each leg of a procedure. These changes may be incompatible if any code
explicitly
invokes the labelBoundsSFCT() or paintLabel() method: the current implementation requires to set
the label index
and sublabel index before invoking these methods.
Upgrade considerationAviation Standards
The implementations of ILcdShape in com.luciad.ais.shape.** and com.luciad.ais.model.** have received consistent
implementations of the methods clone, equals and hashCode. Notably,
the method clone now always delegates to the method super.clone, which ensures
that a class of the proper type is created, even for extensions. The methods
equals and hashCode always compare the classes and the properties of the
shapes, like coordinates, height, etc. Note that this may still yield
surprising results if extensions don't properly override these implementations,
which was already the case in previous versions. These changes may be
incompatible if any code explicitly or implicitly relies on previously missing
or imperfect implementations.
6.2
6.2.21
Bug fixAviation Standards
The runway painter com.luciad.ais.symbology.icao.TLcdICAORunwayPainter now returns a valid ILcdGXYPainter for each ILcdRunway,
regardless of its geometry. In the past, null was returned for runways with less than two points, which could lead to a NullPointerException.
Note that the ILcdGXYPainter that is now returned for ILcdRunway objects with less than two points does not paint the runway,
as this
cannot be done according to the ICAO specification.
6.2.12
Bug fixAviation Standards
The class com.luciad.format.aixm.decoder.TLcdAIXMAirspaceHandler now omits all airspaces that don't have a geometry
from the resulting model. In the past, only association-based airspaces without a geometry were omitted. An error message
specifying these omitted airspaces can be retrieved through the method getErrorMessage() in TLcdAIXMModelDecoder,
after the decoding process.
6.2.04
ImprovementAviation Standards
A new method setDefaultGeodeticDatum(ILcdGeodeticDatum) has been introduced in all ILcdARINCHandler implementations,
to make it possible to set a default datum. This datum is used for records which do not explicitly mention a geodetic datum.
By default, WGS 84 is set.
Bug fixAviation Standards
TLcdDAFIFRefuelingTrackDecoder incorrectly interpreted UHF frequencies as being
expressed in Hertz, where they should have been MegaHertz. The values of the
PRIMARY_UHF_FREQUENCY_UNIT and BACKUP_UHF_FREQUENCY_UNIT fields defined by
ILcdDAFIFRefuelingTrackFeature are now set to TLcdFrequencyUnit.MHZ_UNIT
instead of TLcdFrequencyUnit.HZ_UNIT.
Bug fixAviation Standards
A memory leak has been fixed in the DAFIF independent decoders:
- TLcdDAFIFIndependentAerodromeNavaidDecoder
- TLcdDAFIFIndependentATSRouteDecoder
- TLcdDAFIFIndependentHelipadDecoder
- TLcdDAFIFIndependentHoldingDecoder
- TLcdDAFIFIndependentILSDecoder
- TLcdDAFIFIndependentProcedureDecoder
- TLcdDAFIFIndependentRunwayDecoder
After decoding, these decoders still kept a reference to the external models needed while decoding
the domain objects.
Bug fixAviation Standards
A memory leak has been fixed in TLcdAIXMModelDecoder, which caused that all registered ILcdAIXMHandler
instances were still referenced after having invoked the method removeAllHandlersForTypeToBeDecoded().
Bug fixAviation Standards
The DAFIF ILS decoder TLcdDAFIFILSDecoder, which generates a model list with localizer, glide slope, marker and DME objects,
did not correctly parse the frequency feature: the implicit comma between the fourth and fifth character in the record value
was ignored, resulting in frequencies that were a factor 1000 larger than expected.
6.2.03
Bug fixAviation Standards
The (optional) additional points between the low end and high end of runways were not correctly decoded by TLcdDAFIFRunwayDecoder.
6.2
ImprovementAviation Standards
The decoders TLcdDAFIFAerodromeDecoder and TLcdDAFIFHeliportDecoder are now capable of decoding respectively airport and heliport
communication records (regular records and remark records). These communication records are modeled by
com.luciad.ais.model.service.TLcdFeaturedService and are available as a feature for the associated airport/heliport object
(by default,
this is TLcdFeaturedAerodrome). The corresponding feature name is ILcdDAFIFAerodromeFeature.AERODROME_COMMUNICATIONS. The
communication
records are decoded by default by TLcdDAFIFAerodromeDecoder and TLcdDAFIFHeliportDecoder. To prevent this, one can exclude
ILcdDAFIFAerodromeFeature.AERODROME_COMMUNICATIONS from the list of features through the methods setAirportFeaturesToBeDecoded()
and setHeliportFeaturesToBeDecoded() in respectively TLcdDAFIFAerodromeDecoder and TLcdDAFIFHeliportDecoder.
The supported features for the communication object itself are listed in com.luciad.format.dafif.model.communication.ILcdDAFIFCommunicationFeature.
By default, all these features are decoded by TLcdDAFIFAerodromeDecoder and TLcdDAFIFHeliportDecoder. To restrict this list,
one can use the new method setCommunicationFeaturesToBeDecoded() in TLcdDAFIFAerodromeDecoder and TLcdDAFIFHeliportDecoder.
Finally, the classes TLcdDAFIFAerodromeModelDescriptor and TLcdDAFIFHeliportModelDescriptor have two extra methods, setCommunicationDescriptor()
and getCommunicationDescriptor(), that allow to set/retrieve a featured descriptor for the communication object.
ImprovementAviation Standards
The class TLcdAIXMDefaultLayerFactory has been extended with a protected method createGXYLayer(), which by default
returns an instance of TLcdGXYLayer. This method is used to create a layer instance for each model.
ImprovementAviation Standards
The class TLcdARINCDefaultLayerFactory has been extended with a protected method createGXYLayer(), which by default
returns an instance of TLcdGXYLayer. This method is used to create a layer instance for each model.
ImprovementAviation Standards
New ILcdARINCHandler implementations have been added to com.luciad.format.arinc.decoder to decode airport/heliport/enroute
communications: TLcdARINCAirportCommunicationHandler, TLcdARINCHeliportCommunicationHandler and TLcdARINCEnrouteCommunicationHandler.
All the handlers make use of the general service domain object in AIS (see com.luciad.ais.model.service) to model the communication
objects. Decoded models have as model descriptor respectively an instance of TLcdARINCAirportCommunicationModelDescriptor,
TLcdARINCHeliportCommunicationModelDescriptor and TLcdARINCEnrouteCommunicationModelDescriptor.
The interface ILcdARINCCommunicationFeature represents general features of an ARINC communication object;
ILcdARINCAerodromeCommunicationFeature and ILcdARINCEnrouteCommunicationFeature extend this
interface to add more specific features for airports/heliports and enroutes.
ImprovementAviation Standards
A new ILcdAIXMHandler implementation has been added com.luciad.format.aixm.decoder to decode procedures
(SID, STAR, IAP): TLcdAIXMProcedureHandler. The package com.luciad.format.aixm.model.procedure
contains classes and interfaces for all procedure related aspects within AIXM.
ImprovementAviation Standards
TLcdDAFIFLayerConfiguration has been extended with new properties to set the icon size for all icon-based symbols.
ImprovementAviation Standards
TLcdARINCLayerConfiguration has been extended with new properties to set the icon size for all icon-based symbols.
ImprovementAviation Standards
TLcdAIXMLayerConfiguration has been extended with new properties to set the icon size for all icon-based symbols.
ImprovementAviation Standards
The class com.luciad.ais.symbology.icao.TLcdICAODefaultSymbolProvider has been extended with the methods setIconSize(int)
and
getIconSize(), which allow to change the icon size. The default value is still the same, namely 16.
Furthermore, image icons are now lazy loaded instead of precomputed as in the past. Image icons that are never requested
will therefore not be cached in memory anymore.
ImprovementAviation Standards
A new domain object is added to AIS to represent service objects (e.g. an Air Traffic Control service).
The new package com.luciad.ais.model.service contains several interfaces and classes that can be used
to model services. The AIS domain object factory com.luciad.ais.model.ALcdAISObjectFactory is extended
with two factory methods to create service objects. Please refer to the AIS Developer's Guide and
the reference guide for more details.
Bug fixAviation Standards
The airspace decoders TLcdDAFIFAirspaceDecoder and TLcdDAFIFSpecialUseAirspaceDecoder did not correctly handle altitude
values that were defined by 6 instead of 5 characters in a data record. In that case, the last character was skipped.
Bug fixAviation Standards
ILcdDAFIFMilitaryTrainingRoutePointFeature and ILcdDAFIFRefuelingTrackFeature
contain several new features to represent altitude values. These new features
supersede all previously existing altitude features for which the unit of
measure was specified as a TLcdDistanceUnit. The new features have the same
names as the originals, but use an additional "_MEASURE" suffix. The value of
these new features is of type ILcdISO19103Measure, which provides both the
altitude value and an appropriate unit of measure (a TLcdAltitudeUnit).
Bug fixAviation Standards
TLcdDAFIFMilitaryTrainingRouteDecoder and TLcdDAFIFRefuelingTrackDecoder now
always fill in the altitude unit features of the decoded domain objects.
Previously, altitudes expressed as Flight Levels would result in the altitude
unit features being null.
Bug fixAviation Standards
The implementations of ILcdDefaultDisplayNameSettable.getDefaultDisplayName() in com.luciad.ais.model.* did not check
whether the feature at the default display name index was set.
Bug fixAviation Standards
TLcdDAFIFLoader could not handle source paths that contained the prefix "file:".
Upgrade considerationAviation Standards
A new interface ILcdEditableAirspaceAssociation has been introduced in the package com.luciad.ais.model.airspace,
which defines the operations to edit the attributes and relationships of an airspace association. The class
TLcdAirspaceAssociation now also implements this interface, next to ILcdAirspaceAssociation. The general
domain object factory class com.luciad.ais.model.ALcdAISObjectFactory has been extended with a
factory method createEditableAirspaceAssociation() to create objects of the type ILcdEditableAirspaceAssociation.
6.1
6.1.17
Bug fixAviation Standards
TLcdRefuelingTrackModelDescriptor no longer returns the same feature index for
the RECEIVER_CHANNEL and TANKER_CHANNEL attributes defined in
ILcdDAFIFRefuelingTrackFeature.
6.1.16
Bug fixAviation Standards
TLcdDAFIFMilitaryTrainingRouteDecoder no longer duplicates the
ENROUTE_ALTITUDE_2_UNIT feature, and correctly reads the ENROUTE_ALTITUDE_2
value instead.
6.1.15
Bug fixAviation Standards
The properties TLcdAIXMLayerConfiguration.CFG_GEOBORDER_ICONSTYLE_COLOR and
TLcdAIXMLayerConfiguration.CFG_GEOBORDER_ICONSTYLE_SELECTIONCOLOR were not used in the past.
This has been fixed.
6.1.14
Bug fixAviation Standards
The icon used by com.luciad.ais.symbology.icao.TLcdICAODefaultSymbolProvider to represent a VORTAC object (see enhancement
2607)
was corrupted in all previous 6.1 releases. This has been fixed.
6.1.06
ImprovementAviation Standards
The default configuration properties in TLcdAIXMLayerConfiguration are now fully documented.
ImprovementAviation Standards
The default configuration properties in TLcdARINCLayerConfiguration are now fully documented.
6.1.01
ImprovementAviation Standards
Support for the following geodetic datum codes has been added: ROM, BRN, DGI, IGL, DLX
PRD and RNB. All geodetic datum codes defined by the AIXM 3.3 specification are now supported.
Bug fixAviation Standards
TLcdDAFIFLonLatParser did not correctly handle longitudes or latitudes that contained a single '/' character
in the part which represent the 100th of a second, which is possible according to the DAFIF specification.
In that case, the coordinates where moved to N00000000, E000000000.
6.1
ImprovementAviation Standards
The mechanism that is used by the class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath to prevent self-intersecting
discretizations can now be controlled by the user of the API: the class has been extended with a protected method
acceptCorrection(ILcdGeoPathLeg, int, ILcdPoint, ILcdPoint), which is invoked for each planned data correction.
By default, this method returns true in all cases. Please refer to the javadoc of the class and the method for more details.
ImprovementAviation Standards
Support has been added for additional local horizontal datums in the method getLocalHorizontalDatum(String) in
com.luciad.format.dafif.decoder.ALcdDAFIFDecoder: OEG, VOR, OGB, AFG, CHU, QAT, YAC, ZAN, LIB, LUZ, MIK, MAS, LEH.
ImprovementAviation Standards
The performance of the DAFIF data preparator (samples.decoder.dafif.datapreparator.DAFIFDataPreparator or
com.luciad.format.dafif.tools.TLcdDAFIFDataPreparatorMain) has been greatly improved.
This tool can be used to split large DAFIF files into smaller ones. The division of the DAFIF data
is based on the two letter ICAO region found in each record.
ImprovementAviation Standards
The class com.luciad.ais.model.airspace.TLcdAirspace has been extended with a method getSegmentIndexForPoint(int),
which returns the airspace segment that contains the discretized point at a given index.
ImprovementAviation Standards
Layers created with TLcdDAFIFDefaultLayerFactory now use a separate icon for VOR, VOR-DME and VORTAC objects,
following the ICAO Annex 4 standard. In the past, the same icon was used for all VOR objects.
ImprovementAviation Standards
Layers created with TLcdARINCDefaultLayerFactory now use a separate icon for VOR, VOR-DME and VORTAC objects,
following the ICAO Annex 4 standard. In the past, the same icon was used for all VOR objects.
ImprovementAviation Standards
Layers created with TLcdAIXMDefaultLayerFactory now use a separate icon for VOR, VOR-DME and VORTAC objects,
following the ICAO Annex 4 standard. In the past, the same icon was used for all VOR objects.
ImprovementAviation Standards
The class com.luciad.ais.symbology.icao.TLcdICAODefaultSymbolProvider has been extended with a method
setNavaidTypeIndex(int), which allows to set the index of a feature that specifies the navaid type; these
types are defined in the type safe enumeration class TLcdNavaidType. When the index is specified,
this feature is used to make a distinction between a VOR, a VOR-DME and a VORTAC object to provide a
separate icon for these types following the ICAO Annex 4 standard. Otherwhise, the same icon is used
for all VOR objects, as in the past.
Bug fixAviation Standards
The class com.luciad.format.arinc.decoder.TLcdARINCRunwayHandler didn't reset its internal state when decoding a new model,
which caused problems when the same object of this class was used for multiple decoding steps.
Bug fixAviation Standards
TLcdARINCDecoder failed to close its input streams if an exception occured while
decoding.
Bug fixAviation Standards
ALcdDAFIFMultiModelDecoder failed to close its input streams if an exception
occured while decoding.
Upgrade considerationAviation Standards
The method getLocalHorizontalDatum(String) in com.luciad.format.dafif.decoder.ALcdDAFIFDecoder now always
throws an IllegalArgumentException when a geodetic datum code is not supported or unknown. In the past,
this method returned null for a partial list of unsupported codes and generated an exception for the remaining
unsupported codes, which was not consistent. All implementations of ALcdDAFIFDecoder have been updated to
properly catch this exception, and add a corresponding message to the error message object (see ALcdDAFIFDecoder.getErrorMessage()).
6.0
6.0.14
ImprovementAviation Standards
The class com.luciad.format.aixm.decoder.TLcdAIXMAirspaceHandler, which is used to decode airspaces,
contained a filter that removed all airspaces of type TLcdAirspaceType.PART. This filter has been removed
to let the user choose whether these airspaces must be filtered or not. By implementing ILcdAIXMModelFilter,
one can create a custom filter for the decoder.
Bug fixAviation Standards
A bug has been fixed in TLcdARINCProcedureHandler which caused a wrong altitude setting for
an ILcdProcedureLeg, when a procedure record contained the value 'V' for the altitude description.
Bug fixAviation Standards
A problem has been fixed in com.luciad.format.aixm.decoder.TLcdAIXMAirspaceHandler which sometimes
caused an invalid airspace reference inside ILcdAirspaceAssociation objects, in the case the source
data contained multiple level airspace associations.
Bug fixAviation Standards
An additional issue has been fixed in the class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath, which sometimes
resulted in the lack of a point on the boundaries of a discretized airspace segment of type SUB_POINT_LIST (e.g. a geoborder).
Bug fixAviation Standards
All ILcdAIXMHandler implementations now use WGE (WGS 1984) as default datum code instead, as defined in the AIXM 3.3 specification.
In the past, domain objects without datum code were ignored and an error message was printed.
6.0.12
Bug fixAviation Standards
Carriage returns and/or newlines in feature values of domain objects were ignored by the decoder.
6.0.09
ImprovementAviation Standards
A new method getSubPointlist() has been introduced in the class com.luciad.ais.model.airspace.TLcdSubPointlistAirspaceSegment,
to allow the user to retrieve the associated ILcdPointList.
6.0.08
Bug fixAviation Standards
A bug has been fixed in the parsing mechanism of longitude and latitude coordinates: a fraction was always
interpreted as the fraction for seconds, but this is not always correct as it sometimes represents the
fraction for degrees or minutes, depending on the position of the period.
Bug fixAviation Standards
After decoding AIXM update files, the updated models now generate correct model changed events for
each new, withdrawn or changed object.
6.0.07
Bug fixAviation Standards
Additional improvements have been made to com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath to prevent self-intersecting
discretizations.
Bug fixAviation Standards
An issue has been fixed in the class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath that sometimes
resulted in a wrong mapping between a point index and a geopath leg, which is used by the methods
getLegForPoint() and getLegIndexForPoint(). In the case of SUB_POINT_LIST legs, the first point of the next
leg was in some case assumed to be part of the SUB_POINT_LIST leg.
Bug fixAviation Standards
Fixed an issue in TLcdDAFIFProcedureDecoder that could make the decoder fail to
retrieve runways referenced by a procedure leg.
6.0
ImprovementAviation Standards
A new ILcdARINCHandler implementation has been added to com.luciad.format.arinc.decoder to decode holdings: TLcdARINCHoldingHandler.
Decoded models have as model descriptor an instance of com.luciad.format.arinc.model.procedure.TLcdARINCHoldingModelDescriptor.
The interface ILcdARINCHoldingFeature represents the features of an ARINC holding object,
and the class TLcdARINCHoldingFeatureClassMapper keeps track of their corresponding classes.
Upgrade considerationAviation Standards
com.luciad.ais.model.ILcdFeatureIndexedModel, ILcdFeatureIndexedAnd2DBoundsIndexedModel and
TLcdFeatureIndexedAnd2DBoundsIndexedModel were moved to the Core in package com.luciad.model.
This means any code referring these classes will no longer compile. By just making
these search and replaces in (the import statements of) the source code, things will compile again:
- "com.luciad.ais.model.ILcdFeatureIndexedModel" -> "com.luciad.model.ILcdFeatureIndexedModel"
- "com.luciad.ais.model.ILcdFeatureIndexedAnd2DBoundsIndexedModel" -> "com.luciad.model.ILcdFeatureIndexedAnd2DBoundsIndexedModel"
- "com.luciad.ais.model.TLcdFeatureIndexedAnd2DBoundsIndexedModel" -> "com.luciad.model.TLcdFeatureIndexedAnd2DBoundsIndexedModel"
5.3
5.3.17
Bug fixAviation Standards
The class com.luciad.format.aixm.decoder.TLcdAIXMRunwayHandler now uses Double instances for the features
ILcdRunwayFeature.WIDTH and ILcdRunwayFeature.LENGTH instead of Float instances, which was not correct according
to the documentation of these features.
5.3.16
ImprovementAviation Standards
The class com.luciad.ais.symbology.icao.TLcdICAOAirspaceDetailedLabelPainter has been extended with a new method
setClassIndex(int), which is used to set the index of the airspace class feature (ILcdAirspaceFeature.CLASS).
The airspace class feature will be used in the label to display the actual class instead of the airspace type feature,
if the type feature has as value TLcdAirspaceType.CLASS.
Bug fixAviation Standards
An issue has been fixed in the class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath, which sometimes
resulted in the lack of a point on the boundaries of a discretized airspace segment of type SUB_POINT_LIST (e.g. a geoborder).
5.3.15
Bug fixAviation Standards
The geopath leg types GEODESIC_LINE, RHUMB_LINE, ARC and ARC_BY_EDGE in com.luciad.ais.shape.ILcdGeoPathLeg
mentioned in their documentation that the geometry was determined by the previous leg and the current leg,
which was not correct and did not correspond to the implementation in TLcdDiscretizedLonLatGeoPath.
This implementation uses the next leg instead of the previous leg to determine the geometry.
The documentation in ILcdGeoPathLeg has been updated accordingly.
5.3.12
Bug fixAviation Standards
TLcdDAFIFLoader didn't work correctly under JDK 1.5 when a DAFIF source path was used that contained spaces.
5.3.11
ImprovementAviation Standards
The class com.luciad.format.aixm.decoder.TLcdAIXMModelDecoder makes it possible to set a custom ILcdInputStreamFactory,
but this ILcdInputStreamFactory was never used when performing an AIXM update operation.
This has been fixed.
5.2
5.2.03
ImprovementAviation Standards
The available configuration properties in com.luciad.format.aixm.TLcdAIXMLayerConfiguration are now fully documented.
ImprovementAviation Standards
The available configuration properties in TLcdDAFIFLayerConfiguration are now fully documented.
ImprovementAviation Standards
The available configuration properties in TLcdARINCLayerConfiguration are now fully documented.
Upgrade considerationAviation Standards
Improvements have been made to com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath to prevent self-intersecting
discretizations, which is typically caused by data inaccuracies. In particular, the discretization of
ILcdGeoPathLeg instances of the type ILcdGeoPathLeg.ARC and ILcdGeoPathLeg.SUB_POINT_LIST
are adapted to resolve these self-intersections. Additionally, the parameter list of an ILcdGeoPathLeg of type
ILcdGeoPathLeg.ARC can now optionally be extended with a radius, which will be used in the case of an inaccurate
arc center. This change will only be incompatible in some implementations which have an explicit check on the number of
parameters associated with an ILcdGeoPathLeg instance of type ILcdGeoPathLeg.ARC: this was before exactly 4 but can now be
5.
5.2
ImprovementAviation Standards
A new interface com.luciad.ais.model.aerodrome.ILcdRunwayClinePoint has been added to model centre line points
of a runway. It has an editable extension ILcdEditableRunwayClinePoint, a default implementation TLcdRunwayClinePoint
and a featured extension TLcdFeaturedRunwayClinePoint.
The AIS domain object factory com.luciad.ais.model.ALcdAISObjectFactory is extended with two methods to create
runway centre line points.
ImprovementAviation Standards
The package com.luciad.format.aixm is a new LuciadMap option, available since v5.2.
This option can be used to decode AIXM data. A developer guide and a sample are included.
ImprovementAviation Standards
A new domain object is added to AIS to represent association-based airspaces. These airspaces are built from
other airspaces (single or also association-based) using different geometric combinations or association types. The AIXM
specification was taken as the basis for this domain object. The basic interface is
com.luciad.ais.model.airspace.ILcdAssociationBasedAirspace, which extends from ILcdShapeList. It has an editable
extension ILcdEditableAssociationBasedAirspace, a default implementation
TLcdAssociationBasedAirspace and a featured extension TLcdFeaturedAssociationBasedAirspace.
An association-based airspace contains one or more associations; these associations are represented by a new interface
ILcdAirspaceAssociation, which has a default implementation TLcdAirspaceAssociation. An ILcdAirspaceAssociation contains
an airspace (single or association-based), an association type and a sequence number. The association type is one of the
types defined by the new type safe enumeration class TLcdAirspaceAssociationType.
Furthermore, the interface com.luciad.ais.model.airspace.ILcdGenericAirspace is introduced to have
a new top-level airspace; the interfaces ILcdAirspace and ILcdAssociationBasedAirspace are extensions from this
general interface.
The airspace painter com.luciad.ais.symbology.icao.TLcdICAOAirspacePainter and airspace label painters
com.luciad.ais.symbology.icao.TLcdICAOAirspaceLabelPainter and com.luciad.ais.symbology.icao.TLcdICAOAirspaceDetailedLabelPainter
are updated to provide support for ILcdAssociationBasedAirspace objects (next to the previously supported ILcdAirspace objects).
The AIS domain object factory com.luciad.ais.model.ALcdAISObjectFactory is extended with two methods to create
association-based airspaces.
ImprovementAviation Standards
A new ILcdARINCHandler implementation has been added to com.luciad.format.arinc.decoder to decode heliports: TLcdARINCHeliportHandler.
Bug fixAviation Standards
The methods setBeginPoint(ILcdPoint) and setEndPoint(ILcdPoint) in the class com.luciad.ais.model.route.TlcdRouteSegment
cloned the supplied point as an ILcd3DEditablePoint, making it impossible to retain specific implementations (e.g. featured)
of ILcdPoint. This clone operation has now been removed.
Upgrade considerationAviation Standards
The interface com.luciad.ais.model.route.ILcdEditableRoute has been extended with two methods
removeSegment(ILcdRouteSegment) and removeSegmentAt(int) which make it possible to remove
ILcdRouteSegment objects. To remain compatible, each implementation of this interface (either directly or through an extension)
should provide an implementation for these methods:
- removeSegment(ILcdRouteSegment) removes the given ILcdRouteSegment object from the route.
- removeSegmentAt(int) removes the ILcdRouteSegment with the given index from the route.
Upgrade considerationAviation Standards
The return type of the method getAirspace() in com.luciad.ais.symbology.icao.TLcdICAOAirspaceDetailedLabelPainter
and in com.luciad.ais.symbology.icao.TLcdICAOAirspaceLabelPainter has been changed from ILcdAirspace to the more
general interface ILcdGenericAirspace from which ILcdAirspace extends. It is however improbable that this method
is called from user code.
5.1
5.1.08
Bug fixAviation Standards
When using the default constructor of TLcdDAFIFDefaultLayerFactory, each created layer was initially not visible.
Bug fixAviation Standards
When using the default constructor of TLcdARINCDefaultLayerFactory, each created layer was initially not visible.
5.1.07
Bug fixAviation Standards
The class com.luciad.ais.shape.TLcdDiscretizedLonLatGeoPath has been extended with a method invalidate(),
which makes it possible to discard the cached discretisation and recalculate it. This is necessary when an individual ILcdGeoPathLeg
has been changed. Other domain object implementations of ILcdGeoPath that performed a discretisation using this class
had the same problem: TLcdAirspace, TLcdHelipad and TLcdParachuteJumpArea. These classes have also been extended with a method
invalidate().
5.1
ImprovementAviation Standards
A separate model descriptor for each domain object used by DAFIF has been introduced (as an extension of the corresponding
general AIS model descriptor),
to facilitate detection of the origin of data. DAFIF decoders now produce models using these specific
model descriptors instead of the general AIS model descriptors.
ImprovementAviation Standards
A separate model descriptor for each domain object used by ARINC has been introduced (as an extension of the corresponding
general AIS model descriptor),
to facilitate detection of the origin of data. ARINC handlers now produce models using these specific
model descriptors instead of the general AIS model descriptors.
ImprovementAviation Standards
A new domain object is added to AIS to represent geographical borders. The basic interface is com.luciad.ais.model.geoborder.ILcdGeoborder.
This interface has a default implementation com.luciad.ais.model.geoborder.TLcdGeoborder and a featured extension
com.luciad.ais.model.geoborder.TLcdFeaturedGeoborder. For a list of features and the corresponding class mappings, see
com.luciad.ais.model.geoborder.ILcdGeoborderFeature and com.luciad.ais.model.geoborder.TLcdGeoborderFeatureClassMapper.
The AIS domain object factory com.luciad.ais.model.ALcdAISObjectFactory is extended with two methods to create
TLcdFeaturedGeoborder instances.
ImprovementAviation Standards
The interface com.luciad.ais.shape.ILcdGeoPathLeg is extended with a new leg type SUB_POINT_LIST. This leg
type can be used to create geopath segments containing a subset of a pointlist, for example a geographical border.
The subset is automatically determined in the context of a geopath: it consists of the points lying between the points
that are repectively closest to the previous and the next geopath vertex.
As a geographical border segment is often used in the context of airspaces, a new memory-efficient
implementation of com.luciad.ais.model.airspace.ILcdEditableAirspaceSegment with SUB_POINT_LIST as leg type
is introduced (com.luciad.ais.model.airspace.TLcdSubPointlistAirspaceSegment). This implementation uses
a shared pointlist instead of copying the data like the default implementation com.luciad.ais.model.airspace.TLcdAirspaceSegment.
5.0
5.0.05
Bug fixAviation Standards
The default (selection) color in the airspace painter com.luciad.ais.symbology.icao.TLcdICAOAirspacePainter
can now be customized: the (selection) color of the line style (see method setLineStyle()) will be used as default
(selection) color when an airspace has no classification or when no specific classification - color match can be retrieved.
5.0
ImprovementAviation Standards
ARINC has been separated from the AIS package. For changes and bug fixes
prior to LuciadMap 4.4,please refer to
releaseNotes_Ais.html.
ImprovementAviation Standards
DAFIF has been separated from the AIS package. For changes and bug fixes
prior to LuciadMap 4.4, please refer to
releaseNotes_Ais.html.
ImprovementAviation Standards
The bandwidth parameter in the method setBandWidth() in com.luciad.ais.symbology.icao.TLcdICAOAirspacePainter must
now be specified in meters.
ImprovementAviation Standards
4.3
4.3.09
ImprovementAviation Standards
Improved robustness and error handling of TLcdProcedureGeometryCalculator.
4.3.04
ImprovementAviation Standards
Changes to DAFIF data preparator:
- Added switch to disable output of bounds files.
- Changed buffer sizes to improve read/write performance.
- Added status listener mechanism with some basic progress messages.
ImprovementAviation Standards
The 3D procedure geometry calculator now also climbs during the transitions
between two legs (i.e. during turns).
4.3.03
ImprovementAviation Standards
Improved the robustness of the DAFIF decoders when searching through
auxiliary models (e.g. navaids).
ImprovementAviation Standards
The DAFIF decoders now support the "WGX" datum.
4.3.01
ImprovementAviation Standards
The default DAFIF and ARINC layer factories now support configuration of
airspace and procedure layers.
4.3
ImprovementAviation Standards
Changes to the API parts that were previously available from AIS. These should have been rarely used
in applications using ARINC or DAFIF decoders, as they were undocumented. If they were used explicitly
in an application, the changes may not be compatible with that application.
- com.luciad.ais.symbology.TLcdAISDefaultPointPainterSymbolProvider is now a standard ILcdObjectIconProvider. Support for separate
selection or snap icons has been removed. This can be implemented by using
separate instances of TLcdAISDefaultPointPainterSymbolProvider with different colors.
- ILcdDomainFactory has been renamed and made into an abstract class ALcdAISDomainObjectFactory.
ImprovementAviation Standards
Changes to the DAFIF decoder:
- Support for object filtering is added. The filter is applied before objects are added to the decoded model. Documentation
and sample code for filtering has been added.
- A TLcdDAFIFProcedureDecoder and TLcdDAFIFIndependentProcedureDecoder was added that decodes procedures from an DAFIF file.
- Next to the TLcdDAFIFDefaultLayerFactory, a TLcdDAFIFLayerConfiguration class was added. It follows the same idea of specifying
a number of style properties for DAFIF data, but can apply them on an
exisiting layer.
ImprovementAviation Standards
Changes to the ARINC decoder:
- Support for object filtering is added. The filter is applied before objects are added to the decoded model. Documentation
and sample code for filtering has been added.
- A TLcdARINCProcedureHandler was added that decodes procedures from an ARINC file.
- Next to the TLcdARINCDefaultLayerFactory, a TLcdARINCLayerConfiguration class was added. It follows the same idea of specifying
a number of style properties for ARINC data, but can apply them on an exisiting layer.
- ILcdARINCHandler has support for accumulating error messages through the newModel method.
ImprovementAviation Standards
Support for Terminal Procedures (based on ARINC 424 version 15), including SID, STAR and IAP, is added
to AIS.
ImprovementAviation Standards
The ARINC and DAFIF decoders are part of the AIS optional module. There are no separate zip files
and developer guides for ARINC or DAFIF. These are replaced by a single zip file containing AIS and
a single AIS_DeveloperGuide.pdf.
ImprovementAviation Standards
The API for AIS is opened up in 4.3. This means that all classes for domain objects, shapes, painters
etc. used in AIS are now available in the API. Previous releases only provided a stripped down API
for DAFIF (from 4.0) and ARINC (from 4.2) decoders. The availability of the full AIS API enables a
more flexible use of DAFIF and ARINC data (e.g. writing custom label painters), and allows
the development of AIS based applications that easily show aeronautical data on maps.