2022.1.03

Bug fixLuciadRIA

RIA-4251
Fixed an issue where shapes drawn in postRender on top of transparent components of the map would not display.

Bug fixLuciadRIA

RIA-4252
Fixed an issue where the 'original' shape would remain visible while editing a shape (in some cases). This only occurred when the EditController was activated before the feature/shape was processed by the layer. For example, when immediately activating an EditController after adding the layer to the map.

Bug fixLuciadRIA

RIA-4250
Fixed an issue with black flickering on a WebGLMap that has a TileSet3DLayer, a "PostRender" event listener and an active EditController.

Bug fixLuciadRIA

RIA-3929
Fixed an issue where attributes containing the characters '+' or '-' in Color Expressions would interfere with expression evaluation.

Bug fixLuciadRIA

RIA-4083
Fixed an issue where compressed textures in 3D tile sets were sometimes not recognized properly.

2022.1

2022.1.02

ImprovementLuciadRIA

RIA-4009

LuciadRIA now contains a sample that illustrates how to handle IFC datasets. The geometry is loaded as OGC 3D Tiles, the metadata information is loaded via a GeoJSON dataset. The sample shows how to combine geometry and metadata into a single application.

IFC sample application
Screenshot of the IFC sample application.

Bug fixLuciadRIA

RIA-4213
Detection of modifiers (ctrl alt shift) for touch events. Users equipped with a keyboard and touchscreen can now press shift and touch the screen to select multiple features.

Bug fixDefense Symbology

RIA-4229
Corrected the jet stream symbol for the APP_6A, APP_6B, APP_6D symbologies.
APP-6A APP-6B APP-6C Jet stream
The corrected symbol for the APP-6A, APP-6B and APP-6C Jetstream symbols.

Bug fixDefense Symbology

RIA-4227
Changed the default label position from "EAST" to "CENTER" for all symbols where the location is not predefined (all freeform/polygon shaped tactical graphics), for all supported symbologies (MIL_STD_2525b, MIL_STD_2525c, MIL_STD_2525d, APP_6A, APP_6B, APP_6C, APP_6D) to closer follow the specifications. You can override this default by means of the MilSymStyle.labelPosition property.

Bug fixDefense Symbology

RIA-4225
Corrected the icons for the APP-6A and APP-6B Thunderstorm symbols W*A*ST----***** and W*A*STR---*****.
APP-6A APP-6B Thunderstorm
The corrected icons for the APP-6A and APP-6B Thunderstorm symbols.

Bug fixDefense Symbology

RIA-4099
Fixed the definition for MIL-STD-2525d and APP-6D Linear Targets symbols, which, according to the specification, require "exactly" two anchor points in stead of "at least" two.

2022.1.01

ImprovementLuciadRIA

The Geodesy.distance3D method now also accepts a LineType parameter. This means that it can now also be used for rhumb lines.

Bug fixLuciadRIA

RIA-1564
Improved performance of the clustering process when features are attributed to a classification definition that does not request clustering (noClustering = true).

Bug fixLuciadRIA

RIA-4221
Prevented the non-hardware accelerated Map from importing Photon code, which caused issues on machines without WebGL support.

Bug fixLuciadRIA

RIA-3900
Fixed issue on M1 Macs for Safari where positioning of 3D data would be jittery.

Bug fixLuciadRIA

RIA-4217
Fixed a bug where not defining a SEPainterCreateOptions.DrapeTarget led by default to draping on terrain. Now the default DrapeTarget is undefined, which means that if the shape has zero Z, it will be draped on terrain and if it has non-zero Z, it will not be draped.

Bug fixLuciadRIA

RIA-4216
KMLCodec decodes KML 'Polygon' geometry without inner boundaries to RIA Polygon, instead of to RIA ComplexPolygon.

Bug fixLuciadRIA

RIA-4209
Fixed an issue where using map.effects.eyeDomeLighting in combination with map.effects.environmentMap 's skybox could produce some visual artifacts.

Bug fixLuciadRIA

RIA-4172
Fixed an issue in symbology encoding to correct visualisation in Firefox when using svg inline content without width and height attributes.

Bug fixLuciadRIA

RIA-4173
The Geodesy.distance3D method didn't return correct results when using a geodetic reference.

2022.1

New featureLuciadRIA

LuciadRIA now supports draping of 2D raster and vector data on OGC 3D Tiles data. You can use the new DrapeTarget enumeration on objects such as a ShapeStyle, IconStyle and RasterStyle to indicate whether the data needs to be draped on 3D Tiles and/or on terrain. You can also choose which 3D Tiles layers need to be taken into account for draping by means of a new isDrapeTarget flag on TileSet3DLayer. The use of this API is demonstrated in the "OGC 3D Tiles" sample, which has been extended with a walking tour draped on top of the Marseille 3D tiles mesh data. For more information, see the Draping on 3D Tiles article.

Draping of vector data on an OGC 3D Tiles layer
An area of interest that is draped on an OGC 3D Tiles layer with a city model.

New featureLuciadRIA

To strive for specification completeness for OGC Symbology Encoding, LuciadRIA now supports:
  • For point symbolizers:
    • The use of SVG images through the icon provider.
    • The use of UOM-aware stroke widths for marks.
  • For line symbolizers:
    • The use of line joins (mitre, round or bevel) and line caps (butt, round or square) in strokes.
    • The combination of a stroke with a graphic stroke (dash-array, graphic rotation).
    • The use of displacement and anchor points for the graphics in a graphic stroke.
    • The use of perpendicular offset without gaps or overlaps at the line joins.
    • The use of UOM-aware graphic fill for strokes.
  • For polygon symbolizers:
    • The use of the same improved stroke support as for line symbolizers.
    • The use of UOM-aware graphic fills.
    • The use of UOM-aware displacement.
    • The use of UOM-aware perpendicular offset.

