2021.1.08

ImprovementLuciadRIA

LCD-12276
WKT now supported strings that contain a "Local" projection parameter, which corresponds to an orthographic projection.

Bug fixLuciadRIA

RIA-3923
Fixed an issue where a text cursor would be shown when the mouse is over a label.

Bug fixLuciadRIA

RIA-3932
In TileSet3DLayer, we now identify mimetype image/jpg as JPEG. Previously, this was limited to image/jpeg, but now both forms are accepted.

Bug fixLuciadRIA

RIA-3930
Fixed a case where a change in zOrder on ShapeStyle wasn't picked up on a WebGLMap.

2021.1

2021.1.07

Bug fixLuciadRIA

RIA-3920
Fixed an issue where LayerGroup.whenReady() was timing out when one of its children nodes was a hidden layer, that is a layer with visible state set to false.

Bug fixLuciadRIA

RIA-3916
Fixed an issue where mouse event listeners attached to labels would not be triggered on a WebGLMap.

Bug fixLuciadRIA

RIA-3914
Some Point Clouds were invisible if the camera was not sufficiently close. They are now displayed at any zoom level.

2021.1.06

ImprovementLuciadRIA

RIA-3901
The hovering functionality on the KMLLayer is enabled by default only when the underlying KML data defines highlight styles for features. Before the change, the KMLLayer turned on the hoverable state by default, which resulted in a needless performance penalty.

ImprovementLuciadRIA

RIA-3891
Improved performance of computing clusters - only these features that are visible in the current view extend or are in the vicinity of the visible area are subject to clustering transformation. Before this improvement all features in the model were clustered, even if they were far away from the visible part of the map.

ImprovementLuciadRIA

RIA-3910
You can now create Polar Stereographic references with an increased extent. The extent is how far the projection extends outwards from the poles, in degrees latitude. For example, you can use this to show data located on the south hemisphere, on a map with a north polar stereographic projection. See ReferenceProvider's parseWellKnownText and ReferenceOptions.polarStereographicLatitudeExtent for more details.

ImprovementLuciadRIA

RIA-3890
You can now disable "freehand" creation CreateController by setting CreateControllerConstructorOptions.freehand to false.

Bug fixLuciadRIA

RIA-3898
Fixed an issue in GMLCodec where a MultiGeometry (MultiCurve, MultiPoint, MultiPolygon, or MultiSurface) with multiple member elements was decoded to RIA ShapeList with a single member only. Now such a GML geometry is properly decoded to the ShapeList with all child members.

Bug fixLuciadRIA

RIA-3897
Fixed an issue in GMLCodec where a PolygonPatch with many interior rings was decoded to RIA ComplexPolygon with a single interior shape only. Now such a GML geometry is properly decoded to the ComplexPolygon with many holes.

Bug fixLuciadRIA

RIA-3571
WKT references didn't always correctly take a non-zero prime meridian and a different angular unit into account. This could result in:
  • an incorrect prime meridian shift
  • a prime meridian shift that was applied twice
  • incorrect projection parameters

Bug fixLuciadRIA

RIA-3902
WKT references using the mercator projection with a non-zero central meridian were parsed incorrectly. They always ended up with a zero central meridian.

Bug fixLuciadRIA

RIA-3895
Fixed cases where 3D Tiles and Point Clouds were displayed with less details than expected.

Bug fixLuciadRIA

RIA-3894
Fix an issue where, in some cases, 3D tiles data were loaded but never released from memory. This would impact framerate and memory usage.

Bug fixDefense Symbology

RIA-3903
Fixed an issue where Chrome throws ERR_INSUFFICIENT_RESOURCES when the queue of requests to the symbology service is too long.

2021.1.05

ImprovementLuciadRIA

RIA-3862
Introduced the adjustDepthRange property on WebGLMap. This allows you to specify whether the distance to the near and far planes of the map's camera should automatically adjust when the camera or terrain gets updated.

Bug fixLuciadRIA

RIA-3880
Fixed an issue with drawing shapes filled with hatched patterns on the non-hardware accelerated Map. The fill visualization for such shapes blinks on selection or can even disappear completely. Military Symbology tactical symbols with hatched patterns were affected by this issue.