For a complete overview of the supported SLD styling capabilities, see the SLD styling - Supported versions and capabilities article.

Showcase the use of newly supported features.
A park area from the OGC Symbology Encoding sample, combining several of the line and polygon styling improvements. A first polygon symbolizer uses a black fill with a displacement to apply a shadow effect. A second polygon symbolizer defines the park area’s fill and outer stroke, which is a combination of a dashed stroke and an icon with a shifted anchor point. A third polygon symbolizer with a negative perpendicular offset is used to draw the smaller green area on top.

New featureLuciadRIA

LuciadRIA now has API to customize creation and editing behavior. The new Editor and EditHandle classes give fine-grained access to the way how features or shapes should be edited and created. Users can implement their own editor or extend from one of the many out-of-the-box implementations available for LuciadRIA's shape types. The use of this API is demonstrated in the "Create and Edit" sample, which has been extended with a few common custom creation and editing use cases. Read the Customizing creation and editing guide to get started.
Custom arrow shape editor
Editing of a custom arrow shape, including helper lines and custom labels that show the arrow width.

New featureLuciadRIA

LuciadRIA now has API to work with mouse cursors on the Map. See Map.cursorManager, Controller.cursor and the Implementing custom user interaction guide for more details.

New featureLuciadRIA

RIA-3611, RIA-3561
LuciadRIA's default map behavior is now exposed in the API through the following controllers: These controllers have hooks that you can override in order to tweak the default map behavior. For more information, see the Customizing the default map behavior tutorial.

New featureLuciadRIA

LuciadRIA now supports undo/redo through the newly introduced Undoable and UndoManager API. The use of this API is demonstrated in the samples that focus on creation and editing, such as the "Create and Edit" sample. See Adding undo/redo support to your application for more information.

New featureLuciadRIA

You can now add bloom to shapes. Bloom is a glow effect that you can use to make shapes appear very bright, and draw focus to them.

Bloom vs. no bloom
Airspaces in the Trajectory sample with Bloom enabled (left) and bloom disabled (right).

For more information, see BloomStyle and BloomEffect. You can also read the "Bloom effect" section in Configuring WebGL Map effects.

New featureDefense Symbology

You can now define a BloomStyle for your military symbology layers on WebGL maps. To do so, you set a bloom: BloomStyle in your MilSymStyle when creating a MilitarySymbologyPainter. You can choose to apply the style to a certain PaintState only.

ImprovementLuciadRIA

RIA-4125
LuciadRIA now supports the PropertyExists function of the OGC filter encoding standard. You can for example use this function in an SLD style to skip painting labels for non-existing properties in your dataset (instead of painting them as "undefined").

ImprovementLuciadRIA

RIA-4102
LuciadRIA now supports HSPC datasets with a reference expressed in WKT (projection-wkt property). Before, only HSPC references expressed with an EPSG code (projection-epsg property) were supported.

ImprovementLuciadRIA

The performance of visualizing many points with the same 3D icon has been significantly improved. An example scenario is visualizing many trees with the same tree 3D icon.

ImprovementLuciadRIA

RIA-3959, RIA-3354
You can now chain multiple controllers together with CompositeController. This was already available in sample code, but has been promoted to API.

ImprovementLuciadRIA

The SLD implementation now supports adding a box around a label. Using an SLD text symbolizer, you can configure the fill and stroke of the box, as well as the desired padding between the box and the label. The article How to draw a box around labels illustrates the addition of a label box with an example.

Bug fixLuciadRIA

RIA-3933
FeaturePainter: when a shape with the same geometry but a different reference (e.g. topocentric with different origin) was submitted for drawing, it was not visually updated on the map.

Upgrade considerationLuciadRIA

EditController has 2 new events: "Restarted" and "EditShape". If you extended EditController and you added extra events, you'll have to update your EditController extension to account for these extra events.

Upgrade considerationLuciadRIA

RIA-3777
Feature, Store and Codec implementations are now type guarded with generics. Please refer to the TSDoc for more details. If the inferred type is too restrictive, force a more generic type.

      // Let TS compiler know that feature's shape is a point and its properties can contain the population field.
      interface CityProperties { name: string; population?: number};
      const cityFeature = new Feature<Point, CityProperties>(point, { name: 'Leuven'});
      // Let TS compiler know that the store can accept features with a polyline or a polygon shape and any properties.
      const store = new MemoryStore<Feature<Polyline | Polygon, FeatureProperties>>(data: [polylineFeature]);
    

Upgrade considerationLuciadRIA

CreateController.onObjectCreated now has a return type of void | Promise<void>. This reflects the actual implementation. The old boolean return value was already ignored.

Upgrade considerationLuciadRIA

The layer of a CreateController and EditController is now typed more accurately as FeatureLayer instead of Layer.

Upgrade considerationLuciadRIA

The following third party libraries have been updated:
  • libcurl: updated to version 7.86.0
  • openssl: updated to version 1.1.1s
  • zlib: updated to version 1.2.13

Upgrade considerationLuciadRIA

A dependency to the ms-gsl library version 3.1.0 has been added. This library is used in internal code. No code changes are needed.