Bug fixDefense Symbology

RIA-3887
Fixed an issue where bad requests to the symbology service triggered an infinite loop of repeating requests.

2021.1.04

ImprovementDefense Symbology

RIA-3877
Added the possibility to define the max ratio for the length of the movement direction arrow with respect to the size of an icon.

Bug fixLuciadRIA

RIA-3878
Fixed an issue where an error was thrown when map.mapNavigator.zoom was called immediately after creating a 2D WebGLMap.

Bug fixLuciadRIA

RIA-3871
A few references are defined using axes that point west and south, instead of the usual east and north:
  • EPSG:2065
  • EPSG:5513
  • EPSG:8352
The coordinates of these references are now correctly interpreted and transformed.

Bug fixLuciadRIA

RIA-2906
Encoding Polygon shapes with GeoJsonCodec will never duplicate the last point. Before the fix the closing point could be encoded twice.

Bug fixLuciadRIA

RIA-3780
The KMLLayer now prevents drawing lines that are styled with the width property set to 0 in KML data. Before the fix attempts to draw such lines caused GL errors being logged on the console.

Bug fixLuciadRIA

RIA-3799
Fixed a regression issue introduced by the RIA-992 enhancement. Now, as before RIA-992 implementation, a Point that is passed to ShapeFactory.createPolyline() or ShapeFactory.createPolygon() is cloned. That way, if the same point is used to create different Polyline and Polygon shapes, then its subsequent mutations will not affect these shapes. Before this fix these shapes were affected. Note: for performance reason, please favor passing a collection of PointCoordinates into ShapeFactory.createPolyline() and ShapeFactory.createPolygon().

Bug fixLuciadRIA

RIA-1891
The UrlStore now also applies requestParameters in query(). Before this fix you could pass requestParameters to the constructor, but they were not applied. You can now also alter requestParameters at runtime.

Bug fixDefense Symbology

RIA-3874
Fixed an issue where icons were no longer fetched from the symbology service after a wrong query.

2021.1.03

ImprovementLuciadRIA

RIA-3847
You can now plug into the GMLCodec a feature ID provider to generate consistent IDs for features that do not contain IDs in the decoded data. For more information please consult GMLCodecConstructorOptions.idProvider API.

ImprovementDefense Symbology

RIA-3840
The movement direction and speed modifiers configuration has been changed for a number of symbols hierarchies to make them more consistent with the other hierarchies. The movementDirection modifier was added to the following symbol hierarchies:
  • MIL-STD-2525D: 01 - Air
  • MIL-STD-2525D: 02 - Air Missile
  • MIL-STD-2525D: 05 - Space
  • MIL-STD-2525D: 06 - Space Missile
  • MIL-STD-2525D: 30 - Sea Surface
  • MIL-STD-2525D: 35 - Sea Subsurface
  • APP-6C: 01 - Air
  • APP-6C: 02 - Air Missile
  • APP-6C: 05 - Space
  • APP-6C: 06 - Space Missile
  • APP-6C: 30 - Sea Surface
  • APP-6C: 35 - Sea Subsurface
The speedLabel modifier was added to the following symbol hierarchies:
  • MIL-STD-2525D: 35 - Sea Subsurface
  • APP-6C: 01 - Air
  • APP-6C: 02 - Air Missile
  • APP-6C: 05 - Space
  • APP-6C: 06 - Space Missile
  • APP-6C: 30 - Sea Surface
  • APP-6C: 35 - Sea Subsurface
The movementDirection modifier was removed from the following symbol hierarchies:
  • MIL-STD-2525D: 20 - Land Installations
  • APP-6C: 20 - Land Installations
  • APP-6D: 11 - Land Civilian Organization
  • APP-6D: 20 - Land Installation
  • APP-6D: 25 - Control Measure
The speedLabel modifier was removed from the following symbol hierarchies:
  • MIL-STD-2525D: 20 - Land Installations
  • APP-6C: 20 - Land Installations
  • APP-6D: 11 - Land Civilian Organization

ImprovementDefense Symbology

RIA-3806
The MilitarySymbologyPainter exposes some new style properties that can be used to affect the way icons are visualised:
  • MilSymStyle.symbolIcon defaults to true.
  • MilSymStyle.symbolFrameEnabled defaults to true.
  • MilSymStyle.symbolFill defaults to true.
  • MilSymStyle.symbolFillPercentage defaults to 1,0.
  • MilSymStyle.affiliationColorEnabled defaults to true.
. The effect of changing these style properties can be seen in the image below.
Image showing the effect of the new style properties on an icon.
Image showing the effect of the new style properties on an icon.

Bug fixLuciadRIA

RIA-3255
SEPainterFactory: the painter did not always respect the order of drawing as defined in a Symbology Encoding file on a WebGLMap.

Bug fixLuciadRIA

RIA-3793
LayerGroup now checks for unique layer tree node IDs in canAddChild and throws an error when children with overlapping IDs are added with addChild. This was previously not enforced but could lead to unexpected problems.

Bug fixLuciadRIA

RIA-3827
Fixed an issue where LoadEverything strategy rejects loading data on changing map scale levels. This situation can happen when the load everything strategy uses QueryProvider that defines multiple query level configurations, of which one returns the null query object. This query object means that the model should be queried for all data.

Bug fixDefense Symbology

RIA-3841
Fixed an issue where the selection rectangle for an icon was no longer aligned with the icon in a 3D view.

2021.1.02

ImprovementLuciadRIA

RIA-3783
Added support for 16-bits RGB colors in HSPC point clouds.

ImprovementLuciadRIA

RIA-3832
ParameterizedPointPainter: a small performance improvement was done to reduce the loading time of a large set of points using the same styling.

2021.1.01

Bug fixLuciadRIA

RIA-3765
MeshStyle: When a displacement expression was set with a parameter that was not a vector, an error would be thrown.

Bug fixLuciadRIA

RIA-3524
Parts of the terrain were missing when pitching the camera if the map in krovak projection was displayed in 3D without any elevation.

Bug fixLuciadRIA

RIA-3764
FeaturePainter: the type of the density property was wrong. To configure the density you need to set an object literal with a ColorMap, this is now reflected in the TypeScript typing correctly.

Bug fixLuciadRIA

RIA-3808
Implemented a workaround for an issue with WebGLMap on Chrome 95 on Windows. The WebGLMap would crash frequently, with 'WebGL context lost' errors being logged on the console. See https://bugs.chromium.org/p/chromium/issues/detail?id=1272238 for details.

Bug fixLuciadRIA

RIA-3804
Fixed issue where the default hovering behavior would not mark the features that would be selected when clicking on the same position if the features were in the same layer and overlap.

2021.1

New featureLuciadRIA

It is now possible to connect to HERE Maps and use its data in your LuciadRIA application. A new class @luciad/ria/model/tileset/HereMapsTileSetModel allows to create a model for the desired HERE data, which can then be added to a LuciadRIA map using a RasterTileSetLayer. Different HERE maps showing aerial imagery, roads and traffic data.

New featureLuciadRIA

Introduced an environment map effect on GraphicsEffects. This allows you to visualize an environment map to improve the realism of your scenes.

New featureLuciadRIA

Introduced the PBRSettings property on Icon3DStyle and MeshStyle. This allows the use of the PBR material information in glTF files to visualize objects in a more realistic, physically based way.

An industry plant CAD model visualized with PBR.

New featureLuciadRIA

The LuciadRIA Symbology Encoding implementation now also supports world-sized TextSymbolizers as specified in the OpenGIS Symbology Encoding specification version 1.1.0 (OGC 05-077r4). These TextSymbolizers have a uom in meters or feet. The use of a world-sized TextSymbolizer is illustrated in the Symbology Encoding sample for large cities and roads.

New featureLuciadRIA

RIA-3719
LuciadRIA can now load glTF files that reference WebP compressed textures. This applies to glTF files used via Icon3DStyle and OGC 3D Tiles.

New featureLuciadRIA

RIA-3698
LuciadRIA can now load glTF files that are compressed using Draco. This applies to glTF files used via Icon3DStyle and OGC 3D Tiles.

ImprovementLuciadRIA

RIA-3805
LuciadRIA's HSPC (Hexagon Smart Point Cloud) support was updated to version 22, produced by mHSPCConverter version 2021.10. See HSPCTilesModel for details.

ImprovementLuciadRIA

The LuciadRIA samples have been updated to use React for the UI components. An explanation of the new structure of the sample code can be found in the Editing, building and running the sample code how-to article. Note that LuciadRIA does not require the use of React; it can be combined with any UI library that you prefer to use in your application.

ImprovementLuciadRIA

The glTF format support in Icon3DStyle has been extended:
  • it can now handle glTF files with multiple textures; previously, only the first encountered texture was used for visualization,
  • the texture wrapping is now also parsed and used for visualization.

ImprovementLuciadRIA

Added createTranslationTransformation and createRotationTransformation to Affine3DTransformation to have additional building blocks to position and orient a non-referenced dataset.

ImprovementLuciadRIA

Added createTopocentricReference to ReferenceProvider for creating topocentric references, which are local, georeferenced, cartesian coordinate references. Topocentric references are supported by the TransformationFactory as well, allowing conversions between topocentric and any other spatial references.

ImprovementLuciadRIA

WebGLMap now emits events named "PostRender". The callback on this event hook gets called every frame, after the LuciadRIA layers have been rendered, and gets the WebGL rendering context as a parameter. This allows you to add externally rendered graphics to a LuciadRIA map.

ImprovementLuciadRIA

It is now possible to create an oriented box with ShapeFactory.createOrientedBox.

ImprovementLuciadRIA

addSelection from @luciad/ria/view/feature/FeaturePainterUtil now supports selection styling of ComplexStrokedLineStyle and text with a halo set.

ImprovementLuciadRIA

RIA-3734
To ease connecting to OpenStreetMap tile services, a new how-to article has been added as well as an extension to the Data Formats sample to show this in practice.

ImprovementLuciadRIA

Symbology Encoding: Added an IconProvider to the SEPainterFactory factory methods. This IconProvider allows mapping ExternalGraphics elements onto icon images or URL's.

ImprovementLuciadRIA

Symbology Encoding: Added support for the vendor option named "conflictResolution". Setting this option to 'false' in a TextSymbolizer will disable decluttering for those labels. The default value for this vendor option can be adjusted in the SEPainterCreateOptions.

ImprovementLuciadRIA

Symbology Encoding: For TextSymbolizers which explicitly declare a PointPlacement, LuciadRIA will now apply this placement strictly, meaning that it will no longer move the label around when it would otherwise fall outside of the view. Additionally, the rotation tag in this PointPlacement is now supported as well.

Bug fixLuciadRIA

RIA-3597
Fixed an issue in Symbology Encoding regarding the Graphic element. If a size is specified, the height of the graphic will be scaled to that size and the corresponding aspect ratio will be used to determine the width.

Bug fixLuciadRIA

Fixed an issue where non-WebGLMaps would not resize correctly when used in a CSS flex layout.

Bug fixLuciadRIA

RIA-3778
Fixed issue where the FlickerController ended up in a broken state when a click event happened before first configuring which layers to flicker between.

Bug fixLuciadRIA

RIA-3774
Fixed an issue where GestureEventType.TWO_FINGER_DRAG touch events are only recognized if the touch movement starts with a vertical movement.

Bug fixLuciadRIA

RIA-3772
The FeatureModel now also implements the Model interface.

Bug fixLuciadRIA

Fixed parsing of WFS feature type keywords from a WFS 2.0.0 capabilities document.

Upgrade considerationLuciadRIA

TileSet3DLayer: the default loading strategy is now TileLoadingStrategy.OVERVIEW_FIRST. This change was done as this strategy typically yields a better user experience. You can restore the old default by setting TileSet3DLayer.loadingStrategy to TileLoadingStrategy.DETAIL_FIRST.

Upgrade considerationLuciadRIA

LuciadRIA now uses the stb library. This new dependency requires no code changes.

Upgrade considerationLuciadRIA

RIA-3715
LuciadRIA now uses the libwebp library. This new dependency requires no code changes.

Upgrade considerationLuciadRIA

RIA-3711
LuciadRIA now uses the Draco library. This new dependency requires no code changes.